def simUpdateVal(self, simulator, valUpdater):
dirtyFlag, newVal = valUpdater(self._oldVal)<EOL>if dirtyFlag:<EOL><INDENT>self._val = newVal<EOL>newVal.updateTime = simulator.now<EOL>log = simulator.config.logChange<EOL>if log:<EOL><INDENT>log(simulator.now, self, newVal)<EOL><DEDENT>self.simPropagateChanges(simulator)<EOL><DEDENT>
Method called by simulator to update new value for this object