BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
BPMNOS::Execution::FlattenedGraph Class Reference

Represents a graph containing all BPMN nodes that may receive a token during execution of a scenario. More...

Detailed Description

For a given scenario, the FlattenedGraph class encapsulates a graph containing a vertex for each entry and each exit of a node in a BPMN model. The flattened graph includes all instances known at time zero.

Definition at line 19 of file FlattenedGraph.h.

#include <FlattenedGraph.h>

Classes

class  Vertex
 

Public Member Functions

 FlattenedGraph (const BPMNOS::Model::Scenario *scenario)
 
void addInstance (const BPMNOS::Model::Scenario::InstanceData *instance)
 Map holding entry and exit vertices of each possible instantiation of a node.
 

Public Attributes

const BPMNOS::Model::Scenarioscenario
 
std::vector< std::reference_wrapper< Vertex > > initialVertices
 
std::deque< Vertexvertices
 Container holding entry vertices of all process instances.
 
std::unordered_map< const BPMN::Node *, std::unordered_map< BPMNOS::number, std::vector< std::reference_wrapper< Vertex > > > > vertexMap
 Container holding entry and exit vertices of each possible instantiation of a node.
 
std::unordered_map< const Vertex *, std::vector< std::pair< const Vertex &, const Vertex & > > > sequentialActivities
 
std::unordered_map< const Vertex *, std::vector< std::pair< const Vertex &, const Vertex & > > > dataModifiers
 Container allowing to look up vertices of sequential activities given a pointer to the entry vertex of a performer

 
std::vector< std::pair< const Vertex &, const Vertex & > > globalModifiers
 Container allowing to look up vertices of tasks modifying data attributes given a pointer to the entry vertex of the node owning the data.
 

Constructor & Destructor Documentation

◆ FlattenedGraph()

FlattenedGraph::FlattenedGraph ( const BPMNOS::Model::Scenario * scenario)

Definition at line 80 of file FlattenedGraph.cpp.

Member Function Documentation

◆ addInstance()

void FlattenedGraph::addInstance ( const BPMNOS::Model::Scenario::InstanceData * instance)

Definition at line 88 of file FlattenedGraph.cpp.

Member Data Documentation

◆ dataModifiers

std::unordered_map<const Vertex*, std::vector< std::pair<const Vertex&, const Vertex&> > > BPMNOS::Execution::FlattenedGraph::dataModifiers

Definition at line 77 of file FlattenedGraph.h.

◆ globalModifiers

std::vector< std::pair<const Vertex&, const Vertex&> > BPMNOS::Execution::FlattenedGraph::globalModifiers

Definition at line 78 of file FlattenedGraph.h.

◆ initialVertices

std::vector< std::reference_wrapper<Vertex> > BPMNOS::Execution::FlattenedGraph::initialVertices

Definition at line 57 of file FlattenedGraph.h.

◆ scenario

const BPMNOS::Model::Scenario* BPMNOS::Execution::FlattenedGraph::scenario

Definition at line 22 of file FlattenedGraph.h.

◆ sequentialActivities

std::unordered_map<const Vertex*, std::vector< std::pair<const Vertex&, const Vertex&> > > BPMNOS::Execution::FlattenedGraph::sequentialActivities

Definition at line 76 of file FlattenedGraph.h.

◆ vertexMap

std::unordered_map< const BPMN::Node*, std::unordered_map< BPMNOS::number, std::vector< std::reference_wrapper<Vertex> > > > BPMNOS::Execution::FlattenedGraph::vertexMap

Definition at line 59 of file FlattenedGraph.h.

◆ vertices

std::deque< Vertex > BPMNOS::Execution::FlattenedGraph::vertices

Definition at line 58 of file FlattenedGraph.h.


The documentation for this class was generated from the following files: