OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment that supports ordinary (i.e., non-delayed) and TLM connections.
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
oms::Component Class Referenceabstract

#include <Component.h>

Inheritance diagram for oms::Component:
oms::ComponentFMUCS oms::ComponentFMUME oms::ComponentTable oms::ExternalModel

Public Member Functions

virtual ~Component ()
 
virtual oms_status_enu_t addSignalsToResults (const char *regex)=0
 
virtual oms_status_enu_t exportToSSD (pugi::xml_node &node, Snapshot &snapshot, std::string variantName) const =0
 
virtual oms_status_enu_t exportToSSV (pugi::xml_node &ssvNode)
 
virtual void getFilteredUnitDefinitionsToSSD (std::map< std::string, std::map< std::string, std::string >> &unitDefinitions)
 
virtual void getFilteredEnumerationDefinitionsToSSD (std::map< std::string, std::map< std::string, std::string >> &enumerationDefinitions)
 
virtual oms_status_enu_t initialize ()=0
 
virtual oms_status_enu_t instantiate ()=0
 
virtual oms_status_enu_t registerSignalsForResultFile (ResultWriter &resultFile)=0
 
virtual oms_status_enu_t removeSignalsFromResults (const char *regex)=0
 
virtual oms_status_enu_t reset ()=0
 
virtual oms_status_enu_t terminate ()=0
 
virtual oms_status_enu_t updateSignals (ResultWriter &resultWriter)=0
 
virtual VariablegetVariable (const ComRef &cref)=0
 
virtual bool getCanGetAndSetState ()
 
virtual const FMUInfogetFMUInfo () const
 
virtual oms_status_enu_t deleteStartValue (const ComRef &cref)
 
virtual std::vector< ValuesgetValuesResources ()
 
virtual ValuesgetValues ()
 
virtual oms_status_enu_t setValuesResources (Values &values)
 
virtual oms_status_enu_t updateOrDeleteStartValueInReplacedComponent (std::vector< std::string > &warningList)
 
virtual oms_status_enu_t exportToSSMTemplate (pugi::xml_node &ssmNode)
 
virtual oms_status_enu_t exportToSSVTemplate (pugi::xml_node &ssvNode, Snapshot &snapshot)
 
virtual oms_status_enu_t freeState ()
 
virtual oms_status_enu_t getBoolean (const ComRef &cref, bool &value)
 
virtual oms_status_enu_t getInteger (const ComRef &cref, int &value)
 
virtual oms_status_enu_t getReal (const ComRef &cref, double &value)
 
virtual oms_status_enu_t getString (const ComRef &cref, std::string &value)
 
virtual oms_status_enu_t getRealOutputDerivative (const ComRef &cref, SignalDerivative &der)
 
virtual oms_status_enu_t getDirectionalDerivative (const ComRef &unknownCref, const ComRef &knownCref, double &value)
 
virtual oms_status_enu_t restoreState ()
 
virtual oms_status_enu_t saveState ()
 
virtual oms_status_enu_t setBoolean (const ComRef &cref, bool value)
 
virtual oms_status_enu_t setFaultInjection (const ComRef &signal, oms_fault_type_enu_t faultType, double faultValue)
 
virtual oms_status_enu_t setInteger (const ComRef &cref, int value)
 
virtual oms_status_enu_t setReal (const ComRef &cref, double value)
 
virtual oms_status_enu_t setString (const ComRef &cref, const std::string &value)
 
virtual oms_status_enu_t setUnit (const ComRef &cref, const std::string &value)
 
virtual oms_status_enu_t setRealInputDerivative (const ComRef &cref, const SignalDerivative &der)
 
virtual oms_status_enu_t stepUntil (double stopTime)
 
virtual oms_status_enu_t newResources (const std::string &ssvFileName, const std::string &ssmFileName, bool externalResources)
 
virtual oms_status_enu_t addResources (std::string &filename)
 
virtual oms_status_enu_t deleteReferencesInSSD (const std::string &filename)
 
virtual oms_status_enu_t deleteResourcesInSSP (const std::string &filename)
 
const ComRefgetCref () const
 
ComRef getFullCref () const
 
ElementgetElement ()
 
ConnectorgetConnector (const ComRef &cref)
 
Connector ** getConnectors ()
 
