BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
BPMNOS::Execution::Decision Class Referenceabstract

Represents an abstract base class for a pending decision. More...

Detailed Description

Definition at line 15 of file Decision.h.

#include <Decision.h>

Inheritance diagram for BPMNOS::Execution::Decision:

Public Member Functions

 Decision (Evaluator *evaluator)
 
virtual std::optional< double > evaluate ()=0
 Evaluates the reward for the decision. Returns null if decision is infeasible.
 
- Public Member Functions inherited from BPMNOS::Execution::Event
constexpr Type getObservableType () const override
 
 Event (const Token *token)
 
virtual ~Event ()=default
 
virtual void processBy (Engine *engine) const =0
 
template<typename T >
const T * is () const
 Returns a pointer of type T of the Event.
 
virtual nlohmann::ordered_json jsonify () const =0
 
- Public Member Functions inherited from BPMNOS::Execution::Observable
 ~Observable ()
 

Public Attributes

std::optional< double > evaluation
 Latest evaluation or null if decision has not been evaluated or evaluation is no longer valid.
 
bool timeDependent
 
std::set< const BPMNOS::Model::Attribute * > dataDependencies
 
- Public Attributes inherited from BPMNOS::Execution::Event
const Tokentoken
 

Protected Member Functions

void determineDependencies (const std::set< const BPMNOS::Model::Attribute * > &dependencies)
 

Protected Attributes

Evaluatorevaluator
 

Additional Inherited Members

- Public Types inherited from BPMNOS::Execution::Observable
enum class  Type {
  Token , Message , SequentialPerformerUpdate , Event ,
  DataUpdate , EntryRequest , ChoiceRequest , ExitRequest ,
  MessageDeliveryRequest , Count
}
 

Constructor & Destructor Documentation

◆ Decision()

Decision::Decision ( Evaluator * evaluator)

Definition at line 6 of file Decision.cpp.

Member Function Documentation

◆ determineDependencies()

void Decision::determineDependencies ( const std::set< const BPMNOS::Model::Attribute * > & dependencies)
protected

Definition at line 12 of file Decision.cpp.

◆ evaluate()

virtual std::optional< double > BPMNOS::Execution::Decision::evaluate ( )
pure virtual

Member Data Documentation

◆ dataDependencies

std::set<const BPMNOS::Model::Attribute*> BPMNOS::Execution::Decision::dataDependencies

Definition at line 23 of file Decision.h.

◆ evaluation

std::optional<double> BPMNOS::Execution::Decision::evaluation

Definition at line 20 of file Decision.h.

◆ evaluator

Evaluator* BPMNOS::Execution::Decision::evaluator
protected

Definition at line 26 of file Decision.h.

◆ timeDependent

bool BPMNOS::Execution::Decision::timeDependent

Definition at line 22 of file Decision.h.


The documentation for this class was generated from the following files: