|
BPMN-OS
BPMN for optimization and simulation
|
#include <Engine.h>
Classes | |
| class | Command |
| Class storing a command to be executed by the engine. More... | |
Public Member Functions | |
| Engine () | |
| ~Engine () | |
| BPMNOS::number | run (const BPMNOS::Model::Scenario *scenario, BPMNOS::number timeout=std::numeric_limits< BPMNOS::number >::max()) |
| Runs a scenario as long as there is a token or new instantiations. Terminates when the time if the system exceeds the timeout. | |
| void | process (const ReadyEvent *event) |
| void | process (const EntryEvent *event) |
| void | process (const ChoiceEvent *event) |
| void | process (const CompletionEvent *event) |
| void | process (const MessageDeliveryEvent *event) |
| void | process (const ExitEvent *event) |
| void | process (const ErrorEvent *event) |
| void | process (const ClockTickEvent *event) |
| void | process (const TerminationEvent *event) |
| BPMNOS::number | getCurrentTime () |
| Returns the timestamp the engine is in. | |
| const SystemState * | getSystemState () |
| Returns a pointer to the system state. | |
Public Member Functions inherited from BPMNOS::Execution::EventListener | |
| void | subscribe (EventDispatcher *eventDispatcher) |
Public Member Functions inherited from BPMNOS::Execution::Notifier | |
| Notifier () | |
| virtual | ~Notifier ()=default |
| template<typename... ObservableTypes> | |
| void | addSubscriber (Observer *subscriber, ObservableTypes... observableTypes) |
| void | notify (const Observable *observable) const |
| void | notify (const Observable &observable) const |
Protected Member Functions | |
| void | addInstances () |
| Method adding all new instances and advancing tokens as much as possible. | |
| void | deleteInstance (StateMachine *instance) |
| Method removing completed instance. | |
| bool | advance () |
Protected Member Functions inherited from BPMNOS::Execution::EventListener | |
| std::shared_ptr< Event > | fetchEvent (SystemState *systemState) |
Protected Attributes | |
| std::list< Command > | commands |
| List of commands to be executed. | |
| BPMNOS::number | clockTick |
| Timestep used to advance the current time by systemState.time += clockTick. | |
| std::unique_ptr< SystemState > | systemState |
| std::unique_ptr< ConditionalEventObserver > | conditionalEventObserver |
Protected Attributes inherited from BPMNOS::Execution::EventListener | |
| std::vector< EventDispatcher * > | eventDispatchers |
Friends | |
| class | Token |
| class | StateMachine |
| class | ConditionalEventObserver |
| Engine::Engine | ( | ) |
Definition at line 15 of file Engine.cpp.
| Engine::~Engine | ( | ) |
Definition at line 20 of file Engine.cpp.
|
protected |
Definition at line 106 of file Engine.cpp.
|
protected |
Definition at line 64 of file Engine.cpp.
|
protected |
Definition at line 124 of file Engine.cpp.
| BPMNOS::number Engine::getCurrentTime | ( | ) |
Definition at line 264 of file Engine.cpp.
| const SystemState * Engine::getSystemState | ( | ) |
Definition at line 268 of file Engine.cpp.
| void Engine::process | ( | const ChoiceEvent * | event | ) |
Definition at line 161 of file Engine.cpp.
| void Engine::process | ( | const ClockTickEvent * | event | ) |
Definition at line 241 of file Engine.cpp.
| void Engine::process | ( | const CompletionEvent * | event | ) |
Definition at line 180 of file Engine.cpp.
| void Engine::process | ( | const EntryEvent * | event | ) |
Definition at line 144 of file Engine.cpp.
| void Engine::process | ( | const ErrorEvent * | event | ) |
Definition at line 236 of file Engine.cpp.
| void Engine::process | ( | const ExitEvent * | event | ) |
Definition at line 219 of file Engine.cpp.
| void Engine::process | ( | const MessageDeliveryEvent * | event | ) |
Definition at line 193 of file Engine.cpp.
| void Engine::process | ( | const ReadyEvent * | event | ) |
Definition at line 129 of file Engine.cpp.
| void Engine::process | ( | const TerminationEvent * | event | ) |
Definition at line 259 of file Engine.cpp.
| BPMNOS::number Engine::run | ( | const BPMNOS::Model::Scenario * | scenario, |
| BPMNOS::number | timeout = std::numeric_limits<BPMNOS::number>::max() ) |
Definition at line 39 of file Engine.cpp.
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |