BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
GuidedEvaluator.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_GuidedEvaluator_H
2#define BPMNOS_Execution_GuidedEvaluator_H
3
4#include <bpmn++.h>
5#include "LocalEvaluator.h"
6
7namespace BPMNOS::Execution {
8
9/**
10 * @brief Class representing an evaluator that uses the guidance that may be provided.
11 */
13public:
14 bool updateValues(EntryDecision* decision, Values& status, Values& data, Values& globals) override;
15 bool updateValues(ExitDecision* decision, Values& status, Values& data, Values& globals) override;
16 bool updateValues(ChoiceDecision* decision, Values& status, Values& data, Values& globals) override;
17 bool updateValues(MessageDeliveryDecision* decision, Values& status, Values& data, Values& globals) override;
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_GuidedEvaluator_H
Class representing an evaluator that uses the guidance that may be provided.
std::optional< double > evaluate(EntryDecision *decision) override
std::set< const BPMNOS::Model::Attribute * > getDependencies(EntryDecision *decision) override
bool updateValues(EntryDecision *decision, Values &status, Values &data, Values &globals) override
Represents an abstract base class for a pending LocalEvaluator.
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.