BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
Evaluator.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_Evaluator_H
2#define BPMNOS_Execution_Evaluator_H
3
4#include <bpmn++.h>
9
10namespace BPMNOS::Execution {
11
12/**
13 * @brief Represents an abstract base class for a pending Evaluator
14 */
15class Evaluator {
16public:
17 virtual std::optional<double> evaluate(EntryDecision* decision) = 0;
18 virtual std::optional<double> evaluate(ExitDecision* decision) = 0;
19 virtual std::optional<double> evaluate(ChoiceDecision* decision) = 0;
20 virtual std::optional<double> evaluate(MessageDeliveryDecision* decision) = 0;
21
22 virtual std::set<const BPMNOS::Model::Attribute*> getDependencies(EntryDecision* decision) = 0;
23 virtual std::set<const BPMNOS::Model::Attribute*> getDependencies(ExitDecision* decision) = 0;
24 virtual std::set<const BPMNOS::Model::Attribute*> getDependencies(ChoiceDecision* decision) = 0;
25 virtual std::set<const BPMNOS::Model::Attribute*> getDependencies(MessageDeliveryDecision* decision) = 0;
26};
27
28} // namespace BPMNOS::Execution
29
30#endif // BPMNOS_Execution_Evaluator_H
Represents an abstract base class for a pending Evaluator.
Definition Evaluator.h:15
virtual std::set< const BPMNOS::Model::Attribute * > getDependencies(ChoiceDecision *decision)=0
virtual std::optional< double > evaluate(ChoiceDecision *decision)=0
virtual std::optional< double > evaluate(ExitDecision *decision)=0
virtual std::optional< double > evaluate(EntryDecision *decision)=0
virtual std::optional< double > evaluate(MessageDeliveryDecision *decision)=0
virtual std::set< const BPMNOS::Model::Attribute * > getDependencies(ExitDecision *decision)=0
virtual std::set< const BPMNOS::Model::Attribute * > getDependencies(EntryDecision *decision)=0
virtual std::set< const BPMNOS::Model::Attribute * > getDependencies(MessageDeliveryDecision *decision)=0
Represents the event that choices are made for a DecisionTask.
Represents the event of a token entering a node.
Represents the event of a token exiting a node.
Represents the event of a message from the message pool being delivered.