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

Namespaces

namespace  Color
 

Classes

class  auto_list
 List of tuples with automatic removal of tuples containing an expired weak_ptr. More...
 
class  auto_set
 Set of tuples ordered in increasing order of the first component with automatic removal of tuples containing an expired weak_ptr. More...
 
class  BestFirstEntry
 Class dispatching the best entry event for a token awaiting the entry at an activity. More...
 
class  BestFirstExit
 Class dispatching the best exit event for a token awaiting the exit at an activity. More...
 
class  BestLimitedChoice
 Class creating a choice decision for a token at a decision task. More...
 
class  BestMatchingMessageDelivery
 Class creating a message delivery. More...
 
struct  ChoiceDecision
 Represents the event that choices are made for a DecisionTask. More...
 
struct  ChoiceEvent
 Represents the event that choices are made for a DecisionTask. More...
 
struct  ClockTickEvent
 Represents an event that increments the current time. More...
 
struct  CompletionEvent
 Class representing the event of a token having completed an activity. More...
 
class  ConditionalEventObserver
 
class  Controller
 Base class for an execution controller which dispatches events to the engine and listens to notification from the engine. More...
 
class  CPController
 A controller dispatching decisions obtained from a solution of a constraint program. More...
 
struct  DataUpdate
 
class  Decision
 Represents an abstract base class for a pending decision. More...
 
struct  DecisionRequest
 Represents a pending decision. More...
 
class  DeterministicTaskCompletion
 Class creating a completion event for a token awaiting the completion of a task (except DecisionTask). More...
 
class  Engine
 
struct  EntryDecision
 Represents the event of a token entering a node. More...
 
struct  EntryEvent
 Represents the event of a token entering a node. More...
 
struct  ErrorEvent
 Represents the event of an error being raised. More...
 
class  Evaluator
 Represents an abstract base class for a pending Evaluator. More...
 
struct  Event
 
class  EventDispatcher
 
class  EventListener
 
struct  ExitDecision
 Represents the event of a token exiting a node. More...
 
struct  ExitEvent
 Represents the event of a token exiting a node. More...
 
class  FirstMatchingMessageDelivery
 Class creating an entry event for a token awaiting the entry at a regular activity (i.e. not a job). More...
 
class  FlattenedGraph
 Represents a graph containing all BPMN nodes that may receive a token during execution of a scenario. More...
 
class  GreedyController
 A controller dispatching the best evaluated decisions. More...
 
class  GreedyDispatcher
 Class for dispatching the event with the best evaluation. More...
 
class  GuidedEvaluator
 Class representing an evaluator that uses the guidance that may be provided. More...
 
class  InstantEntry
 Class creating an entry event for a token awaiting the entry at an activity. More...
 
class  InstantExit
 Class creating an exit event for a token awaiting the exit at an activity. More...
 
struct  is_weak_ptr
 
struct  is_weak_ptr< std::weak_ptr< T > >
 
class  LocalEvaluator
 Represents an abstract base class for a pending LocalEvaluator. More...
 
struct  Mediator
 Represents an abstract base class for a class that is an event listener and notifier. More...
 
class  Message
 
struct  MessageDeliveryDecision
 Represents the event of a message from the message pool being delivered. More...
 
struct  MessageDeliveryEvent
 Represents the event of a message from the message pool being delivered. More...
 
class  Metronome
 Class creating a clock tick event each time fetchEvent() after sleeping in order to synchronize with real time. More...
 
class  MyopicDecisionTaskTerminator
 Class creating an error event for a token at a decision task if no choice has been made. More...
 
class  MyopicMessageTaskTerminator
 Class creating an error event for a token at a message task if the message can not be delivered. More...
 
class  Notifier
 
struct  Observable
 
class  Observer
 
class  RandomChoice
 Class creating a random choice event for a token at a decision task. More...
 
struct  ReadyEvent
 Represents the event of a token ready to enter a node inclduing necressary new attribute data. More...
 
class  ReadyHandler
 Class dispatching a ready event when the required data is available a token at an activity. More...
 
class  Recorder
 Class recording all token changes. More...
 
struct  SequentialPerformerUpdate
 
class  StateMachine
 Represents a state machine for BPMN execution of a scope in the model. More...
 
class  SystemState
 A class representing the state that the execution or simulation of a given scenario is in. More...
 
