BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
LocalEvaluator.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_LocalEvaluator_H
2#define BPMNOS_Execution_LocalEvaluator_H
3
4#include <bpmn++.h>
6
7namespace BPMNOS::Execution {
8
9/**
10 * @brief Represents an abstract base class for a pending LocalEvaluator
11 */
12class LocalEvaluator : public Evaluator {
13public:
14 virtual bool updateValues(EntryDecision* decision, Values& status, Values& data, Values& globals);
15 virtual bool updateValues(ExitDecision* decision, Values& status, Values& data, Values& globals);
16 virtual bool updateValues(ChoiceDecision* decision, Values& status, Values& data, Values& globals);
17 virtual bool updateValues(MessageDeliveryDecision* decision, Values& status, Values& data, Values& globals);
18
19 std::optional<double> evaluate(EntryDecision* decision) override;
20 std::optional<double> evaluate(ExitDecision* decision) override;
21 std::optional<double> evaluate(ChoiceDecision* decision) override;
22 std::optional<double> evaluate(MessageDeliveryDecision* decision) override;
23
24 std::set<const BPMNOS::Model::Attribute*> getDependencies(EntryDecision* decision) override;
25 std::set<const BPMNOS::Model::Attribute*> getDependencies(ExitDecision* decision) override;
26 std::set<const BPMNOS::Model::Attribute*> getDependencies(ChoiceDecision* decision) override;
27 std::set<const BPMNOS::Model::Attribute*> getDependencies(MessageDeliveryDecision* decision) override;
28
29};
30
31} // namespace BPMNOS::Execution
32
33#endif // BPMNOS_Execution_LocalEvaluator_H
Represents an abstract base class for a pending Evaluator.
Definition Evaluator.h:15
Represents an abstract base class for a pending LocalEvaluator.
std::set< const BPMNOS::Model::Attribute * > getDependencies(EntryDecision *decision) override
virtual bool updateValues(EntryDecision *decision, Values &status, Values &data, Values &globals)
std::optional< double > evaluate(EntryDecision *decision) override
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.