BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
ScenarioUpdater.h
Go to the documentation of this file.
1#ifndef BPMNOS_Execution_ScenarioUpdater_H
2#define BPMNOS_Execution_ScenarioUpdater_H
3
5
6namespace BPMNOS::Execution {
7
8class Engine;
9
10/**
11 * @brief Observer that updates scenario state during execution.
12 *
13 * - On ClockTick: calls scenario->revealData() for deferred disclosure
14 * - On Token ARRIVED/CREATED at Activity: calls scenario->initializeArrivalData()
15 * - On Token BUSY at Task: calls scenario->setTaskCompletionStatus()
16 *
17 * Works with Static, Dynamic, and Stochastic scenarios.
18 */
19class ScenarioUpdater : public Observer {
20public:
21 ScenarioUpdater() = default;
22
23 void subscribe(Engine* engine);
24 void notice(const Observable* observable) override;
25};
26
27} // namespace BPMNOS::Execution
28
29#endif // BPMNOS_Execution_ScenarioUpdater_H
Observer that updates scenario state during execution.
void notice(const Observable *observable) override