BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
MessageDeliveryDecision.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_MessageDeliveryDecision_H
2#define BPMNOS_Execution_MessageDeliveryDecision_H
3
4#include <bpmn++.h>
9
10namespace BPMNOS::Execution {
11
12/**
13 * @brief Represents the event of a message from the message pool being delivered.
14 *
15 * Transition from State::BUSY to State::COMPLETED
16 */
19 std::optional<double> evaluate() override;
20
21 nlohmann::ordered_json jsonify() const override;
22};
23
24} // namespace BPMNOS::Execution
25
26#endif // BPMNOS_Execution_MessageDeliveryDecision_H
27
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
const Token * token
Definition Event.h:18
Represents the event of a message from the message pool being delivered.
std::optional< double > evaluate() override
Evaluates the reward for the decision. Returns null if decision is infeasible.
nlohmann::ordered_json jsonify() const override
MessageDeliveryDecision(const Token *token, const Message *message, Evaluator *evaluator)
Represents the event of a message from the message pool being delivered.
std::weak_ptr< const Message > message