|
BPMN-OS
BPMN for optimization and simulation
|
Data provider supporting stochastic behavior. More...
StochasticDataProvider supports:
Has its own LIMEX handle with lookup tables from Model plus random functions.
Definition at line 26 of file StochasticDataProvider.h.
#include <StochasticDataProvider.h>
Classes | |
| struct | StochasticInstanceData |
Public Member Functions | |
| StochasticDataProvider (const std::string &modelFile, const std::string &instanceFileOrString, unsigned int seed=0) | |
| StochasticDataProvider (const std::string &modelFile, const std::vector< std::string > &folders, const std::string &instanceFileOrString, unsigned int seed=0) | |
| ~StochasticDataProvider () override=default | |
| std::unique_ptr< Scenario > | createScenario (unsigned int scenarioId=0) override |
| const LIMEX::Handle< double > & | getStochasticHandle () const |
| Get the stochastic LIMEX handle (for expression compilation) | |
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 Model & | getModel () const |
Protected Member Functions | |
| void | initializeStochasticHandle () |
| void | readInstances () |
| void | ensureDefaultValue (StochasticInstanceData &instance, const std::string attributeId, std::optional< BPMNOS::number > value=std::nullopt) |
| std::pair< std::string, std::string > | parseInitialization (const std::string &initialization) const |
| BPMNOS::number | evaluateExpression (const std::string &expression) const |
| BPMNOS::number | getEffectiveDisclosure (size_t instanceId, const BPMN::Node *node, BPMNOS::number ownDisclosure) |
Protected Member Functions inherited from BPMNOS::Model::DataProvider | |
| BPMN::Node * | findNode (const std::string &nodeId) const |
Protected Attributes | |
| CSVReader | reader |
| unsigned int | seed |
| size_t | columnCount |
| LIMEX::Handle< double > | stochasticHandle |
| Dedicated LIMEX handle with lookup tables + random functions. | |
| RandomDistributionFactory | randomFactory |
| Random distribution factory. | |
| std::unordered_map< long unsigned int, StochasticInstanceData > | instances |
| std::unordered_map< const Attribute *, BPMNOS::number > | globalValueMap |
| std::unordered_map< size_t, std::vector< StochasticPendingDisclosure > > | pendingDisclosures |
| Pending disclosures with expressions to evaluate at disclosure time. | |
| std::unordered_map< size_t, std::unordered_map< const BPMN::Node *, std::vector< ArrivalExpression > > > | arrivalExpressions |
| Arrival expressions per (instance, node) | |
| std::unordered_map< size_t, std::unordered_map< const BPMN::Node *, std::vector< CompletionExpression > > > | completionExpressions |
| Completion expressions per (instance, node) | |
| std::unordered_map< size_t, std::unordered_map< const BPMN::Node *, BPMNOS::number > > | disclosure |
| Node disclosure times. | |
| BPMNOS::number | earliestInstantiation |
| BPMNOS::number | latestInstantiation |
Protected Attributes inherited from BPMNOS::Model::DataProvider | |
| std::unique_ptr< Model > | model |
| 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. | |
| StochasticDataProvider::StochasticDataProvider | ( | const std::string & | modelFile, |
| const std::string & | instanceFileOrString, | ||
| unsigned int | seed = 0 ) |
Definition at line 12 of file StochasticDataProvider.cpp.
| StochasticDataProvider::StochasticDataProvider | ( | const std::string & | modelFile, |
| const std::vector< std::string > & | folders, | ||
| const std::string & | instanceFileOrString, | ||
| unsigned int | seed = 0 ) |
Definition at line 19 of file StochasticDataProvider.cpp.
|
overridedefault |
|
overridevirtual |
Implements BPMNOS::Model::DataProvider.
Definition at line 425 of file StochasticDataProvider.cpp.
|
protected |
Definition at line 396 of file StochasticDataProvider.cpp.
|
protected |
Definition at line 354 of file StochasticDataProvider.cpp.
|
protected |
Definition at line 373 of file StochasticDataProvider.cpp.
|
inline |
Definition at line 37 of file StochasticDataProvider.h.
|
protected |
Definition at line 50 of file StochasticDataProvider.cpp.
|
protected |
Definition at line 326 of file StochasticDataProvider.cpp.
|
protected |
Definition at line 63 of file StochasticDataProvider.cpp.
|
protected |
Definition at line 67 of file StochasticDataProvider.h.
|
protected |
Definition at line 42 of file StochasticDataProvider.h.
|
protected |
Definition at line 70 of file StochasticDataProvider.h.
|
protected |
Definition at line 73 of file StochasticDataProvider.h.
|
protected |
Definition at line 75 of file StochasticDataProvider.h.
|
protected |
Definition at line 61 of file StochasticDataProvider.h.
|
protected |
Definition at line 60 of file StochasticDataProvider.h.
|
protected |
Definition at line 76 of file StochasticDataProvider.h.
|
protected |
Definition at line 64 of file StochasticDataProvider.h.
|
protected |
Definition at line 48 of file StochasticDataProvider.h.
|
protected |
Definition at line 40 of file StochasticDataProvider.h.
|
protected |
Definition at line 41 of file StochasticDataProvider.h.
|
protected |
Definition at line 45 of file StochasticDataProvider.h.