Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
Location.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
6
7namespace storm {
8namespace jani {
9
15class Location {
16 public:
20 Location(std::string const& name, std::vector<Assignment> const& transientAssignments = {});
21
22 Location(std::string const& name, OrderedAssignments const& assignments);
26 std::string const& getName() const;
27
32
37
41 void addTransientAssignment(storm::jani::Assignment const& assignment);
42
46 bool hasTimeProgressInvariant() const;
47
52
58
62 void substitute(std::map<storm::expressions::Variable, storm::expressions::Expression> const& substitution, bool const substituteTranscendentalNumbers);
63
67 void changeAssignmentVariables(std::map<Variable const*, std::reference_wrapper<Variable const>> const& remapping);
68
72 void checkValid() const;
73
77 bool isLinear() const;
78
79 private:
81 std::string name;
82
84 OrderedAssignments assignments;
85
86 // The location's time progress condition
87 storm::expressions::Expression timeProgressInvariant;
88};
89
90} // namespace jani
91} // namespace storm
Jani Location:
Definition Location.h:15
bool isLinear() const
Checks the automaton for linearity.
Definition Location.cpp:66
void addTransientAssignment(storm::jani::Assignment const &assignment)
Adds the given transient assignment to this location.
Definition Location.cpp:31
OrderedAssignments const & getAssignments() const
Retrieves the assignments of this location.
Definition Location.cpp:23
void setTimeProgressInvariant(storm::expressions::Expression const &expression)
Sets the time progress invariant of this location.
Definition Location.cpp:44
void checkValid() const
Checks whether the location is valid, that is, whether the assignments are indeed all transient assig...
Definition Location.cpp:62
void substitute(std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution, bool const substituteTranscendentalNumbers)
Substitutes all variables in all expressions according to the given substitution.
Definition Location.cpp:48
std::string const & getName() const
Retrieves the name of the location.
Definition Location.cpp:19
void changeAssignmentVariables(std::map< Variable const *, std::reference_wrapper< Variable const > > const &remapping)
Changes all variables in assignments based on the given mapping.
Definition Location.cpp:58
storm::expressions::Expression const & getTimeProgressInvariant() const
Retrieves the time progress invariant.
Definition Location.cpp:40
bool hasTimeProgressInvariant() const
Retrieves whether a time progress invariant is attached to this location.
Definition Location.cpp:36
LabParser.cpp.
Definition cli.cpp:18