Storm 1.13.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::storage::SymbolicModelDescription Class Reference

#include <SymbolicModelDescription.h>

Public Types

enum class  ModelType {
  DTMC , CTMC , MDP , MA ,
  POMDP , SMG
}

Public Member Functions

 SymbolicModelDescription ()=default
 SymbolicModelDescription (storm::jani::Model const &model)
 SymbolicModelDescription (storm::prism::Program const &program)
SymbolicModelDescriptionoperator= (storm::jani::Model const &model)
SymbolicModelDescriptionoperator= (storm::prism::Program const &program)
bool hasModel () const
bool isJaniModel () const
bool isPrismProgram () const
ModelType getModelType () const
storm::expressions::ExpressionManagergetManager () const
void setModel (storm::jani::Model const &model)
void setModel (storm::prism::Program const &program)
storm::jani::Model const & asJaniModel () const
storm::jani::ModelasJaniModel ()
storm::prism::Program const & asPrismProgram () const
storm::prism::ProgramasPrismProgram ()
std::vector< std::string > getParameterNames () const
SymbolicModelDescription toJani (bool makeVariablesGlobal=true) const
std::pair< SymbolicModelDescription, std::vector< storm::jani::Property > > toJani (std::vector< storm::jani::Property > const &properties, bool makeVariablesGlobal) const
 Ensures that this model is a JANI model by, e.g., converting prism to jani.
SymbolicModelDescription preprocess (std::string const &constantDefinitionString="") const
SymbolicModelDescription preprocess (std::map< storm::expressions::Variable, storm::expressions::Expression > const &constantDefinitions) const
std::map< storm::expressions::Variable, storm::expressions::ExpressionparseConstantDefinitions (std::string const &constantDefinitionString) const
void requireNoUndefinedConstants () const
bool hasUndefinedConstants () const
std::vector< storm::expressions::VariablegetUndefinedConstants () const

Detailed Description

Definition at line 11 of file SymbolicModelDescription.h.

Member Enumeration Documentation

◆ ModelType

Enumerator
DTMC 
CTMC 
MDP 
MA 
POMDP 
SMG 

Definition at line 13 of file SymbolicModelDescription.h.

Constructor & Destructor Documentation

◆ SymbolicModelDescription() [1/3]

storm::storage::SymbolicModelDescription::SymbolicModelDescription ( )
default

◆ SymbolicModelDescription() [2/3]

storm::storage::SymbolicModelDescription::SymbolicModelDescription ( storm::jani::Model const & model)

Definition at line 18 of file SymbolicModelDescription.cpp.

◆ SymbolicModelDescription() [3/3]

storm::storage::SymbolicModelDescription::SymbolicModelDescription ( storm::prism::Program const & program)

Definition at line 22 of file SymbolicModelDescription.cpp.

Member Function Documentation

◆ asJaniModel() [1/2]

storm::jani::Model & storm::storage::SymbolicModelDescription::asJaniModel ( )

Definition at line 106 of file SymbolicModelDescription.cpp.

◆ asJaniModel() [2/2]

storm::jani::Model const & storm::storage::SymbolicModelDescription::asJaniModel ( ) const

Definition at line 100 of file SymbolicModelDescription.cpp.

◆ asPrismProgram() [1/2]

storm::prism::Program & storm::storage::SymbolicModelDescription::asPrismProgram ( )

Definition at line 118 of file SymbolicModelDescription.cpp.

◆ asPrismProgram() [2/2]

storm::prism::Program const & storm::storage::SymbolicModelDescription::asPrismProgram ( ) const

Definition at line 112 of file SymbolicModelDescription.cpp.

◆ getManager()

storm::expressions::ExpressionManager & storm::storage::SymbolicModelDescription::getManager ( ) const

Definition at line 84 of file SymbolicModelDescription.cpp.

◆ getModelType()

