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

Class creating a choice decision for a token at a decision task. More...

Detailed Description

The BestLimitedChoice dispatcher creates a the best evaluated choice considering enumerated values and the boundaries for each choice.

Definition at line 17 of file BestLimitedChoice.h.

#include <BestLimitedChoice.h>

Inheritance diagram for BPMNOS::Execution::BestLimitedChoice:

Public Member Functions

 BestLimitedChoice (Evaluator *evaluator)
 
void connect (Mediator *mediator) override
 
void notice (const Observable *observable) override
 
std::shared_ptr< EventdispatchEvent (const SystemState *systemState) override
 
- Public Member Functions inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest > >
 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 > >
BPMNOS::number timestamp
 
- Protected Member Functions inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest > >
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 > >
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

◆ BestLimitedChoice()

BestLimitedChoice::BestLimitedChoice ( Evaluator * evaluator)

Definition at line 11 of file BestLimitedChoice.cpp.

Member Function Documentation

◆ connect()

void BestLimitedChoice::connect ( Mediator * mediator)
overridevirtual

Reimplemented from BPMNOS::Execution::EventDispatcher.

Definition at line 16 of file BestLimitedChoice.cpp.

◆ dispatchEvent()

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

Implements BPMNOS::Execution::EventDispatcher.

Definition at line 37 of file BestLimitedChoice.cpp.

◆ notice()

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

Implements BPMNOS::Execution::Observer.

Definition at line 24 of file BestLimitedChoice.cpp.


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