|
BPMN-OS
BPMN for optimization and simulation
|
Represents a state machine for BPMN execution of a scope in the model. More...
This class manages all tokens for BPMN execution of a given scope. It also holds a state machine for each child scope instantiated.
Definition at line 29 of file StateMachine.h.
#include <StateMachine.h>
Public Member Functions | |
| StateMachine (const SystemState *systemState, const BPMN::Process *process, Values dataAttributes) | |
| StateMachine (const SystemState *systemState, const BPMN::Scope *scope, Token *parentToken, Values dataAttributes, std::optional< BPMNOS::number > instance=std::nullopt) | |
| StateMachine (const StateMachine *other) | |
| ~StateMachine () | |
| Values | getData (const BPMN::Scope *scope) |
| Tokens | getCompensationTokens (const BPMN::Activity *activity=nullptr) const |
| Returns the compensation tokens for a given activity or for all activities. | |
| void | run (Values status) |
| Create initial token and advance it. | |
Public Attributes | |
| const SystemState * | systemState |
| const BPMN::Process * | process |
| Pointer to the top-level process. | |
| const BPMN::Scope * | scope |
| Pointer to the current scope. | |
| const StateMachine * | root |
| Pointer to the root state machine. | |
| std::optional< BPMNOS::number > | instance |
| Numeric representation of instance id (TODO: can we const this?) | |
| Token * | parentToken |
| Values | ownedData |
| Container holding data attributes owned by the state machine. | |
| SharedValues | data |
| Container holding references to all data attributes. | |
| Tokens | tokens |
| Container with all tokens within the scope of the state machine. | |
| std::shared_ptr< StateMachine > | interruptingEventSubProcess |
| State machines representing an active event subprocess that is interrupting. | |
| StateMachines | nonInterruptingEventSubProcesses |
| Container with state machines of all active event subprocesses that are not interrupting. | |
| StateMachines | pendingEventSubProcesses |
| Container with state machines of all inactive event subprocesses that may be triggered. | |
| Tokens | compensationTokens |
| Container with all tokens created for a compensation activity. | |
| StateMachines | compensationEventSubProcesses |
| Container with state machines created for a compensation event subprocesses of a child subprocess. | |
| StateMachines | compensableSubProcesses |
| Container holding state machines for completed subprocesses with a compensation event subprocess and compensation tokens. | |
Friends | |
| class | Engine |
| class | SystemState |
| class | Token |
| StateMachine::StateMachine | ( | const SystemState * | systemState, |
| const BPMN::Process * | process, | ||
| Values | dataAttributes ) |
Definition at line 16 of file StateMachine.cpp.
| StateMachine::StateMachine | ( | const SystemState * | systemState, |
| const BPMN::Scope * | scope, | ||
| Token * | parentToken, | ||
| Values | dataAttributes, | ||
| std::optional< BPMNOS::number > | instance = std::nullopt ) |
Definition at line 30 of file StateMachine.cpp.
| StateMachine::StateMachine | ( | const StateMachine * | other | ) |
Definition at line 54 of file StateMachine.cpp.
| StateMachine::~StateMachine | ( | ) |
Definition at line 68 of file StateMachine.cpp.
| Tokens StateMachine::getCompensationTokens | ( | const BPMN::Activity * | activity = nullptr | ) | const |
Definition at line 901 of file StateMachine.cpp.
| BPMNOS::Values StateMachine::getData | ( | const BPMN::Scope * | scope | ) |
Definition at line 77 of file StateMachine.cpp.
| void StateMachine::run | ( | Values | status | ) |
Definition at line 453 of file StateMachine.cpp.
|
friend |
Definition at line 61 of file StateMachine.h.
|
friend |
Definition at line 62 of file StateMachine.h.
|
friend |
Definition at line 63 of file StateMachine.h.
| StateMachines BPMNOS::Execution::StateMachine::compensableSubProcesses |
Definition at line 55 of file StateMachine.h.
| StateMachines BPMNOS::Execution::StateMachine::compensationEventSubProcesses |
Definition at line 54 of file StateMachine.h.
| Tokens BPMNOS::Execution::StateMachine::compensationTokens |
Definition at line 53 of file StateMachine.h.
| SharedValues BPMNOS::Execution::StateMachine::data |
Definition at line 46 of file StateMachine.h.
| std::optional<BPMNOS::number> BPMNOS::Execution::StateMachine::instance |
Definition at line 42 of file StateMachine.h.
| std::shared_ptr<StateMachine> BPMNOS::Execution::StateMachine::interruptingEventSubProcess |
Definition at line 49 of file StateMachine.h.
| StateMachines BPMNOS::Execution::StateMachine::nonInterruptingEventSubProcesses |
Definition at line 50 of file StateMachine.h.
| Values BPMNOS::Execution::StateMachine::ownedData |
Definition at line 45 of file StateMachine.h.
| Token* BPMNOS::Execution::StateMachine::parentToken |
Definition at line 44 of file StateMachine.h.
| StateMachines BPMNOS::Execution::StateMachine::pendingEventSubProcesses |
Definition at line 51 of file StateMachine.h.
| const BPMN::Process* BPMNOS::Execution::StateMachine::process |
Definition at line 39 of file StateMachine.h.
| const StateMachine* BPMNOS::Execution::StateMachine::root |
Definition at line 41 of file StateMachine.h.
| const BPMN::Scope* BPMNOS::Execution::StateMachine::scope |
Definition at line 40 of file StateMachine.h.
| const SystemState* BPMNOS::Execution::StateMachine::systemState |
Definition at line 38 of file StateMachine.h.
| Tokens BPMNOS::Execution::StateMachine::tokens |
Definition at line 48 of file StateMachine.h.