Storm 1.10.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
Dtmc.h
Go to the documentation of this file.
1#ifndef STORM_MODELS_SYMBOLIC_DTMC_H_
2#define STORM_MODELS_SYMBOLIC_DTMC_H_
3
5
6namespace storm {
7namespace models {
8namespace symbolic {
9
13template<storm::dd::DdType Type, typename ValueType = double>
14class Dtmc : public DeterministicModel<Type, ValueType> {
15 public:
17
18 Dtmc(Dtmc<Type, ValueType> const& other) = default;
19 Dtmc& operator=(Dtmc<Type, ValueType> const& other) = default;
20
21 Dtmc(Dtmc<Type, ValueType>&& other) = default;
23
40 Dtmc(std::shared_ptr<storm::dd::DdManager<Type>> manager, storm::dd::Bdd<Type> reachableStates, storm::dd::Bdd<Type> initialStates,
41 storm::dd::Bdd<Type> deadlockStates, storm::dd::Add<Type, ValueType> transitionMatrix, std::set<storm::expressions::Variable> const& rowVariables,
42 std::shared_ptr<storm::adapters::AddExpressionAdapter<Type, ValueType>> rowExpressionAdapter,
43 std::set<storm::expressions::Variable> const& columnVariables,
44 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> const& rowColumnMetaVariablePairs,
45 std::map<std::string, storm::expressions::Expression> labelToExpressionMap = std::map<std::string, storm::expressions::Expression>(),
46 std::unordered_map<std::string, RewardModelType> const& rewardModels = std::unordered_map<std::string, RewardModelType>());
47
62 Dtmc(std::shared_ptr<storm::dd::DdManager<Type>> manager, storm::dd::Bdd<Type> reachableStates, storm::dd::Bdd<Type> initialStates,
63 storm::dd::Bdd<Type> deadlockStates, storm::dd::Add<Type, ValueType> transitionMatrix, std::set<storm::expressions::Variable> const& rowVariables,
64 std::set<storm::expressions::Variable> const& columnVariables,
65 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> const& rowColumnMetaVariablePairs,
66 std::map<std::string, storm::dd::Bdd<Type>> labelToBddMap = std::map<std::string, storm::dd::Bdd<Type>>(),
67 std::unordered_map<std::string, RewardModelType> const& rewardModels = std::unordered_map<std::string, RewardModelType>());
68
69 virtual void reduceToStateBasedRewards() override;
70
71 template<typename NewValueType>
72 std::shared_ptr<Dtmc<Type, NewValueType>> toValueType() const;
73};
74
75} // namespace symbolic
76} // namespace models
77} // namespace storm
78
79#endif /* STORM_MODELS_SYMBOLIC_DTMC_H_ */
Base class for all deterministic symbolic models.
Model< Type, ValueType >::RewardModelType RewardModelType
This class represents a discrete-time Markov chain.
Definition Dtmc.h:14
Dtmc & operator=(Dtmc< Type, ValueType > &&other)=default
virtual void reduceToStateBasedRewards() override
Converts the transition rewards of all reward models to state-based rewards.
Definition Dtmc.cpp:41
Dtmc & operator=(Dtmc< Type, ValueType > const &other)=default
DeterministicModel< Type, ValueType >::RewardModelType RewardModelType
Definition Dtmc.h:16
std::shared_ptr< Dtmc< Type, NewValueType > > toValueType() const
Definition Dtmc.cpp:49
Dtmc(Dtmc< Type, ValueType > const &other)=default
Dtmc(Dtmc< Type, ValueType > &&other)=default
storm::dd::Add< Type, ValueType > transitionMatrix
Definition Model.h:410
LabParser.cpp.