|
| Model () |
| Creates an uninitialized model.
|
|
| Model (std::string const &name, ModelType const &modelType, uint64_t version=1, boost::optional< std::shared_ptr< storm::expressions::ExpressionManager > > const &expressionManager=boost::none) |
| Creates an empty model with the given type.
|
|
| Model (Model const &other) |
| Copies the given model.
|
|
Model & | operator= (Model const &other) |
| Copy-assigns the given model.
|
|
| Model (Model &&other) |
|
Model & | operator= (Model &&other) |
|
storm::expressions::ExpressionManager & | getManager () const |
| Retrieves the expression manager responsible for the expressions in the model.
|
|
uint64_t | getJaniVersion () const |
| Retrieves the JANI-version of the model.
|
|
ModelType const & | getModelType () const |
| Retrieves the type of the model.
|
|
void | setModelType (ModelType const &) |
| Changes (only) the type declaration of the model.
|
|
ModelFeatures const & | getModelFeatures () const |
| Retrieves the enabled model features.
|
|
ModelFeatures & | getModelFeatures () |
| Retrieves the enabled model features.
|
|
std::string const & | getName () const |
| Retrieves the name of the model.
|
|
void | setName (std::string const &newName) |
| Sets the name of the model.
|
|
Model | flattenComposition (std::shared_ptr< storm::utility::solver::SmtSolverFactory > const &smtSolverFactory=std::make_shared< storm::utility::solver::SmtSolverFactory >()) const |
| Flatten the composition to obtain an equivalent model that contains exactly one automaton that has the standard composition.
|
|
bool | hasAction (std::string const &name) const |
| Checks whether the model has an action with the given name.
|
|
uint64_t | getActionIndex (std::string const &name) const |
| Get the index of the action.
|
|
std::unordered_map< std::string, uint64_t > const & | getActionToIndexMap () const |
| Retrieves the mapping from action names to their indices.
|
|
uint64_t | addAction (Action const &action) |
| Adds an action to the model.
|
|
Action const & | getAction (uint64_t index) const |
| Retrieves the action with the given index.
|
|
std::vector< Action > const & | getActions () const |
| Retrieves the actions of the model.
|
|
std::map< uint64_t, std::string > | getActionIndexToNameMap () const |
| Builds a map with action indices mapped to their names.
|
|
storm::storage::FlatSet< uint64_t > const & | getNonsilentActionIndices () const |
| Retrieves all non-silent action indices of the model.
|
|
void | addConstant (Constant const &constant) |
| Adds the given constant to the model.
|
|
bool | hasConstant (std::string const &name) const |
| Retrieves whether the model has a constant with the given name.
|
|
void | removeConstant (std::string const &name) |
| Removes (without checks) a constant from the model.
|
|
std::vector< Constant > const & | getConstants () const |
| Retrieves the constants of the model.
|
|
std::vector< Constant > & | getConstants () |
| Retrieves the constants of the model.
|
|
Constant const & | getConstant (std::string const &name) const |
| Retrieves the constant with the given name (if any).
|
|
Variable const & | addVariable (Variable const &variable) |
| Adds the given variable to this model.
|
|
VariableSet & | getGlobalVariables () |
| Retrieves the variables of this automaton.
|
|
VariableSet const & | getGlobalVariables () const |
| Retrieves the variables of this automaton.
|
|
std::set< storm::expressions::Variable > | getAllExpressionVariables (bool includeLocationExpressionVariables=false) const |
| Retrieves all expression variables used by this model.
|
|
std::set< storm::expressions::Variable > | getAllLocationExpressionVariables () const |
| Retrieves all location expression variables used by this model.
|
|
bool | hasGlobalVariable (std::string const &name) const |
| Retrieves whether this model has a global variable with the given name.
|
|
Variable const & | getGlobalVariable (std::string const &name) const |
| Retrieves the global variable with the given name if one exists.
|
|
bool | hasNonGlobalTransientVariable () const |
| Retrieves whether this model has a non-global transient variable.
|
|
FunctionDefinition const & | addFunctionDefinition (FunctionDefinition const &functionDefinition) |
| Adds the given function definition.
|
|
std::unordered_map< std::string, FunctionDefinition > const & | getGlobalFunctionDefinitions () const |
| Retrieves all global function definitions.
|
|
std::unordered_map< std::string, FunctionDefinition > & | getGlobalFunctionDefinitions () |
| Retrieves all global function definitions.
|
|
storm::expressions::ExpressionManager & | getExpressionManager () const |
| Retrieves the manager responsible for the expressions in the JANI model.
|
|
bool | hasNonTrivialRewardExpression () const |
| Returns true iff there is a non-trivial reward model, i.e., a reward model that does not consist of a single, global, numerical, transient variable.
|
|
bool | isNonTrivialRewardModelExpression (std::string const &identifier) const |
| Returns true iff the given identifier corresponds to a non-trivial reward expression i.e., a reward model that does not consist of a single, global, numerical, transient variable.
|
|
bool | addNonTrivialRewardExpression (std::string const &identifier, storm::expressions::Expression const &rewardExpression) |
| Adds a reward expression, i.e., a reward model that does not consist of a single, global, numerical, transient variable.
|
|
storm::expressions::Expression | getRewardModelExpression (std::string const &identifier) const |
| Retrieves the defining reward expression of the reward model with the given identifier.
|
|
std::vector< std::pair< std::string, storm::expressions::Expression > > | getAllRewardModelExpressions () const |
| Retrieves all available reward model names and expressions of the model.
|
|
std::unordered_map< std::string, storm::expressions::Expression > const & | getNonTrivialRewardExpressions () const |
| Retrieves all available non-trivial reward model names and expressions of the model.
|
|
std::unordered_map< std::string, storm::expressions::Expression > & | getNonTrivialRewardExpressions () |
| Retrieves all available non-trivial reward model names and expressions of the model.
|
|
uint64_t | addAutomaton (Automaton const &automaton) |
| Adds the given automaton to the automata of this model.
|
|
std::vector< Automaton > & | getAutomata () |
| Retrieves the automata of the model.
|
|
std::vector< Automaton > const & | getAutomata () const |
| Retrieves the automata of the model.
|
|
void | replaceAutomaton (uint64_t index, Automaton const &newAutomaton) |
| Replaces the automaton at index with a new automaton.
|
|
bool | hasAutomaton (std::string const &name) const |
| Rerieves whether there exists an automaton with the given name.
|
|
Automaton & | getAutomaton (std::string const &name) |
| Retrieves the automaton with the given name.
|
|
Automaton & | getAutomaton (uint64_t index) |
| Retrieves the automaton with the given index.
|
|
Automaton const & | getAutomaton (uint64_t index) const |
| Retrieves the automaton with the given index.
|
|
Automaton const & | getAutomaton (std::string const &name) const |
| Retrieves the automaton with the given name.
|
|
uint64_t | getAutomatonIndex (std::string const &name) const |
| Retrieves the index of the given automaton.
|
|
std::size_t | getNumberOfAutomata () const |
| Retrieves the number of automata in this model.
|
|
std::size_t | getNumberOfEdges () const |
| Retrieves the total number of edges in this model.
|
|
std::size_t | getTotalNumberOfNonTransientVariables () const |
| Number of global and local variables.
|
|
InformationObject | getModelInformation () const |
| Returns various information of this model.
|
|
void | setSystemComposition (std::shared_ptr< Composition > const &composition) |
| Sets the system composition expression of the JANI model.
|
|
void | setStandardSystemComposition () |
| Sets the system composition to be the fully-synchronizing parallel composition of all automat.
|
|
std::shared_ptr< Composition > | getStandardSystemComposition () const |
| Gets the system composition as the standard, fully-synchronizing parallel composition.
|
|
Composition const & | getSystemComposition () const |
| Retrieves the system composition expression.
|
|
void | simplifyComposition () |
| Attempts to simplify the composition.
|
|
std::set< std::string > | getActionNames (bool includeSilent=true) const |
| Retrieves the set of action names.
|
|
Model | defineUndefinedConstants (std::map< storm::expressions::Variable, storm::expressions::Expression > const &constantDefinitions) const |
| Defines the undefined constants of the model by the given expressions.
|
|
bool | hasUndefinedConstants () const |
| Retrieves whether the model still has undefined constants.
|
|
std::vector< std::reference_wrapper< Constant const > > | getUndefinedConstants () const |
| Retrieves all undefined constants of the model.
|
|
Model & | replaceUnassignedVariablesWithConstants () |
| Replaces each variable to which we never assign a value with a constant.
|
|
Model & | substituteConstantsInPlace (bool const substituteTranscendentalNumbers) |
| Substitutes all constants in all expressions of the model.
|
|
Model | substituteConstants () const |
| Substitutes all constants in all expressions of the model.
|
|
std::map< storm::expressions::Variable, storm::expressions::Expression > | getConstantsSubstitution () const |
| Retrieves a mapping from expression variables associated with defined constants of the model to their (the constants') defining expression.
|
|
void | substitute (std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution, bool const substituteTranscendentalNumbers) |
| Substitutes all expression variables in all expressions of the model.
|
|
void | substituteFunctions () |
| Substitutes all function calls with the corresponding function definition.
|
|
void | substituteFunctions (std::vector< Property > &properties) |
|
Model | substituteConstantsFunctionsTranscendentals () const |
|
bool | containsArrayVariables () const |
| Returns true if at least one array variable occurs in the model.
|
|
ArrayEliminatorData | eliminateArrays (bool keepNonTrivialArrayAccess=false) |
| Eliminates occurring array variables and expressions by replacing array variables by multiple basic variables.
|
|
void | eliminateArrays (std::vector< Property > &properties) |
| Eliminates occurring array variables and expressions by replacing array variables by multiple basic variables.
|
|
ModelFeatures | restrictToFeatures (ModelFeatures const &modelFeatures) |
| Attempts to eliminate all features of this model that are not in the given set of features.
|
|
ModelFeatures | restrictToFeatures (ModelFeatures const &modelFeatures, std::vector< Property > &properties) |
| Attempts to eliminate all features of this model and the given properties that are not in the given set of features.
|
|
bool | hasInitialStatesRestriction () const |
| Retrieves whether there is an expression restricting the legal initial values of the global variables.
|
|
bool | hasNonTrivialInitialStates () const |
| Retrieves whether there are non-trivial initial states in the model or any of the contained automata.
|
|
void | setInitialStatesRestriction (storm::expressions::Expression const &initialStatesRestriction) |
| Sets the expression restricting the legal initial values of the global variables.
|
|
storm::expressions::Expression const & | getInitialStatesRestriction () const |
| Gets the expression restricting the legal initial values of the global variables.
|
|
storm::expressions::Expression | getInitialStatesExpression () const |
| Retrieves the expression defining the legal initial values of the variables.
|
|
bool | hasTrivialInitialStatesExpression () const |
| Retrieves whether the initial states expression is trivial in the sense that no automaton has an initial states restriction and all variables have initial values.
|
|
storm::expressions::Expression | getInitialStatesExpression (std::vector< std::reference_wrapper< storm::jani::Automaton const > > const &automata) const |
| Retrieves the expression defining the legal initial values of the variables.
|
|
bool | isDeterministicModel () const |
| Determines whether this model is a deterministic one in the sense that each state only has one choice.
|
|
bool | isDiscreteTimeModel () const |
| Determines whether this model is a discrete-time model.
|
|
std::vector< storm::expressions::Expression > | getAllRangeExpressions (std::vector< std::reference_wrapper< storm::jani::Automaton const > > const &automata={}) const |
| Retrieves a list of expressions that characterize the legal values of the variables in this model.
|
|
bool | hasStandardComposition () const |
| Retrieves whether this model has the standard composition, that is it composes all automata in parallel and synchronizes over all common actions.
|
|
bool | hasStandardCompliantComposition () const |
| Checks whether the composition has no nesting.
|
|
void | finalize () |
| After adding all components to the model, this method has to be called.
|
|
void | checkValid () const |
| Checks if the model is valid JANI, which should be verified before any further operations are applied to a model.
|
|
storm::expressions::Expression | getLabelExpression (Variable const &transientVariable, std::vector< std::reference_wrapper< Automaton const > > const &automata) const |
| Creates the expression that characterizes all states in which the provided transient boolean variable is true.
|
|
storm::expressions::Expression | getLabelExpression (Variable const &transientVariable) const |
| Creates the expression that characterizes all states in which the provided transient boolean variable is true.
|
|
bool | undefinedConstantsAreGraphPreserving () const |
| Checks that undefined constants (parameters) of the model preserve the graph of the underlying model.
|
|
void | liftTransientEdgeDestinationAssignments (int64_t maxLevel=0) |
| Lifts the common edge destination assignments of transient variables to edge assignments.
|
|
bool | hasTransientEdgeDestinationAssignments () const |
| Retrieves whether there is any transient edge destination assignment in the model.
|
|
bool | usesAssignmentLevels (bool onlyTransient=false) const |
| Retrieves whether the model uses an assignment level other than zero.
|
|
bool | isLinear () const |
| Checks the model for linearity.
|
|
void | makeStandardJaniCompliant () |
|
void | pushEdgeAssignmentsToDestinations () |
|
bool | reusesActionsInComposition () const |
| Checks whether in the composition, actions are reused: That is, if the model is put in parallel composition and the same action potentially leads to multiple edges from the same state.
|
|
Model | restrictEdges (storm::storage::FlatSet< uint_fast64_t > const &automataAndEdgeIndices) const |
| Creates a new model that only contains the selected edges.
|
|
void | writeDotToStream (std::ostream &outStream=std::cout) const |
|