|
BPMN-OS
BPMN for optimization and simulation
|
Class representing adhoc subprocesses with sequential ordering. More...
Activities within an instance of the SequentialAdHocSubProcess class must not be executed in parallel. The sequential execution of such activities is linked to a performer guaranteeing that at most one child activity of any sequential adhoc subprocess linked to this performer is executed at any point time.
The performer relevant for a sequential adhoc subprocess can be specified by adding a XML::bpmn::tPerformer element with name being "Sequential" to the adhoc subprocess or an ancestor in the XML tree (with no other sequential adhoc subprocess between). If no such performer is provided, the adhoc subprocess is assumed to have its own performer.
Definition at line 26 of file SequentialAdHocSubProcess.h.
#include <SequentialAdHocSubProcess.h>
Public Member Functions | |
| SequentialAdHocSubProcess (XML::bpmn::tAdHocSubProcess *adHocsubProcess, BPMN::Scope *parent) | |
Public Member Functions inherited from BPMN::AdHocSubProcess | |
| AdHocSubProcess (XML::bpmn::tAdHocSubProcess *adHocSubProcess, Scope *parent) | |
Public Member Functions inherited from BPMN::Activity | |
| Activity (XML::bpmn::tActivity *activity, Scope *parent) | |
Public Member Functions inherited from BPMN::FlowNode | |
| FlowNode (XML::bpmn::tFlowNode *flowNode, Scope *parent) | |
Public Member Functions inherited from BPMN::ChildNode | |
| ChildNode (XML::bpmn::tBaseElement *element, Scope *parent) | |
Public Member Functions inherited from BPMN::Node | |
| Node (XML::bpmn::tBaseElement *element) | |
| Constructs a Node object representing a BPMN process or flow node. | |
| Node * | find (std::function< bool(Node *)> condition) |
| Returns the first node found matching a given condition. | |
| const Node * | find (std::function< bool(const Node *)> condition) const |
| Returns the first node found matching a given condition. | |
| std::vector< Node * > | find_all (std::function< bool(Node *)> condition) |
| Returns all nodes matching a given condition. | |
| std::vector< const Node * > | find_all (std::function< bool(const Node *)> condition) const |
| Returns all nodes matching a given condition. | |
Public Member Functions inherited from BPMN::BaseElement | |
| BaseElement (XML::bpmn::tBaseElement *element) | |
| Constructs a BaseElement object representing a BPMN element. | |
| template<typename T > | |
| T * | is () |
| Attempts to return the element in the specified type T. | |
| template<typename T > | |
| const T * | is () const |
| Attempts to return the element in the specified type T. | |
| template<typename T = XML::bpmn::tBaseElement> | |
| T * | get () |
| Casts the element to the specified type T. | |
| template<typename T = XML::bpmn::tBaseElement> | |
| const T * | get () const |
| Casts the element to the specified type T. | |
Public Member Functions inherited from BPMN::Element | |
| virtual | ~Element ()=default |
| template<typename T > | |
| T * | represents () |
| Attempts to cast the element to the specified type T. | |
| template<typename T > | |
| const T * | represents () const |
| Attempts to cast the element to the specified type T. | |
| template<typename T > | |
| T * | as () |
| Casts the element to the specified type T. | |
| template<typename T > | |
| const T * | as () const |
| Casts the element to the specified type T. | |
Public Member Functions inherited from BPMN::Scope | |
| Scope (XML::bpmn::tBaseElement *element) | |
Public Attributes | |
| BPMN::Node * | performer |
Public Attributes inherited from BPMN::AdHocSubProcess | |
| bool | isSequential |
| XML::bpmn::tAdHocSubProcess * | element |
Public Attributes inherited from BPMN::Activity | |
| std::vector< BoundaryEvent * > | boundaryEvents |
| Node * | compensatedBy |
| Pointer to compensation activity or compensation event sub-process. | |
| bool | isForCompensation |
| std::optional< LoopCharacteristics > | loopCharacteristics |
| XML::bpmn::tActivity * | element |
Public Attributes inherited from BPMN::FlowNode | |
| XML::bpmn::tFlowNode * | element |
| std::optional< std::string > | name |
| std::vector< SequenceFlow * > | incoming |
| Vector containing all incoming sequence flows of the node. | |
| std::vector< SequenceFlow * > | outgoing |
| Vector containing all outgoing sequence flows of the node. | |
Public Attributes inherited from BPMN::ChildNode | |
| Scope * | parent |
| Reference to the parent node. | |
Public Attributes inherited from BPMN::Node | |
| std::vector< MessageFlow * > | receiving |
| Vector containing all message flows going in to the node. | |
| std::vector< MessageFlow * > | sending |
| Vector containing all message flows going out of the node. | |
Public Attributes inherited from BPMN::BaseElement | |
| XML::bpmn::tBaseElement * | element |
| std::string | id |
| Id of element. | |
| std::unique_ptr< ExtensionElements > | extensionElements |
Public Attributes inherited from BPMN::Scope | |
| std::vector< std::unique_ptr< Node > > | childNodes |
| Vector containing all child nodes within the scope of the nodes. | |
| std::vector< FlowNode * > | flowNodes |
| Vector containing pointers to all flow nodes within the scope of the nodes. | |
| std::vector< EventSubProcess * > | eventSubProcesses |
| Vector containing pointers to all event subprocesses within the scope of the nodes. | |
| std::vector< FlowNode * > | startNodes |
| Vector containing all flow nodes that may start execution of the scope. | |
| std::vector< std::unique_ptr< SequenceFlow > > | sequenceFlows |
| Vector containing all sequence flows within the scope. | |
| std::vector< Activity * > | compensationActivities |
| Vector containing pointers to all compensation activities within the scope. | |
| EventSubProcess * | compensationEventSubProcess |
| Pointer to compensation event subprocess of the scope. | |
| std::vector< std::unique_ptr< DataObject > > | dataObjects |
| Vector containing all data objects within the scope. | |
Friends | |
| class | Model |
Additional Inherited Members | |
Public Types inherited from BPMN::Activity | |
| enum class | LoopCharacteristics { Standard , MultiInstanceSequential , MultiInstanceParallel } |
Protected Member Functions inherited from BPMN::Scope | |
| void | add (std::unique_ptr< Node > node) |
| void | add (std::unique_ptr< SequenceFlow > sequenceFlow) |
| void | add (std::unique_ptr< DataObject > dataObject) |
| SequentialAdHocSubProcess::SequentialAdHocSubProcess | ( | XML::bpmn::tAdHocSubProcess * | adHocsubProcess, |
| BPMN::Scope * | parent ) |
Definition at line 6 of file SequentialAdHocSubProcess.cpp.
|
friend |
Definition at line 27 of file SequentialAdHocSubProcess.h.
| BPMN::Node* BPMNOS::Model::SequentialAdHocSubProcess::performer |
Definition at line 30 of file SequentialAdHocSubProcess.h.