|
BPMN-OS
BPMN for optimization and simulation
|
A class representing the state that the execution or simulation of a given scenario is in. More...
Definition at line 21 of file SystemState.h.
#include <SystemState.h>
Public Member Functions | |
| SystemState (const Engine *engine, const BPMNOS::Model::Scenario *scenario, BPMNOS::number currentTime=0) | |
| ~SystemState () | |
| BPMNOS::number | getTime () const |
| Function returning the assumed time time if available or the current time otherwise. | |
| bool | isAlive () const |
| Function returning true if there are tokens in the system or if there may be new instantiations of tokens. | |
| BPMNOS::number | getObjective () const |
| Returns the total objective value (assuming maximization) accumulated during execution. | |
| std::optional< BPMNOS::Values > | getStatusAttributes (const StateMachine *root, const BPMN::Node *node) const |
| std::optional< BPMNOS::Values > | getDataAttributes (const StateMachine *root, const BPMN::Node *node) const |
| std::vector< std::tuple< const BPMN::Process *, BPMNOS::Values, BPMNOS::Values > > | getInstantiations () const |
| Method returning a vector of all instantiations at the given time. | |
Public Attributes | |
| const BPMNOS::Model::Scenario * | scenario |
| Pointer to the corresponding scenario. | |
| BPMNOS::number | currentTime |
| Timestamp holding the point in time that the engine is in (this is usually representing now). | |
| std::optional< BPMNOS::number > | assumedTime |
| Timestamp holding the point in time that the simulation is in (this could be a future point in time). | |
| BPMNOS::number | contributionsToObjective |
| All contributions that have already been added to the objective. | |
| auto_list< std::weak_ptr< Token >, std::weak_ptr< DecisionRequest > > | pendingEntryDecisions |
| auto_list< std::weak_ptr< Token >, std::weak_ptr< DecisionRequest > > | pendingChoiceDecisions |
| auto_list< std::weak_ptr< Token >, std::weak_ptr< DecisionRequest > > | pendingExitDecisions |
| auto_list< std::weak_ptr< Token >, std::weak_ptr< DecisionRequest > > | pendingMessageDeliveryDecisions |
| auto_list< std::weak_ptr< Token > > | tokensAwaitingReadyEvent |
| Container holding all tokens awaiting a ready event. | |
| auto_set< BPMNOS::number, std::weak_ptr< Token > > | tokensAwaitingCompletionEvent |
| Sorted container holding all tokens awaiting a task completion event. | |
| std::unordered_map< long unsigned int, std::weak_ptr< StateMachine > > | archive |
| Container holding instance identifier and corresponding state machine pointer for each instantiation. | |
| std::unordered_map< long unsigned int, auto_list< std::weak_ptr< Message > > > | unsent |
| Map holding unsent messages with recipient that isn't instantiated yet. | |
| std::unordered_map< StateMachine *, auto_list< std::weak_ptr< Message > > > | inbox |
| Map holding the undelivered correspondence associated with a state machine which will be withdrawn when the state machine goes out of scope. | |
| std::unordered_map< const BPMN::FlowNode *, auto_list< std::weak_ptr< Message > > > | outbox |
| Map holding messages sent from given node. | |
| std::unordered_map< Token *, std::vector< Token * > > | tokensAwaitingBoundaryEvent |
| Map holding a container of all tokens at a boundary event awaiting to be triggered for each token at an activity. | |
| std::unordered_map< Token *, Token * > | tokenAssociatedToBoundaryEventToken |
| Map holding the token residing at the associated activity for each token at a boundary event. | |
| auto_set< BPMNOS::number, std::weak_ptr< Token > > | tokensAwaitingTimer |
| Sorted container holding holding all tokens awaiting a timer event. | |
| std::unordered_map< BPMNOS::number, auto_list< std::weak_ptr< Token > > > | tokensAwaitingSignal |
| Map holding a container of all tokens at a signal event awaiting a signal with a given name. | |
| std::unordered_map< BPMNOS::number, auto_list< std::weak_ptr< Token > > > | tokensAwaitingCondition |
| Map holding a container of all tokens at a conditional event belonginge to a process instance. | |
| std::unordered_map< Token *, std::weak_ptr< Message > > | messageAwaitingDelivery |
| Container holding message awaiting delivery for tokens at send tasks. | |
| std::unordered_map< Token *, Token * > | tokenAtMultiInstanceActivity |
| Map holding the main token waiting at a multi-instance (or loop) activity. | |
| std::unordered_map< Token *, Token * > | tokenAwaitingMultiInstanceExit |
| Map holding the token waiting for the exit of an instantiation of a multi-instance (or loop) activity. | |
| std::unordered_map< Token *, std::vector< Token * > > | tokensAtActivityInstance |
| Map holding all tokens representing an active instance of a multi-instance (or loop) activity for each token waiting at the multi-instance (or loop) activity. | |
| std::unordered_map< Token *, std::vector< BPMNOS::Values > > | exitStatusAtActivityInstance |
| Map holding the exit status of all instances of a multi-instance (or loop) activity for each token waiting at the multi-instance (or loop) activity. | |
| std::unordered_map< Token *, Token * > | tokenAtEventBasedGateway |
| Map holding the token at the relevant event-based gateway. | |
| std::unordered_map< Token *, std::vector< Token * > > | tokensAwaitingEvent |
| Map holding all tokens at catching events subsequent to an event-based gateway. | |
| std::unordered_map< StateMachine *, std::map< const BPMN::FlowNode *, std::vector< Token * > > > | tokensAwaitingGatewayActivation |
| Map holding tokens awaiting activation of a converging gateway. | |
| std::unordered_map< Token *, Token * > | tokenAwaitingCompensationActivity |
| Map holding a token that waits for completion of another. | |
| std::unordered_map< StateMachine *, Token * > | tokenAwaitingCompensationEventSubProcess |
| Map holding a token that waits for completion of an event subprocess. | |
| BPMNOS::Values | globals |
| StateMachines | instances |
| Container holding a state machine for each running instance. | |
| Messages | messages |
| Container holding all messages created by a throwing message event. | |
Friends | |
| class | Engine |
| class | StateMachine |
| class | Token |
| class | ConditionalEventObserver |
| SystemState::SystemState | ( | const Engine * | engine, |
| const BPMNOS::Model::Scenario * | scenario, | ||
| BPMNOS::number | currentTime = 0 ) |
Definition at line 7 of file SystemState.cpp.
| SystemState::~SystemState | ( | ) |
Definition at line 16 of file SystemState.cpp.
| std::optional< BPMNOS::Values > SystemState::getDataAttributes | ( | const StateMachine * | root, |
| const BPMN::Node * | node ) const |
Definition at line 74 of file SystemState.cpp.
| std::vector< std::tuple< const BPMN::Process *, BPMNOS::Values, BPMNOS::Values > > SystemState::getInstantiations | ( | ) | const |
A vector representing an instantiation contains a reference to the process, the initial status, and the initial data attribute value
Definition at line 52 of file SystemState.cpp.
| BPMNOS::number SystemState::getObjective | ( | ) | const |
Global attributes are evaluated upon each call of the method.
Attributes declared for activities, event-subprocesses, and processes contribute to the objective when
In all other cases values of attributes declared to contribute to the objective will be ignored.
Definition at line 38 of file SystemState.cpp.
| std::optional< BPMNOS::Values > SystemState::getStatusAttributes | ( | const StateMachine * | root, |
| const BPMN::Node * | node ) const |
Definition at line 61 of file SystemState.cpp.
| BPMNOS::number SystemState::getTime | ( | ) | const |
Definition at line 27 of file SystemState.cpp.
| bool SystemState::isAlive | ( | ) | const |
Definition at line 31 of file SystemState.cpp.
|
friend |
Definition at line 153 of file SystemState.h.
|
friend |
Definition at line 150 of file SystemState.h.
|
friend |
Definition at line 151 of file SystemState.h.
|
friend |
Definition at line 152 of file SystemState.h.
| std::unordered_map< long unsigned int, std::weak_ptr<StateMachine> > BPMNOS::Execution::SystemState::archive |
Definition at line 82 of file SystemState.h.
| std::optional<BPMNOS::number> BPMNOS::Execution::SystemState::assumedTime |
Definition at line 42 of file SystemState.h.
| BPMNOS::number BPMNOS::Execution::SystemState::contributionsToObjective |
Definition at line 69 of file SystemState.h.
| BPMNOS::number BPMNOS::Execution::SystemState::currentTime |
Definition at line 37 of file SystemState.h.
| std::unordered_map< Token*, std::vector<BPMNOS::Values> > BPMNOS::Execution::SystemState::exitStatusAtActivityInstance |
Definition at line 115 of file SystemState.h.
| BPMNOS::Values BPMNOS::Execution::SystemState::globals |
Definition at line 127 of file SystemState.h.
| std::unordered_map<StateMachine*, auto_list< std::weak_ptr<Message> > > BPMNOS::Execution::SystemState::inbox |
Definition at line 92 of file SystemState.h.
| StateMachines BPMNOS::Execution::SystemState::instances |
Definition at line 132 of file SystemState.h.
| std::unordered_map< Token*, std::weak_ptr<Message> > BPMNOS::Execution::SystemState::messageAwaitingDelivery |
Definition at line 110 of file SystemState.h.
| Messages BPMNOS::Execution::SystemState::messages |
Definition at line 137 of file SystemState.h.
| std::unordered_map<const BPMN::FlowNode*, auto_list< std::weak_ptr<Message> > > BPMNOS::Execution::SystemState::outbox |
Definition at line 97 of file SystemState.h.
| auto_list< std::weak_ptr<Token>, std::weak_ptr<DecisionRequest> > BPMNOS::Execution::SystemState::pendingChoiceDecisions |
Definition at line 72 of file SystemState.h.
| auto_list< std::weak_ptr<Token>, std::weak_ptr<DecisionRequest> > BPMNOS::Execution::SystemState::pendingEntryDecisions |
Definition at line 71 of file SystemState.h.
| auto_list< std::weak_ptr<Token>, std::weak_ptr<DecisionRequest> > BPMNOS::Execution::SystemState::pendingExitDecisions |
Definition at line 73 of file SystemState.h.
| auto_list< std::weak_ptr<Token>, std::weak_ptr<DecisionRequest> > BPMNOS::Execution::SystemState::pendingMessageDeliveryDecisions |
Definition at line 74 of file SystemState.h.
| const BPMNOS::Model::Scenario* BPMNOS::Execution::SystemState::scenario |
Definition at line 32 of file SystemState.h.
| std::unordered_map< Token*, Token* > BPMNOS::Execution::SystemState::tokenAssociatedToBoundaryEventToken |
Definition at line 102 of file SystemState.h.
Definition at line 117 of file SystemState.h.
Definition at line 112 of file SystemState.h.
| std::unordered_map< Token*, Token* > BPMNOS::Execution::SystemState::tokenAwaitingCompensationActivity |
Definition at line 124 of file SystemState.h.
| std::unordered_map< StateMachine*, Token* > BPMNOS::Execution::SystemState::tokenAwaitingCompensationEventSubProcess |
Definition at line 125 of file SystemState.h.
Definition at line 113 of file SystemState.h.
| std::unordered_map< Token*, std::vector<Token*> > BPMNOS::Execution::SystemState::tokensAtActivityInstance |
Definition at line 114 of file SystemState.h.
| std::unordered_map< Token*, std::vector<Token*> > BPMNOS::Execution::SystemState::tokensAwaitingBoundaryEvent |
Definition at line 101 of file SystemState.h.
| auto_set< BPMNOS::number, std::weak_ptr<Token> > BPMNOS::Execution::SystemState::tokensAwaitingCompletionEvent |
Definition at line 77 of file SystemState.h.
| std::unordered_map< BPMNOS::number, auto_list< std::weak_ptr<Token> > > BPMNOS::Execution::SystemState::tokensAwaitingCondition |
Definition at line 108 of file SystemState.h.
| std::unordered_map< Token*, std::vector<Token*> > BPMNOS::Execution::SystemState::tokensAwaitingEvent |
Definition at line 118 of file SystemState.h.
| std::unordered_map< StateMachine*, std::map<const BPMN::FlowNode*, std::vector<Token*> > > BPMNOS::Execution::SystemState::tokensAwaitingGatewayActivation |
Definition at line 120 of file SystemState.h.
Definition at line 76 of file SystemState.h.
| std::unordered_map< BPMNOS::number, auto_list< std::weak_ptr<Token> > > BPMNOS::Execution::SystemState::tokensAwaitingSignal |
Definition at line 106 of file SystemState.h.
| auto_set<BPMNOS::number, std::weak_ptr<Token> > BPMNOS::Execution::SystemState::tokensAwaitingTimer |
Definition at line 104 of file SystemState.h.
| std::unordered_map<long unsigned int, auto_list< std::weak_ptr<Message> > > BPMNOS::Execution::SystemState::unsent |
Definition at line 87 of file SystemState.h.