Public Member Functions | Private Member Functions | Private Attributes
src.airbus_ssm_core.ssm_concurrence.ssmConcurrence Class Reference

List of all members.

Public Member Functions

def __init__
def call_update_tree_view_cb
def execute
 State interface.
def get_tree_view
def register_tree_view_cb

Private Member Functions

def _create_tree_view
def _state_runner
def _tree_view_disable_state
def _tree_view_enable_state

Private Attributes

 _child_outcomes
 _datamodel
 _onEntry
 _onExit
 _threads
 _tree_view
 _tree_view_cb
 _tree_view_Lock
 _user_code_exception
 Copy the datamodel's value into the userData.

Detailed Description

Concurrence Container

This state allows for simple split-join concurrency. The user adds a set of
states which are all executed simultaneously. The concurrent split state
can only transition once all conatained states are ready to transition.

This container can be configured to return a given outcome as a function of
the outcomes of the contained states. This is specified in the constructor
of the class, or after construction with L{Concurrence.add_outcome_map}.

While a concurrence will not terminate until all if its children terminate,
it is possible for it to preempt a subset of states 
 - All child states terminate
 - At least one child state terminates
 - A user-defined callback signals termination

Given these causes of termination, the outcome can be determined in four ways:
 - A user-defined callback returns an outcome
 - A child-outcome map which requires ALL states to terminate is satisfied
 - A child-outcome map which requires ONE state to terminate is satisfied
 - No  maps are satisfied, so the default outcome is returned

The specification of the outcome maps and the outcome callback are
described in the constructor documentation below. More than one policy can
be supplied, and each policy has the potential to not be satisfied. In the
situation in which multiple policies are provided, and a given policy is
not satisfied, the outcome choice precedence is as follows:
 - Outcome callback
 - First-triggered outcome map
 - last-triggered outcome map
 - Default outcome

In practive it is best to try to accomplish your task with just ONE outcome
policy.

Definition at line 29 of file ssm_concurrence.py.


Constructor & Destructor Documentation

def src.airbus_ssm_core.ssm_concurrence.ssmConcurrence.__init__ (   self,
  outcomes,
  input_keys = [],
  output_keys = [],
  outcome_map = {},
  outcome_cb = None,
  child_termination_cb = None 
)

Definition at line 66 of file ssm_concurrence.py.


Member Function Documentation

Definition at line 284 of file ssm_concurrence.py.

Runs the states in parallel threads.

Definition at line 231 of file ssm_concurrence.py.

Definition at line 297 of file ssm_concurrence.py.

Definition at line 289 of file ssm_concurrence.py.

Definition at line 311 of file ssm_concurrence.py.

def src.airbus_ssm_core.ssm_concurrence.ssmConcurrence.execute (   self,
  parent_ud = smach.UserData() 
)

State interface.

Overridden execute method.
This starts all the threads.

Definition at line 88 of file ssm_concurrence.py.

Definition at line 305 of file ssm_concurrence.py.

Definition at line 308 of file ssm_concurrence.py.


Member Data Documentation

Definition at line 90 of file ssm_concurrence.py.

Definition at line 66 of file ssm_concurrence.py.

Definition at line 66 of file ssm_concurrence.py.

Definition at line 66 of file ssm_concurrence.py.

Definition at line 92 of file ssm_concurrence.py.

Definition at line 66 of file ssm_concurrence.py.

Definition at line 66 of file ssm_concurrence.py.

Definition at line 66 of file ssm_concurrence.py.

Copy the datamodel's value into the userData.

Do the <onentry>

Definition at line 92 of file ssm_concurrence.py.


The documentation for this class was generated from the following file:


airbus_ssm_core
Author(s): Ludovic Delval
autogenerated on Thu Jun 6 2019 17:59:28