struct  TerminationEvent
 Represents an event causing the engine to terminate. More...
 
struct  TimerEvent
 Represents the event that a timer is triggered. More...
 
class  TimeWarp
 Class creating a clock tick event each time fetchEvent() is called. More...
 
class  Token
 Represents a token running through a (sub)process. More...
 

Typedefs

typedef std::vector< std::shared_ptr< Message > > Messages
 
typedef std::vector< std::shared_ptr< StateMachine > > StateMachines
 
typedef std::vector< std::shared_ptr< Token > > Tokens
 

Functions

template<typename T >
void erase_ptr (std::vector< std::unique_ptr< T > > &container, const T *elementPtr)
 Erase a specific element from a vector of unique pointers.
 
template<typename T >
void erase_ptr (std::vector< std::shared_ptr< T > > &container, const T *elementPtr)
 Erase a specific element from a vector of shared pointers.
 
template<typename T >
void erase_ptr (std::vector< T * > &container, const T *elementPtr)
 Erase a specific element from a vector of pointers.
 
template<typename K , typename T , typename Comparator >
void erase_pair (std::set< std::pair< K, T * >, Comparator > &container, const T *elementPtr)
 Erase a specific element from a set of key-value pairs where the value is a pointer to the element.
 
template<std::size_t I = 0, typename... U>
bool expired (const std::tuple< U... > &t)
 Determines whether any of the initial weak_ptr elements in a tuple is expired.
 

Typedef Documentation

◆ Messages

typedef std::vector< std::shared_ptr<Message> > BPMNOS::Execution::Messages

Definition at line 18 of file Message.h.

◆ StateMachines

typedef std::vector< std::shared_ptr<StateMachine> > BPMNOS::Execution::StateMachines

Definition at line 13 of file StateMachine.h.

◆ Tokens

typedef std::vector< std::shared_ptr<Token> > BPMNOS::Execution::Tokens

Definition at line 19 of file Token.h.

Function Documentation

◆ erase_pair()

template<typename K , typename T , typename Comparator >
void BPMNOS::Execution::erase_pair ( std::set< std::pair< K, T * >, Comparator > & container,
const T * elementPtr )

This function searches for a specified element pointer in a set of key-value pairs and removes the corresponding element from the set.

Template Parameters
TThe type of elements stored in the set.
Parameters
containerThe set from which the element will be removed.
elementPtrThe pointer to the element that needs to be removed.
Exceptions
std::logic_errorif the specified element is not found in the set.

Definition at line 100 of file erase.h.

◆ erase_ptr() [1/3]

template<typename T >
void BPMNOS::Execution::erase_ptr ( std::vector< std::shared_ptr< T > > & container,
const T * elementPtr )

This function searches for a specified element pointer in a vector of shared pointers and removes the corresponding element from the vector.

Template Parameters
TThe type of elements stored in the vector.
Parameters
containerThe vector from which the element will be removed.
elementPtrThe pointer to the element that needs to be removed.
Exceptions
std::logic_errorif the specified element is not found in the vector.

Definition at line 46 of file erase.h.

◆ erase_ptr() [2/3]

template<typename T >
void BPMNOS::Execution::erase_ptr ( std::vector< std::unique_ptr< T > > & container,
const T * elementPtr )

This function searches for a specified element pointer in a vector of unique pointers and removes the corresponding element from the vector.

Template Parameters
TThe type of elements stored in the vector.
Parameters
containerThe vector from which the element will be removed.
elementPtrThe pointer to the element that needs to be removed.
Exceptions
std::logic_errorif the specified element is not found in the vector.

Definition at line 19 of file erase.h.

◆ erase_ptr() [3/3]

template<typename T >
void BPMNOS::Execution::erase_ptr ( std::vector< T * > & container,
const T * elementPtr )

This function searches for a specified element pointer in a vector of pointers and removes the corresponding element from the vector.

Template Parameters
TThe type of elements stored in the vector.
Parameters
containerThe vector from which the element will be removed.
elementPtrThe pointer to the element that needs to be removed.
Exceptions
std::logic_errorif the specified element is not found in the vector.

Definition at line 73 of file erase.h.

◆ expired()

template<std::size_t I = 0, typename... U>
bool BPMNOS::Execution::expired ( const std::tuple< U... > & t)

Definition at line 19 of file expired.h.