|
BPMN-OS
BPMN for optimization and simulation
|
Class for dispatching the event with the best evaluation. More...
Definition at line 18 of file GreedyDispatcher.h.
#include <GreedyDispatcher.h>
Public Member Functions | |
| GreedyDispatcher (Evaluator *evaluator) | |
| virtual | ~GreedyDispatcher ()=default |
| std::shared_ptr< Event > | dispatchEvent (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 | |
Public Attributes | |
| BPMNOS::number | timestamp |
Protected Member Functions | |
| 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 | |
| Evaluator * | evaluator |
| 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 |
| GreedyDispatcher::GreedyDispatcher | ( | Evaluator * | evaluator | ) |
Definition at line 10 of file GreedyDispatcher.cpp.
|
virtualdefault |
|
protected |
Definition at line 28 of file GreedyDispatcher.cpp.
|
protected |
Definition at line 151 of file GreedyDispatcher.cpp.
|
overridevirtual |
Reimplemented from BPMNOS::Execution::EventDispatcher.
Definition at line 20 of file GreedyDispatcher.cpp.
|
protectedvirtual |
Definition at line 145 of file GreedyDispatcher.cpp.
|
overridevirtual |
Implements BPMNOS::Execution::EventDispatcher.
Definition at line 60 of file GreedyDispatcher.cpp.
|
protected |
Definition at line 97 of file GreedyDispatcher.cpp.
|
overridevirtual |
Implements BPMNOS::Execution::Observer.
Definition at line 89 of file GreedyDispatcher.cpp.
|
protected |
Definition at line 126 of file GreedyDispatcher.cpp.
|
protected |
Definition at line 107 of file GreedyDispatcher.cpp.
|
protected |
Definition at line 40 of file GreedyDispatcher.h.
|
protected |
Definition at line 28 of file GreedyDispatcher.h.
|
protected |
Definition at line 32 of file GreedyDispatcher.h.
|
protected |
Definition at line 27 of file GreedyDispatcher.h.
|
protected |
Definition at line 38 of file GreedyDispatcher.h.
|
protected |
Definition at line 41 of file GreedyDispatcher.h.
|
protected |
Definition at line 39 of file GreedyDispatcher.h.
| BPMNOS::number BPMNOS::Execution::GreedyDispatcher< WeakPtrs >::timestamp |
Definition at line 25 of file GreedyDispatcher.h.