oms_status_enu_t deleteConnector (const ComRef &cref)
 
void getAllResources (std::vector< std::string > &resources) const
 
const std::string & getPath () const
 
const std::string & getTempDir () const
 
void setPath (const std::string &newPath)
 
void setTempDir (const std::string &tempDir)
 
oms_component_enu_t getType () const
 
void fetchAllVars (bool enableOption)
 
SystemgetParentSystem () const
 
ModelgetModel () const
 
void setGeometry (const ssd::ElementGeometry &geometry)
 
oms_status_enu_t addTLMBus (const oms::ComRef &cref, oms_tlm_domain_t domain, const int dimensions, const oms_tlm_interpolation_t interpolation)
 
oms::TLMBusConnectorgetTLMBusConnector (const oms::ComRef &cref)
 
TLMBusConnector ** getTLMBusConnectors ()
 
oms_status_enu_t addConnectorToTLMBus (const ComRef &busCref, const ComRef &connectorCref, const std::string type)
 
oms_status_enu_t deleteConnectorFromTLMBus (const ComRef &busCref, const ComRef &connectorCref)
 
const DirectedGraphgetInitialUnknownsGraph ()
 
const DirectedGraphgetOutputsGraph ()
 
oms_status_enu_t rename (const ComRef &newCref)
 rename submodules, e.g., fmu:s More...
 
virtual void getFilteredSignals (std::vector< Connector > &filteredSignals) const =0
 

Protected Member Functions

 Component (const ComRef &cref, oms_component_enu_t type, System *parentSystem, const std::string &path)
 
 Component (Component const &)
 not implemented More...
 
Componentoperator= (Component const &)
 not implemented More...
 
virtual oms_status_enu_t renameValues (const ComRef &oldCref, const ComRef &newCref)
 

Protected Attributes

DirectedGraph initialUnknownsGraph
 
DirectedGraph outputsGraph
 
Element element
 
std::vector< Connector * > connectors
 
std::vector< TLMBusConnector * > tlmbusconnectors
 
Clock clock
 
unsigned int clock_id
 
bool fetchAllVars_ = false
 

Private Attributes

SystemparentSystem
 
ComRef cref
 
oms_component_enu_t type
 
std::string path
 resource file (fmu, mat) More...
 
std::string tempDir
 unzipped fmu More...
 
Values values
 

Constructor & Destructor Documentation

◆ ~Component()

oms::Component::~Component ( )
virtual

◆ Component() [1/2]

oms::Component::Component ( const ComRef cref,
oms_component_enu_t  type,
System parentSystem,
const std::string &  path 
)
protected

◆ Component() [2/2]

oms::Component::Component ( Component const &  )
protected

not implemented

Member Function Documentation

◆ addConnectorToTLMBus()

oms_status_enu_t oms::Component::addConnectorToTLMBus ( const ComRef busCref,
const ComRef connectorCref,
const std::string  type 
)

◆ addResources()

virtual oms_status_enu_t oms::Component::addResources ( std::string &  filename)
inlinevirtual

◆ addSignalsToResults()

virtual oms_status_enu_t oms::Component::addSignalsToResults ( const char *  regex)
pure virtual

◆ addTLMBus()

oms_status_enu_t oms::Component::addTLMBus ( const oms::ComRef cref,
oms_tlm_domain_t  domain,
const int  dimensions,
const oms_tlm_interpolation_t  interpolation 
)

◆ deleteConnector()

oms_status_enu_t oms::Component::deleteConnector ( const ComRef cref)

◆ deleteConnectorFromTLMBus()

oms_status_enu_t oms::Component::deleteConnectorFromTLMBus ( const ComRef busCref,
const ComRef connectorCref 
)

◆ deleteReferencesInSSD()

virtual oms_status_enu_t oms::Component::deleteReferencesInSSD ( const std::string &  filename)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ deleteResourcesInSSP()

virtual oms_status_enu_t oms::Component::deleteResourcesInSSP ( const std::string &  filename)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ deleteStartValue()

virtual oms_status_enu_t oms::Component::deleteStartValue ( const ComRef cref)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ exportToSSD()

virtual oms_status_enu_t oms::Component::exportToSSD ( pugi::xml_node &  node,
Snapshot snapshot,
std::string  variantName 
) const
pure virtual

◆ exportToSSMTemplate()

virtual oms_status_enu_t oms::Component::exportToSSMTemplate ( pugi::xml_node &  ssmNode)
inlinevirtual

◆ exportToSSV()

virtual oms_status_enu_t oms::Component::exportToSSV ( pugi::xml_node &  ssvNode)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ exportToSSVTemplate()

virtual oms_status_enu_t oms::Component::exportToSSVTemplate ( pugi::xml_node &  ssvNode,
Snapshot snapshot 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ fetchAllVars()

void oms::Component::fetchAllVars ( bool  enableOption)
inline

◆ freeState()

virtual oms_status_enu_t oms::Component::freeState ( )
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentTable.

◆ getAllResources()

void oms::Component::getAllResources ( std::vector< std::string > &  resources) const
inline

◆ getBoolean()

virtual oms_status_enu_t oms::Component::getBoolean ( const ComRef cref,
bool &  value 
)
inlinevirtual

◆ getCanGetAndSetState()

virtual bool oms::Component::getCanGetAndSetState ( )
inlinevirtual

◆ getConnector()

oms::Connector * oms::Component::getConnector ( const ComRef cref)

◆ getConnectors()

Connector** oms::Component::getConnectors ( )
inline

◆ getCref()

const ComRef& oms::Component::getCref ( ) const
inline

◆ getDirectionalDerivative()

virtual oms_status_enu_t oms::Component::getDirectionalDerivative ( const ComRef unknownCref,
const ComRef knownCref,
double &  value 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ getElement()

Element* oms::Component::getElement ( )
inline

◆ getFilteredEnumerationDefinitionsToSSD()

virtual void oms::Component::getFilteredEnumerationDefinitionsToSSD ( std::map< std::string, std::map< std::string, std::string >> &  enumerationDefinitions)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ getFilteredSignals()

virtual void oms::Component::getFilteredSignals ( std::vector< Connector > &  filteredSignals) const
pure virtual

◆ getFilteredUnitDefinitionsToSSD()

virtual void oms::Component::getFilteredUnitDefinitionsToSSD ( std::map< std::string, std::map< std::string, std::string >> &  unitDefinitions)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ getFMUInfo()

virtual const FMUInfo* oms::Component::getFMUInfo ( ) const
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ getFullCref()

oms::ComRef oms::Component::getFullCref ( ) const

◆ getInitialUnknownsGraph()

const DirectedGraph& oms::Component::getInitialUnknownsGraph ( )
inline

◆ getInteger()

virtual oms_status_enu_t oms::Component::getInteger ( const ComRef cref,
int &  value 
)
inlinevirtual

◆ getModel()

oms::Model & oms::Component::getModel ( ) const

◆ getOutputsGraph()

const DirectedGraph& oms::Component::getOutputsGraph ( )
inline

◆ getParentSystem()

System* oms::Component::getParentSystem ( ) const
inline

◆ getPath()

const std::string& oms::Component::getPath ( ) const
inline

◆ getReal()

virtual oms_status_enu_t oms::Component::getReal ( const ComRef cref,
double &  value 
)
inlinevirtual

◆ getRealOutputDerivative()

virtual oms_status_enu_t oms::Component::getRealOutputDerivative ( const ComRef cref,
SignalDerivative der 
)
inlinevirtual

Reimplemented in oms::ComponentTable, and oms::ComponentFMUCS.

◆ getString()

virtual oms_status_enu_t oms::Component::getString ( const ComRef cref,
std::string &  value 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ getTempDir()

const std::string& oms::Component::getTempDir ( ) const
inline

◆ getTLMBusConnector()

oms::TLMBusConnector * oms::Component::getTLMBusConnector ( const oms::ComRef cref)

◆ getTLMBusConnectors()

TLMBusConnector** oms::Component::getTLMBusConnectors ( )
inline

◆ getType()

oms_component_enu_t oms::Component::getType ( ) const
inline

◆ getValues()

virtual Values& oms::Component::getValues ( )
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ getValuesResources()

virtual std::vector<Values> oms::Component::getValuesResources ( )
inlinevirtual

◆ getVariable()

virtual Variable* oms::Component::getVariable ( const ComRef cref)
pure virtual

◆ initialize()

virtual oms_status_enu_t oms::Component::initialize ( )
pure virtual

◆ instantiate()

virtual oms_status_enu_t oms::Component::instantiate ( )
pure virtual

◆ newResources()

virtual oms_status_enu_t oms::Component::newResources ( const std::string &  ssvFileName,
const std::string &  ssmFileName,
bool  externalResources 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ operator=()

Component& oms::Component::operator= ( Component const &  )
protected

not implemented

◆ registerSignalsForResultFile()

virtual oms_status_enu_t oms::Component::registerSignalsForResultFile ( ResultWriter resultFile)
pure virtual

◆ removeSignalsFromResults()

virtual oms_status_enu_t oms::Component::removeSignalsFromResults ( const char *  regex)
pure virtual

◆ rename()

oms_status_enu_t oms::Component::rename ( const ComRef newCref)

rename submodules, e.g., fmu:s

◆ renameValues()

virtual oms_status_enu_t oms::Component::renameValues ( const ComRef oldCref,
const ComRef newCref 
)
inlineprotectedvirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ reset()

virtual oms_status_enu_t oms::Component::reset ( )
pure virtual

◆ restoreState()

virtual oms_status_enu_t oms::Component::restoreState ( )
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentTable.

◆ saveState()

virtual oms_status_enu_t oms::Component::saveState ( )
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentTable.

◆ setBoolean()

virtual oms_status_enu_t oms::Component::setBoolean ( const ComRef cref,
bool  value 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ setFaultInjection()

virtual oms_status_enu_t oms::Component::setFaultInjection ( const ComRef signal,
oms_fault_type_enu_t  faultType,
double  faultValue 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ setGeometry()

void oms::Component::setGeometry ( const ssd::ElementGeometry geometry)
inline

◆ setInteger()

virtual oms_status_enu_t oms::Component::setInteger ( const ComRef cref,
int  value 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ setPath()

void oms::Component::setPath ( const std::string &  newPath)
inline

◆ setReal()

virtual oms_status_enu_t oms::Component::setReal ( const ComRef cref,
double  value 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ setRealInputDerivative()

virtual oms_status_enu_t oms::Component::setRealInputDerivative ( const ComRef cref,
const SignalDerivative der 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS.

◆ setString()

virtual oms_status_enu_t oms::Component::setString ( const ComRef cref,
const std::string &  value 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ setTempDir()

void oms::Component::setTempDir ( const std::string &  tempDir)
inline

◆ setUnit()

virtual oms_status_enu_t oms::Component::setUnit ( const ComRef cref,
const std::string &  value 
)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ setValuesResources()

virtual oms_status_enu_t oms::Component::setValuesResources ( Values values)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ stepUntil()

virtual oms_status_enu_t oms::Component::stepUntil ( double  stopTime)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentTable.

◆ terminate()

virtual oms_status_enu_t oms::Component::terminate ( )
pure virtual

◆ updateOrDeleteStartValueInReplacedComponent()

virtual oms_status_enu_t oms::Component::updateOrDeleteStartValueInReplacedComponent ( std::vector< std::string > &  warningList)
inlinevirtual

Reimplemented in oms::ComponentFMUCS, and oms::ComponentFMUME.

◆ updateSignals()

virtual oms_status_enu_t oms::Component::updateSignals ( ResultWriter resultWriter)
pure virtual

Member Data Documentation

◆ clock

Clock oms::Component::clock
protected

◆ clock_id

unsigned int oms::Component::clock_id
protected

◆ connectors

std::vector<Connector*> oms::Component::connectors
protected

◆ cref

ComRef oms::Component::cref
private

◆ element

Element oms::Component::element
protected

◆ fetchAllVars_

bool oms::Component::fetchAllVars_ = false
protected

◆ initialUnknownsGraph

DirectedGraph oms::Component::initialUnknownsGraph
protected

◆ outputsGraph

DirectedGraph oms::Component::outputsGraph
protected

◆ parentSystem

System* oms::Component::parentSystem
private

◆ path

std::string oms::Component::path
private

resource file (fmu, mat)

◆ tempDir

std::string oms::Component::tempDir
private

unzipped fmu

◆ tlmbusconnectors

std::vector<TLMBusConnector*> oms::Component::tlmbusconnectors
protected

◆ type

oms_component_enu_t oms::Component::type
private

◆ values

Values oms::Component::values
private

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