def scxml4py.executor.Executor.__init__ |
( |
|
self, |
|
|
|
theStateMachine, |
|
|
|
theContext, |
|
|
|
externalEventQueue = None , |
|
|
|
internalEventQueue = None |
|
) |
| |
def scxml4py.executor.Executor.__init__ |
( |
|
self, |
|
|
|
theStateMachine, |
|
|
|
theContext, |
|
|
|
externalEventQueue = None , |
|
|
|
internalEventQueue = None |
|
) |
| |
def scxml4py.executor.Executor.addEventListener |
( |
|
self, |
|
|
|
eventListener |
|
) |
| |
def scxml4py.executor.Executor.addEventListener |
( |
|
self, |
|
|
|
eventListener |
|
) |
| |
def scxml4py.executor.Executor.addStatesToEnter |
( |
|
self, |
|
|
|
s, |
|
|
|
root, |
|
|
|
statesToEnter, |
|
|
|
statesForDefaultEntry |
|
) |
| |
def scxml4py.executor.Executor.addStatesToEnter |
( |
|
self, |
|
|
|
s, |
|
|
|
root, |
|
|
|
statesToEnter, |
|
|
|
statesForDefaultEntry |
|
) |
| |
def scxml4py.executor.Executor.addStatusListener |
( |
|
self, |
|
|
|
statusListener |
|
) |
| |
def scxml4py.executor.Executor.addStatusListener |
( |
|
self, |
|
|
|
statusListener |
|
) |
| |
def scxml4py.executor.Executor.enterStates |
( |
|
self, |
|
|
|
enabledTransitions |
|
) |
| |
def scxml4py.executor.Executor.enterStates |
( |
|
self, |
|
|
|
enabledTransitions |
|
) |
| |
def scxml4py.executor.Executor.executeTransitionContent |
( |
|
self, |
|
|
|
enabledTransitions |
|
) |
| |
def scxml4py.executor.Executor.executeTransitionContent |
( |
|
self, |
|
|
|
enabledTransitions |
|
) |
| |
def scxml4py.executor.Executor.exitInterpreter |
( |
|
self | ) |
|
def scxml4py.executor.Executor.exitInterpreter |
( |
|
self | ) |
|
def scxml4py.executor.Executor.exitStates |
( |
|
self, |
|
|
|
enabledTransitions |
|
) |
| |
Create an empty statesToExit set.
For each transition t in enabledTransitions, if t is targetLess then do nothing,
else let LCA be the least common ancestor state of the source state and target states of t.
Add to the statesToExit set all states in the configuration that are descendants of LCA.
Convert the statesToExit set to a list and sort it in exitOrder.
For each state s in the list, if s has a deep history state h, set the history value
of h to be the list of all atomic descendants of s that are members in the current
configuration, else set its value to be the list of all immediate children of s that
are members of the current configuration.
Again for each state s in the list, first execute any onExit handlers, then cancel any
ongoing invocations, and finally remove s from the current configuration.
procedure exitStates(enabledTransitions):
statesToExit = new Set()
for t in enabledTransitions:
if (t.attribute('target') != null):
LCA = findLCA([t.parent()].append(getTargetStates(t)))
for s in configuration.toList():
if (isDescendant(s,LCA)):
statesToExit.add(s)
statesToExit = statesToExit.toList().sort(exitOrder)
for s in statesToExit:
for h in s.history:
f = (h.attribute('type') == "deep") ?
lambda isAtomicState(s0) && isDescendant(s0,s) : lambda s0.parent() == s historyValue[h.attribute('id')] = configuration.toList().filter(f) for s in statesToExit: for content in s.onexit: executeContent(content) for inv in s.invoke: cancelInvoke(inv) configuration.delete(s)
def scxml4py.executor.Executor.exitStates |
( |
|
self, |
|
|
|
enabledTransitions |
|
) |
| |
Create an empty statesToExit set.
For each transition t in enabledTransitions, if t is targetLess then do nothing,
else let LCA be the least common ancestor state of the source state and target states of t.
Add to the statesToExit set all states in the configuration that are descendants of LCA.
Convert the statesToExit set to a list and sort it in exitOrder.
For each state s in the list, if s has a deep history state h, set the history value
of h to be the list of all atomic descendants of s that are members in the current
configuration, else set its value to be the list of all immediate children of s that
are members of the current configuration.
Again for each state s in the list, first execute any onExit handlers, then cancel any
ongoing invocations, and finally remove s from the current configuration.
procedure exitStates(enabledTransitions):
statesToExit = new Set()
for t in enabledTransitions:
if (t.attribute('target') != null):
LCA = findLCA([t.parent()].append(getTargetStates(t)))
for s in configuration.toList():
if (isDescendant(s,LCA)):
statesToExit.add(s)
statesToExit = statesToExit.toList().sort(exitOrder)
for s in statesToExit:
for h in s.history:
f = (h.attribute('type') == "deep") ?
lambda isAtomicState(s0) && isDescendant(s0,s) : lambda s0.parent() == s historyValue[h.attribute('id')] = configuration.toList().filter(f) for s in statesToExit: for content in s.onexit: executeContent(content) for inv in s.invoke: cancelInvoke(inv) configuration.delete(s)
def scxml4py.executor.Executor.getContext |
( |
|
self | ) |
|
def scxml4py.executor.Executor.getContext |
( |
|
self | ) |
|
def scxml4py.executor.Executor.getEventHandlingPolicy |
( |
|
self | ) |
|
def scxml4py.executor.Executor.getEventHandlingPolicy |
( |
|
self | ) |
|
def scxml4py.executor.Executor.getModel |
( |
|
self | ) |
|
def scxml4py.executor.Executor.getModel |
( |
|
self | ) |
|
def scxml4py.executor.Executor.getStatus |
( |
|
self | ) |
|
def scxml4py.executor.Executor.getStatus |
( |
|
self | ) |
|
def scxml4py.executor.Executor.isEventProcessable |
( |
|
self, |
|
|
|
e |
|
) |
| |
def scxml4py.executor.Executor.isEventProcessable |
( |
|
self, |
|
|
|
e |
|
) |
| |
def scxml4py.executor.Executor.isFinal |
( |
|
self | ) |
|
def scxml4py.executor.Executor.isFinal |
( |
|
self | ) |
|
def scxml4py.executor.Executor.isRunning |
( |
|
self | ) |
|
def scxml4py.executor.Executor.isRunning |
( |
|
self | ) |
|
def scxml4py.executor.Executor.microstep |
( |
|
self, |
|
|
|
enabledTransitions |
|
) |
| |
def scxml4py.executor.Executor.microstep |
( |
|
self, |
|
|
|
enabledTransitions |
|
) |
| |
def scxml4py.executor.Executor.notifyEventListeners |
( |
|
self, |
|
|
|
theEvent |
|
) |
| |
def scxml4py.executor.Executor.notifyEventListeners |
( |
|
self, |
|
|
|
theEvent |
|
) |
| |
def scxml4py.executor.Executor.notifyStatusListeners |
( |
|
self, |
|
|
|
theStatus |
|
) |
| |
def scxml4py.executor.Executor.notifyStatusListeners |
( |
|
self, |
|
|
|
theStatus |
|
) |
| |
def scxml4py.executor.Executor.postEvent |
( |
|
self, |
|
|
|
theEvent |
|
) |
| |
def scxml4py.executor.Executor.postEvent |
( |
|
self, |
|
|
|
theEvent |
|
) |
| |
def scxml4py.executor.Executor.processEvent |
( |
|
self, |
|
|
|
theEvent |
|
) |
| |
def scxml4py.executor.Executor.processEvent |
( |
|
self, |
|
|
|
theEvent |
|
) |
| |
def scxml4py.executor.Executor.processEvents |
( |
|
self | ) |
|
def scxml4py.executor.Executor.processEvents |
( |
|
self | ) |
|
def scxml4py.executor.Executor.processInternalEvents |
( |
|
self | ) |
|
def scxml4py.executor.Executor.processInternalEvents |
( |
|
self | ) |
|
def scxml4py.executor.Executor.removeAllEventListener |
( |
|
self | ) |
|
def scxml4py.executor.Executor.removeAllEventListener |
( |
|
self | ) |
|
def scxml4py.executor.Executor.removeAllStatusListener |
( |
|
self | ) |
|
def scxml4py.executor.Executor.removeAllStatusListener |
( |
|
self | ) |
|
def scxml4py.executor.Executor.removeEventListener |
( |
|
self, |
|
|
|
eventListener |
|
) |
| |
def scxml4py.executor.Executor.removeEventListener |
( |
|
self, |
|
|
|
eventListener |
|
) |
| |
def scxml4py.executor.Executor.removeStatusListener |
( |
|
self, |
|
|
|
statusListener |
|
) |
| |
def scxml4py.executor.Executor.removeStatusListener |
( |
|
self, |
|
|
|
statusListener |
|
) |
| |
def scxml4py.executor.Executor.selectEventlessTransitions |
( |
|
self | ) |
|
def scxml4py.executor.Executor.selectEventlessTransitions |
( |
|
self | ) |
|
def scxml4py.executor.Executor.selectTransitions |
( |
|
self, |
|
|
|
e |
|
) |
| |
def scxml4py.executor.Executor.selectTransitions |
( |
|
self, |
|
|
|
e |
|
) |
| |
def scxml4py.executor.Executor.setContext |
( |
|
self, |
|
|
|
theContext |
|
) |
| |
def scxml4py.executor.Executor.setContext |
( |
|
self, |
|
|
|
theContext |
|
) |
| |
def scxml4py.executor.Executor.setEventHandlingPolicy |
( |
|
self, |
|
|
|
policy |
|
) |
| |
def scxml4py.executor.Executor.setEventHandlingPolicy |
( |
|
self, |
|
|
|
policy |
|
) |
| |
def scxml4py.executor.Executor.setModel |
( |
|
self, |
|
|
|
theStateMachine |
|
) |
| |
def scxml4py.executor.Executor.setModel |
( |
|
self, |
|
|
|
theStateMachine |
|
) |
| |
def scxml4py.executor.Executor.start |
( |
|
self | ) |
|
def scxml4py.executor.Executor.start |
( |
|
self | ) |
|
def scxml4py.executor.Executor.stop |
( |
|
self | ) |
|
def scxml4py.executor.Executor.stop |
( |
|
self | ) |
|
scxml4py.executor.Executor.mContext |
scxml4py.executor.Executor.mContinue |
scxml4py.executor.Executor.mCurrentStatus |
scxml4py.executor.Executor.mEventHandlingPolicy |
scxml4py.executor.Executor.mEventListeners |
scxml4py.executor.Executor.mExternalEvents |
scxml4py.executor.Executor.mFinal |
scxml4py.executor.Executor.mInternalEvents |
scxml4py.executor.Executor.mPreviousStatus |
scxml4py.executor.Executor.mStateMachine |
scxml4py.executor.Executor.mStatesToInvoke |
scxml4py.executor.Executor.mStatusListeners |
The documentation for this class was generated from the following files: