BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
GreedyEntry.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_GreedyEntry_H
2#define BPMNOS_Execution_GreedyEntry_H
3
4#include <bpmn++.h>
8
9namespace BPMNOS::Execution {
10
11/**
12 * @brief Class dispatching the first feasible entry event for a token awaiting the entry at an activity or
13 * the best token awaiting the entry at an activity performed by a sequential performer
14 */
15class GreedyEntry : public GreedyDispatcher< std::weak_ptr<const Token>, std::weak_ptr<const DecisionRequest> > {
16public:
18 void connect(Mediator* mediator) override;
19 void notice(const Observable* observable) override;
20 std::shared_ptr<Event> dispatchEvent( const SystemState* systemState ) override;
21protected:
22 auto_list< std::weak_ptr<const Token>, std::weak_ptr<const DecisionRequest>, std::shared_ptr<Decision> > unevaluatedSequentialEntries;
23};
24
25} // namespace BPMNOS::Execution
26
27#endif // BPMNOS_Execution_GreedyEntry_H
28
Represents an abstract base class for an evaluator determining feasibility and reward of a decision.
Definition Evaluator.h:15
Class for dispatching the event with the best evaluation.
Class dispatching the first feasible entry event for a token awaiting the entry at an activity or the...
Definition GreedyEntry.h:15
GreedyEntry(Evaluator *evaluator)
void connect(Mediator *mediator) override
auto_list< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest >, std::shared_ptr< Decision > > unevaluatedSequentialEntries
Definition GreedyEntry.h:22
void notice(const Observable *observable) override
std::shared_ptr< Event > dispatchEvent(const SystemState *systemState) override
A class representing the state that the execution or simulation of a given scenario is in.
Definition SystemState.h:21
List of tuples with automatic removal of tuples containing an expired weak_ptr.
Definition auto_list.h:15
Represents an abstract base class for a class that is an event listener and notifier.
Definition Mediator.h:13