SymbolicModelDescription::ModelType storm::storage::SymbolicModelDescription::getModelType ( ) const

Definition at line 48 of file SymbolicModelDescription.cpp.

◆ getParameterNames()

std::vector< std::string > storm::storage::SymbolicModelDescription::getParameterNames ( ) const

Definition at line 124 of file SymbolicModelDescription.cpp.

◆ getUndefinedConstants()

std::vector< storm::expressions::Variable > storm::storage::SymbolicModelDescription::getUndefinedConstants ( ) const

Definition at line 206 of file SymbolicModelDescription.cpp.

◆ hasModel()

bool storm::storage::SymbolicModelDescription::hasModel ( ) const

Definition at line 36 of file SymbolicModelDescription.cpp.

◆ hasUndefinedConstants()

bool storm::storage::SymbolicModelDescription::hasUndefinedConstants ( ) const

Definition at line 198 of file SymbolicModelDescription.cpp.

◆ isJaniModel()

bool storm::storage::SymbolicModelDescription::isJaniModel ( ) const

Definition at line 40 of file SymbolicModelDescription.cpp.

◆ isPrismProgram()

bool storm::storage::SymbolicModelDescription::isPrismProgram ( ) const

Definition at line 44 of file SymbolicModelDescription.cpp.

◆ operator=() [1/2]

SymbolicModelDescription & storm::storage::SymbolicModelDescription::operator= ( storm::jani::Model const & model)

Definition at line 26 of file SymbolicModelDescription.cpp.

◆ operator=() [2/2]

SymbolicModelDescription & storm::storage::SymbolicModelDescription::operator= ( storm::prism::Program const & program)

Definition at line 31 of file SymbolicModelDescription.cpp.

◆ parseConstantDefinitions()

std::map< storm::expressions::Variable, storm::expressions::Expression > storm::storage::SymbolicModelDescription::parseConstantDefinitions ( std::string const & constantDefinitionString) const

Definition at line 181 of file SymbolicModelDescription.cpp.

◆ preprocess() [1/2]

SymbolicModelDescription storm::storage::SymbolicModelDescription::preprocess ( std::map< storm::expressions::Variable, storm::expressions::Expression > const & constantDefinitions) const

Definition at line 167 of file SymbolicModelDescription.cpp.

◆ preprocess() [2/2]

SymbolicModelDescription storm::storage::SymbolicModelDescription::preprocess ( std::string const & constantDefinitionString = "") const

Definition at line 162 of file SymbolicModelDescription.cpp.

◆ requireNoUndefinedConstants()

void storm::storage::SymbolicModelDescription::requireNoUndefinedConstants ( ) const

Definition at line 190 of file SymbolicModelDescription.cpp.

◆ setModel() [1/2]

void storm::storage::SymbolicModelDescription::setModel ( storm::jani::Model const & model)

Definition at line 92 of file SymbolicModelDescription.cpp.

◆ setModel() [2/2]

void storm::storage::SymbolicModelDescription::setModel ( storm::prism::Program const & program)

Definition at line 96 of file SymbolicModelDescription.cpp.

◆ toJani() [1/2]

SymbolicModelDescription storm::storage::SymbolicModelDescription::toJani ( bool makeVariablesGlobal = true) const

Definition at line 138 of file SymbolicModelDescription.cpp.

◆ toJani() [2/2]

std::pair< SymbolicModelDescription, std::vector< storm::jani::Property > > storm::storage::SymbolicModelDescription::toJani ( std::vector< storm::jani::Property > const & properties,
bool makeVariablesGlobal ) const

Ensures that this model is a JANI model by, e.g., converting prism to jani.

If labels or reward models had to be converted during conversion, the renamings are applied to the given properties

Returns
The jani model of this and either the new set of properties or an empty vector if no renamings were necessary
Note
The returned property vector might be empty in case no renaming is necessary.

Definition at line 149 of file SymbolicModelDescription.cpp.


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