1#ifndef BPMNOS_Execution_CPController_H
2#define BPMNOS_Execution_CPController_H
18class CPController :
public SeededController {
22 void setSolution(CP::Solution solution);
24 void notice(
const Observable* observable)
override;
25 std::shared_ptr<Event> createEntryEvent(
const SystemState* systemState,
const Token* token,
const Vertex* vertex)
override;
26 std::shared_ptr<Event> createExitEvent(
const SystemState* systemState,
const Token* token,
const Vertex* vertex)
override;
27 std::shared_ptr<Event> createChoiceEvent(
const SystemState* systemState,
const Token* token,
const Vertex* vertex)
override;
28 std::shared_ptr<Event> createMessageDeliveryEvent(
const SystemState* systemState,
const Token* token,
const Vertex* vertex)
override;
30 CPModel constraintProgramm;
33 std::unique_ptr<CP::Solution> solution;
34 auto_list< std::weak_ptr<const Message>,
const Vertex* > messages;
36 bool isVisited(
const Vertex* vertex)
const;
40 void initializeFromSolution();
Represents a graph containing all BPMN nodes that may receive a token during execution of a scenario.
BPMNOS_NUMBER_TYPE number