BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
ChoiceDecision.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_ChoiceDecision_H
2#define BPMNOS_Execution_ChoiceDecision_H
3
4#include <bpmn++.h>
8
9namespace BPMNOS::Execution {
10
11class Evaluator;
12
13/**
14 * @brief Represents the event that choices are made for a DecisionTask.
15 *
16 * Transition from State::BUSY to State::COMPLETED
17 */
20 std::optional<double> evaluate() override;
21
22 nlohmann::ordered_json jsonify() const override;
23};
24
25} // namespace BPMNOS::Execution
26
27#endif // BPMNOS_Execution_ChoiceDecision_H
Represents an abstract base class for a pending decision.
Definition Decision.h:15
Represents an abstract base class for a pending Evaluator.
Definition Evaluator.h:15
Represents a token running through a (sub)process.
Definition Token.h:35
Represents the event that choices are made for a DecisionTask.
nlohmann::ordered_json jsonify() const override
std::optional< double > evaluate() override
Evaluates the reward for the decision. Returns null if decision is infeasible.
ChoiceDecision(const Token *token, Values choices, Evaluator *evaluator)
Represents the event that choices are made for a DecisionTask.
Definition ChoiceEvent.h:15
const Token * token
Definition Event.h:18