BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
Evaluator.h
Go to the documentation of this file.
1
#ifndef BPMNOS_Execution_Evaluator_H
2
#define BPMNOS_Execution_Evaluator_H
3
4
#include <
bpmn++.h
>
5
#include "
decisions/EntryDecision.h
"
6
#include "
decisions/ExitDecision.h
"
7
#include "
decisions/ChoiceDecision.h
"
8
#include "
decisions/MessageDeliveryDecision.h
"
9
10
namespace
BPMNOS::Execution
{
11
12
/**
13
* @brief Represents an abstract base class for a pending Evaluator
14
*/
15
class
Evaluator
{
16
public
:
17
virtual
std::optional<double>
evaluate
(
EntryDecision
* decision) = 0;
18
virtual
std::optional<double>
evaluate
(
ExitDecision
* decision) = 0;
19
virtual
std::optional<double>
evaluate
(
ChoiceDecision
* decision) = 0;
20
virtual
std::optional<double>
evaluate
(
MessageDeliveryDecision
* decision) = 0;
21
22
virtual
std::set<const BPMNOS::Model::Attribute*>
getDependencies
(
EntryDecision
* decision) = 0;
23
virtual
std::set<const BPMNOS::Model::Attribute*>
getDependencies
(
ExitDecision
* decision) = 0;
24
virtual
std::set<const BPMNOS::Model::Attribute*>
getDependencies
(
ChoiceDecision
* decision) = 0;
25
virtual
std::set<const BPMNOS::Model::Attribute*>
getDependencies
(
MessageDeliveryDecision
* decision) = 0;
26
};
27
28
}
// namespace BPMNOS::Execution
29
30
#endif
// BPMNOS_Execution_Evaluator_H
ChoiceDecision.h
EntryDecision.h
ExitDecision.h
MessageDeliveryDecision.h
bpmn++.h
BPMNOS::Execution::Evaluator
Represents an abstract base class for a pending Evaluator.
Definition
Evaluator.h:15
BPMNOS::Execution::Evaluator::getDependencies
virtual std::set< const BPMNOS::Model::Attribute * > getDependencies(ChoiceDecision *decision)=0
BPMNOS::Execution::Evaluator::evaluate
virtual std::optional< double > evaluate(ChoiceDecision *decision)=0
BPMNOS::Execution::Evaluator::evaluate
virtual std::optional< double > evaluate(ExitDecision *decision)=0
BPMNOS::Execution::Evaluator::evaluate
virtual std::optional< double > evaluate(EntryDecision *decision)=0
BPMNOS::Execution::Evaluator::evaluate
virtual std::optional< double > evaluate(MessageDeliveryDecision *decision)=0
BPMNOS::Execution::Evaluator::getDependencies
virtual std::set< const BPMNOS::Model::Attribute * > getDependencies(ExitDecision *decision)=0
BPMNOS::Execution::Evaluator::getDependencies
virtual std::set< const BPMNOS::Model::Attribute * > getDependencies(EntryDecision *decision)=0
BPMNOS::Execution::Evaluator::getDependencies
virtual std::set< const BPMNOS::Model::Attribute * > getDependencies(MessageDeliveryDecision *decision)=0
BPMNOS::Execution
Definition
Controller.h:9
BPMNOS::Execution::ChoiceDecision
Represents the event that choices are made for a DecisionTask.
Definition
ChoiceDecision.h:18
BPMNOS::Execution::EntryDecision
Represents the event of a token entering a node.
Definition
EntryDecision.h:16
BPMNOS::Execution::ExitDecision
Represents the event of a token exiting a node.
Definition
ExitDecision.h:16
BPMNOS::Execution::MessageDeliveryDecision
Represents the event of a message from the message pool being delivered.
Definition
MessageDeliveryDecision.h:17