BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
Decision.cpp
Go to the documentation of this file.
1
#include "
Decision.h
"
2
3
using namespace
BPMNOS::Execution
;
4
5
6
Decision::Decision
(
Evaluator
* evaluator)
7
: timeDependent(false)
8
, evaluator(evaluator)
9
{
10
}
11
12
void
Decision::determineDependencies
(
const
std::set<const BPMNOS::Model::Attribute*>& dependencies) {
13
for
(
auto
attribute : dependencies ) {
14
if
( attribute->category !=
BPMNOS::Model::Attribute::Category::STATUS
) {
15
if
( !attribute->isImmutable ) {
16
dataDependencies
.insert(attribute);
17
}
18
}
19
else
if
( attribute->index ==
BPMNOS::Model::ExtensionElements::Index::Timestamp
) {
20
timeDependent
=
true
;
21
}
22
}
23
}
Decision.h
BPMNOS::Execution::Decision::timeDependent
bool timeDependent
Definition
Decision.h:22
BPMNOS::Execution::Decision::Decision
Decision(Evaluator *evaluator)
Definition
Decision.cpp:6
BPMNOS::Execution::Decision::dataDependencies
std::set< const BPMNOS::Model::Attribute * > dataDependencies
Definition
Decision.h:23
BPMNOS::Execution::Decision::determineDependencies
void determineDependencies(const std::set< const BPMNOS::Model::Attribute * > &dependencies)
Definition
Decision.cpp:12
BPMNOS::Execution::Evaluator
Represents an abstract base class for a pending Evaluator.
Definition
Evaluator.h:15
BPMNOS::Model::Attribute::Category::STATUS
@ STATUS
BPMNOS::Execution
Definition
Controller.h:9
BPMNOS::Model::ExtensionElements::Index::Timestamp
static constexpr size_t Timestamp
Definition
ExtensionElements.h:32