BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
BPMNOS::Model::ExpectedValueDataProvider Class Reference

Data provider that accepts stochastic CSV format but uses expected values. More...

Detailed Description

ExpectedValueDataProvider accepts CSV files with 3, 4, or 6 columns:

  • 3-column: INSTANCE_ID; NODE_ID; INITIALIZATION
  • 4-column: INSTANCE_ID; NODE_ID; INITIALIZATION; DISCLOSURE
  • 6-column: INSTANCE_ID; NODE_ID; INITIALIZATION; DISCLOSURE; ARRIVAL; COMPLETION

Behavior:

  • DISCLOSURE column is ignored (all values disclosed at time 0)
  • ARRIVAL column is ignored (not applicable for expected value computation)
  • COMPLETION column is ignored (operators can be used to compute expected values)
  • Random functions in INITIALIZATION return expected values instead of sampling

Definition at line 24 of file ExpectedValueDataProvider.h.

#include <ExpectedValueDataProvider.h>

Inheritance diagram for BPMNOS::Model::ExpectedValueDataProvider:

Public Member Functions

 ExpectedValueDataProvider (const std::string &modelFile, const std::string &instanceFileOrString)
 
 ExpectedValueDataProvider (const std::string &modelFile, const std::vector< std::string > &folders, const std::string &instanceFileOrString)
 
 ~ExpectedValueDataProvider () override=default
 
std::unique_ptr< ScenariocreateScenario (unsigned int scenarioId=0) override
 
- Public Member Functions inherited from BPMNOS::Model::StaticDataProvider
 StaticDataProvider (const std::string &modelFile, const std::string &instanceFileOrString)
 Constructor for StaticDataProvider.
 
 StaticDataProvider (const std::string &modelFile, const std::vector< std::string > &folders, const std::string &instanceFileOrString)
 Constructor for StaticDataProvider.
 
 ~StaticDataProvider () override=default
 
std::unique_ptr< ScenariocreateScenario (unsigned int scenarioId=0) override
 
- Public Member Functions inherited from BPMNOS::Model::DataProvider
 DataProvider (const std::string &modelFile, const std::vector< std::string > &folders)
 Constructor for DataProvider.
 
virtual ~DataProvider ()=0
 
const ModelgetModel () const
 

Protected Member Functions

void readInstances ()
 
void readInstancesExtendedFormat (const CSVReader::Table &table, size_t columnCount)
 
BPMNOS::number evaluateExpression (const std::string &expression) const override
 Override to use expectedValueHandle instead of model->limexHandle.
 
void initializeExpectedValueHandle ()
 
- Protected Member Functions inherited from BPMNOS::Model::StaticDataProvider
 StaticDataProvider (const std::string &modelFile, const std::vector< std::string > &folders)
 Protected constructor that skips readInstances() - for derived classes.
 
void readInstances ()
 
void ensureDefaultValue (StaticInstanceData &instance, const std::string attributeId, std::optional< BPMNOS::number > value=std::nullopt)
 
std::pair< std::string, std::string > parseInitialization (const std::string &initialization) const
 
- Protected Member Functions inherited from BPMNOS::Model::DataProvider
BPMN::NodefindNode (const std::string &nodeId) const
 

Protected Attributes

ExpectedValueFactory expectedValueFactory
 
LIMEX::Handle< double > expectedValueHandle
 
- Protected Attributes inherited from BPMNOS::Model::StaticDataProvider
std::unique_ptr< CSVReaderreader
 
std::unordered_map< long unsigned int, StaticInstanceDatainstances
 
std::unordered_map< const Attribute *, BPMNOS::numberglobalValueMap
 
BPMNOS::number earliestInstantiation
 
BPMNOS::number latestInstantiation
 
- Protected Attributes inherited from BPMNOS::Model::DataProvider
std::unique_ptr< Modelmodel
 Pointer to the BPMN model.
 
DataInput attributes
 Map holding all attributes in the model with keys being the process (or nullptr for global attributes) and attribute id. TODO: Remove when old CSV format support is removed.
 

Constructor & Destructor Documentation

◆ ExpectedValueDataProvider() [1/2]

ExpectedValueDataProvider::ExpectedValueDataProvider ( const std::string & modelFile,
const std::string & instanceFileOrString )

Definition at line 9 of file ExpectedValueDataProvider.cpp.

◆ ExpectedValueDataProvider() [2/2]

ExpectedValueDataProvider::ExpectedValueDataProvider ( const std::string & modelFile,
const std::vector< std::string > & folders,
const std::string & instanceFileOrString )

Definition at line 14 of file ExpectedValueDataProvider.cpp.

◆ ~ExpectedValueDataProvider()

BPMNOS::Model::ExpectedValueDataProvider::~ExpectedValueDataProvider ( )
overridedefault

Member Function Documentation

◆ createScenario()

std::unique_ptr< Scenario > ExpectedValueDataProvider::createScenario ( unsigned int scenarioId = 0)
overridevirtual

Implements BPMNOS::Model::DataProvider.

Definition at line 185 of file ExpectedValueDataProvider.cpp.

◆ evaluateExpression()

BPMNOS::number ExpectedValueDataProvider::evaluateExpression ( const std::string & expression) const
overrideprotectedvirtual

Reimplemented from BPMNOS::Model::StaticDataProvider.

Definition at line 36 of file ExpectedValueDataProvider.cpp.

◆ initializeExpectedValueHandle()

void ExpectedValueDataProvider::initializeExpectedValueHandle ( )
protected

Definition at line 23 of file ExpectedValueDataProvider.cpp.

◆ readInstances()

void ExpectedValueDataProvider::readInstances ( )
protected

Definition at line 55 of file ExpectedValueDataProvider.cpp.

◆ readInstancesExtendedFormat()

void ExpectedValueDataProvider::readInstancesExtendedFormat ( const CSVReader::Table & table,
size_t columnCount )
protected

Definition at line 90 of file ExpectedValueDataProvider.cpp.

Member Data Documentation

◆ expectedValueFactory

ExpectedValueFactory BPMNOS::Model::ExpectedValueDataProvider::expectedValueFactory
protected

Definition at line 41 of file ExpectedValueDataProvider.h.

◆ expectedValueHandle

LIMEX::Handle<double> BPMNOS::Model::ExpectedValueDataProvider::expectedValueHandle
protected

Definition at line 42 of file ExpectedValueDataProvider.h.


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