BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
RandomChoice.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_RandomChoice_H
2#define BPMNOS_Execution_RandomChoice_H
3
4#include <bpmn++.h>
7
8namespace BPMNOS::Execution {
9
10/**
11 * @brief Class creating a random choice event for a token at a decision task.
12 *
13 * The RandomChoice dispatcher creates a the random choice considering the
14 * boundaries for a numeric decision or any enumerated value for a string decision.
15 * The boundaries and enumeration values are deduced from the attribute type
16 * and restrictions of type @ref BPMNOS::Model::LinearExpression or @ref BPMNOS::Model::Enumeration.
17 * limits imply an empty domain, an error event is created. It is assumed that the existence
18 * of a feasible choice does not depend on the timestamp for any moment after entry
19 * of the decision task and until the decision is made.
20 */
22public:
24 std::shared_ptr<Event> dispatchEvent( const SystemState* systemState ) override;
26};
27
28} // namespace BPMNOS::Execution
29
30#endif // BPMNOS_Execution_RandomChoice_H
31
Class creating a random choice event for a token at a decision task.
BPMNOS::RandomGenerator randomGenerator
std::shared_ptr< Event > dispatchEvent(const SystemState *systemState) override
A class representing the state that the execution or simulation of a given scenario is in.
Definition SystemState.h:21
std::mt19937 RandomGenerator