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

Class creating a message delivery. More...

Detailed Description

Definition at line 15 of file BestMatchingMessageDelivery.h.

#include <BestMatchingMessageDelivery.h>

Inheritance diagram for BPMNOS::Execution::BestMatchingMessageDelivery:

Public Member Functions

 BestMatchingMessageDelivery (Evaluator *evaluator)
 
std::shared_ptr< EventdispatchEvent (const SystemState *systemState) override
 
void connect (Mediator *mediator) override
 
void notice (const Observable *observable) override
 
- Public Member Functions inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest >, std::weak_ptr< const Message > >
 GreedyDispatcher (Evaluator *evaluator)
 
virtual ~GreedyDispatcher ()=default
 
std::shared_ptr< EventdispatchEvent (const SystemState *systemState) override
 
void connect (Mediator *mediator) override
 
void notice (const Observable *observable) override
 
- Public Member Functions inherited from BPMNOS::Execution::EventDispatcher
virtual ~EventDispatcher ()=default
 
virtual void notice (Event *event)
 
- Public Member Functions inherited from BPMNOS::Execution::Observer

Additional Inherited Members

- Public Attributes inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest >, std::weak_ptr< const Message > >
BPMNOS::number timestamp
 
- Protected Member Functions inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest >, std::weak_ptr< const Message > >
void addEvaluation (WeakPtrs..., std::shared_ptr< Decision > decision, std::optional< double > reward)
 
virtual void dataUpdate (const DataUpdate *update)
 
bool intersect (const std::vector< const BPMNOS::Model::Attribute * > &first, const std::set< const BPMNOS::Model::Attribute * > &second) const
 
void removeObsolete (const DataUpdate *update, auto_list< WeakPtrs..., std::shared_ptr< Decision > > &evaluation, auto_list< WeakPtrs..., std::shared_ptr< Decision > > &unevaluatedDecisions)
 
void removeDependentEvaluations (const DataUpdate *update, std::unordered_map< long unsigned int, auto_list< WeakPtrs..., std::shared_ptr< Decision > > > &evaluatedDecisions, auto_list< WeakPtrs..., std::shared_ptr< Decision > > &unevaluatedDecisions)
 
void clockTick ()
 
- Protected Attributes inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest >, std::weak_ptr< const Message > >
Evaluatorevaluator
 
auto_list< WeakPtrs..., std::shared_ptr< Decision > > decisionsWithoutEvaluation
 
auto_set< double, WeakPtrs..., std::weak_ptr< Event > > evaluatedDecisions
 
auto_list< WeakPtrs..., std::shared_ptr< Decision > > invariantEvaluations
 
auto_list< WeakPtrs..., std::shared_ptr< Decision > > timeDependentEvaluations
 
std::unordered_map< long unsigned int, auto_list< WeakPtrs..., std::shared_ptr< Decision > > > dataDependentEvaluations
 
std::unordered_map< long unsigned int, auto_list< WeakPtrs..., std::shared_ptr< Decision > > > timeAndDataDependentEvaluations
 

Constructor & Destructor Documentation

◆ BestMatchingMessageDelivery()

BestMatchingMessageDelivery::BestMatchingMessageDelivery ( Evaluator * evaluator)

Definition at line 9 of file BestMatchingMessageDelivery.cpp.

Member Function Documentation

◆ connect()

void BestMatchingMessageDelivery::connect ( Mediator * mediator)
overridevirtual

Reimplemented from BPMNOS::Execution::EventDispatcher.

Definition at line 14 of file BestMatchingMessageDelivery.cpp.

◆ dispatchEvent()

std::shared_ptr< Event > BestMatchingMessageDelivery::dispatchEvent ( const SystemState * systemState)
overridevirtual

◆ notice()

void BestMatchingMessageDelivery::notice ( const Observable * observable)
overridevirtual

Implements BPMNOS::Execution::Observer.

Definition at line 50 of file BestMatchingMessageDelivery.cpp.


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