|
BPMN-OS
BPMN for optimization and simulation
|
Class holding extension elements representing execution data for nodes. More...
Definition at line 23 of file ExtensionElements.h.
#include <ExtensionElements.h>
Classes | |
| struct | Index |
Public Member Functions | |
| ExtensionElements (XML::bpmn::tBaseElement *baseElement, const AttributeRegistry attributeRegistry_, BPMN::Scope *parent=nullptr, std::vector< std::reference_wrapper< XML::bpmnos::tAttribute > >={}) | |
| const MessageDefinition * | getMessageDefinition (size_t index) const |
| const MessageDefinition * | getMessageDefinition (const BPMNOS::Values &status) const |
| template<typename DataType > | |
| bool | feasibleEntry (const BPMNOS::Values &status, const DataType &data, const BPMNOS::Values &globals) const |
| template<typename DataType > | |
| bool | feasibleExit (const BPMNOS::Values &status, const DataType &data, const BPMNOS::Values &globals) const |
| template<typename DataType > | |
| bool | satisfiesInheritedRestrictions (const BPMNOS::Values &status, const DataType &data, const BPMNOS::Values &globals) const |
| template<typename DataType > | |
| bool | fullScopeRestrictionsSatisfied (const BPMNOS::Values &status, const DataType &data, const BPMNOS::Values &globals) const |
| template<typename DataType > | |
| void | computeInitialValues (BPMNOS::number currentTime, BPMNOS::Values &status, DataType &data, BPMNOS::Values &globals) const |
| template<typename DataType > | |
| void | applyOperators (BPMNOS::Values &status, DataType &data, BPMNOS::Values &globals) const |
| template<typename DataType > | |
| BPMNOS::number | getObjective (const BPMNOS::Values &status, const DataType &data, const BPMNOS::Values &globals) const |
| Returns the total objective of all attributes provided. | |
| template<typename DataType > | |
| BPMNOS::number | getContributionToObjective (const BPMNOS::Values &status, const DataType &data, const BPMNOS::Values &globals) const |
| Returns the contribution to the objective by the attributes declared for the node. | |
Public Member Functions inherited from BPMN::ExtensionElements | |
| ExtensionElements (XML::bpmn::tBaseElement *element) | |
| template<class C , class T > | |
| std::vector< std::reference_wrapper< T > > | get () |
| Returns a vector of elements of type T embedded within a container of type T. | |
| template<class C , class T > | |
| std::vector< std::reference_wrapper< const T > > | get () const |
| Returns a vector of elements of type T embedded within a container of 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 Attributes | ||
| AttributeRegistry | attributeRegistry | |
| Registry allowing to look up all status and data attributes by their names. | ||
| const BPMN::Scope * | parent | |
| std::vector< std::unique_ptr< Attribute > > | attributes | |
| Vector containing new status attributes declared for the node. | ||
| std::vector< std::unique_ptr< Restriction > > | restrictions | |
| Vector containing new restrictions provided for the node. | ||
| std::vector< std::unique_ptr< Operator > > | operators | |
| std::vector< std::unique_ptr< Choice > > | choices | |
| std::set< const Attribute * > | entryDependencies | |
| Set containing all input attributes influencing the entry feasibility. | ||
| std::set< const Attribute * > | exitDependencies | |
| Set containing all input attributes influencing the exit feasibility. | ||
| std::set< const Attribute * > | operatorDependencies | |
| Set containing all input attributes influencing the result of applying all operators. | ||
| std::set< const Attribute * > | choiceDependencies | |
| Set containing all input attributes influencing the result of making choices. | ||
| std::vector< std::unique_ptr< Attribute > > | data | |
| Vector containing data attributes declared for data objects within the node's scope. | ||
| struct { | ||
| std::vector< const Attribute * > attributes | ||
| bool global = false | ||
| } | dataUpdate | |
| Struct containing data attributes that are modified through operators and a flag indicating whether a global value is changed. | ||
| std::vector< std::unique_ptr< MessageDefinition > > | messageDefinitions | |
| Vector containing message definition(s) provided for the node. | ||
| std::vector< const BPMN::FlowNode * > | messageCandidates | |
| Vector containing all potential sending or receiving nodes of a message. | ||
| std::vector< std::unique_ptr< Restriction > > | conditions | |
| Vector containing conditions that may be provided for conditional events. | ||
| std::optional< std::unique_ptr< Parameter > > | loopCardinality | |
| Number of instances to be generated. | ||
| std::optional< std::unique_ptr< Parameter > > | loopIndex | |
| Attribute holding the automatically generated loop index. | ||
| std::optional< std::unique_ptr< Parameter > > | loopCondition | |
| Boolean attribute indicating whether an exit condition holds. | ||
| std::optional< std::unique_ptr< Parameter > > | loopMaximum | |
| Maximum number of iterations of a standard loop (requires loopIndex). | ||
| bool | hasSequentialPerformer | |
| Boolean indicating whether element has a performer with name "Sequential". | ||
| bool | isInstantaneous | |
| Boolean indicating whether operators may modify timestamp. | ||
| std::optional< std::unique_ptr< Guidance > > | messageDeliveryGuidance | |
| std::optional< std::unique_ptr< Guidance > > | entryGuidance | |
| std::optional< std::unique_ptr< Guidance > > | exitGuidance | |
| std::optional< std::unique_ptr< Guidance > > | choiceGuidance | |
Public Attributes inherited from BPMN::ExtensionElements | ||
| XML::bpmn::tExtensionElements * | element | |
| BaseElement * | baseElement | |
| Reference to the base element the extension elements are bound to. | ||
| ExtensionElements::ExtensionElements | ( | XML::bpmn::tBaseElement * | baseElement, |
| const AttributeRegistry | attributeRegistry_, | ||
| BPMN::Scope * | parent = nullptr, | ||
| std::vector< std::reference_wrapper< XML::bpmnos::tAttribute > > | dataAttributes = {} ) |
Definition at line 22 of file ExtensionElements.cpp.
| void ExtensionElements::applyOperators | ( | BPMNOS::Values & | status, |
| DataType & | data, | ||
| BPMNOS::Values & | globals ) const |
Definition at line 401 of file ExtensionElements.cpp.
| void ExtensionElements::computeInitialValues | ( | BPMNOS::number | currentTime, |
| BPMNOS::Values & | status, | ||
| DataType & | data, | ||
| BPMNOS::Values & | globals ) const |
Definition at line 382 of file ExtensionElements.cpp.
| bool ExtensionElements::feasibleEntry | ( | const BPMNOS::Values & | status, |
| const DataType & | data, | ||
| const BPMNOS::Values & | globals ) const |
Definition at line 302 of file ExtensionElements.cpp.
| bool ExtensionElements::feasibleExit | ( | const BPMNOS::Values & | status, |
| const DataType & | data, | ||
| const BPMNOS::Values & | globals ) const |
Definition at line 315 of file ExtensionElements.cpp.
| bool ExtensionElements::fullScopeRestrictionsSatisfied | ( | const BPMNOS::Values & | status, |
| const DataType & | data, | ||
| const BPMNOS::Values & | globals ) const |
Definition at line 369 of file ExtensionElements.cpp.
| BPMNOS::number ExtensionElements::getContributionToObjective | ( | const BPMNOS::Values & | status, |
| const DataType & | data, | ||
| const BPMNOS::Values & | globals ) const |
Definition at line 442 of file ExtensionElements.cpp.
| const MessageDefinition * ExtensionElements::getMessageDefinition | ( | const BPMNOS::Values & | status | ) | const |
Definition at line 276 of file ExtensionElements.cpp.
| const MessageDefinition * ExtensionElements::getMessageDefinition | ( | size_t | index | ) | const |
Definition at line 269 of file ExtensionElements.cpp.
| BPMNOS::number ExtensionElements::getObjective | ( | const BPMNOS::Values & | status, |
| const DataType & | data, | ||
| const BPMNOS::Values & | globals ) const |
Definition at line 411 of file ExtensionElements.cpp.
| bool ExtensionElements::satisfiesInheritedRestrictions | ( | const BPMNOS::Values & | status, |
| const DataType & | data, | ||
| const BPMNOS::Values & | globals ) const |
Definition at line 330 of file ExtensionElements.cpp.
| AttributeRegistry BPMNOS::Model::ExtensionElements::attributeRegistry |
Definition at line 26 of file ExtensionElements.h.
| std::vector< std::unique_ptr<Attribute> > BPMNOS::Model::ExtensionElements::attributes |
Definition at line 35 of file ExtensionElements.h.
| std::vector<const Attribute*> BPMNOS::Model::ExtensionElements::attributes |
Definition at line 47 of file ExtensionElements.h.
| std::set<const Attribute*> BPMNOS::Model::ExtensionElements::choiceDependencies |
Definition at line 43 of file ExtensionElements.h.
| std::optional< std::unique_ptr<Guidance> > BPMNOS::Model::ExtensionElements::choiceGuidance |
Definition at line 93 of file ExtensionElements.h.
| std::vector< std::unique_ptr<Choice> > BPMNOS::Model::ExtensionElements::choices |
Definition at line 38 of file ExtensionElements.h.
| std::vector< std::unique_ptr<Restriction> > BPMNOS::Model::ExtensionElements::conditions |
Definition at line 55 of file ExtensionElements.h.
| std::vector< std::unique_ptr<Attribute> > BPMNOS::Model::ExtensionElements::data |
Definition at line 45 of file ExtensionElements.h.
| struct { ... } BPMNOS::Model::ExtensionElements::dataUpdate |
| std::set<const Attribute*> BPMNOS::Model::ExtensionElements::entryDependencies |
Definition at line 40 of file ExtensionElements.h.
| std::optional< std::unique_ptr<Guidance> > BPMNOS::Model::ExtensionElements::entryGuidance |
Definition at line 91 of file ExtensionElements.h.
| std::set<const Attribute*> BPMNOS::Model::ExtensionElements::exitDependencies |
Definition at line 41 of file ExtensionElements.h.
| std::optional< std::unique_ptr<Guidance> > BPMNOS::Model::ExtensionElements::exitGuidance |
Definition at line 92 of file ExtensionElements.h.
| bool BPMNOS::Model::ExtensionElements::global = false |
Definition at line 47 of file ExtensionElements.h.
| bool BPMNOS::Model::ExtensionElements::hasSequentialPerformer |
Definition at line 62 of file ExtensionElements.h.
| bool BPMNOS::Model::ExtensionElements::isInstantaneous |
Definition at line 76 of file ExtensionElements.h.
| std::optional< std::unique_ptr<Parameter> > BPMNOS::Model::ExtensionElements::loopCardinality |
Definition at line 57 of file ExtensionElements.h.
| std::optional< std::unique_ptr<Parameter> > BPMNOS::Model::ExtensionElements::loopCondition |
Definition at line 59 of file ExtensionElements.h.
| std::optional< std::unique_ptr<Parameter> > BPMNOS::Model::ExtensionElements::loopIndex |
Definition at line 58 of file ExtensionElements.h.
| std::optional< std::unique_ptr<Parameter> > BPMNOS::Model::ExtensionElements::loopMaximum |
Definition at line 60 of file ExtensionElements.h.
| std::vector< const BPMN::FlowNode* > BPMNOS::Model::ExtensionElements::messageCandidates |
Definition at line 53 of file ExtensionElements.h.
| std::vector< std::unique_ptr<MessageDefinition> > BPMNOS::Model::ExtensionElements::messageDefinitions |
Definition at line 49 of file ExtensionElements.h.
| std::optional< std::unique_ptr<Guidance> > BPMNOS::Model::ExtensionElements::messageDeliveryGuidance |
Definition at line 90 of file ExtensionElements.h.
| std::set<const Attribute*> BPMNOS::Model::ExtensionElements::operatorDependencies |
Definition at line 42 of file ExtensionElements.h.
| std::vector< std::unique_ptr<Operator> > BPMNOS::Model::ExtensionElements::operators |
Definition at line 37 of file ExtensionElements.h.
| const BPMN::Scope* BPMNOS::Model::ExtensionElements::parent |
Definition at line 27 of file ExtensionElements.h.
| std::vector< std::unique_ptr<Restriction> > BPMNOS::Model::ExtensionElements::restrictions |
Definition at line 36 of file ExtensionElements.h.