Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
Ctmc.h
Go to the documentation of this file.
1#ifndef STORM_MODELS_SPARSE_CTMC_H_
2#define STORM_MODELS_SPARSE_CTMC_H_
3
6
7namespace storm {
8namespace models {
9namespace sparse {
10
14template<class ValueType, typename RewardModelType = StandardRewardModel<ValueType>>
15class Ctmc : public DeterministicModel<ValueType, RewardModelType> {
16 public:
25 std::unordered_map<std::string, RewardModelType> const& rewardModels = std::unordered_map<std::string, RewardModelType>());
26
35 std::unordered_map<std::string, RewardModelType>&& rewardModels = std::unordered_map<std::string, RewardModelType>());
36
44
45 Ctmc(Ctmc<ValueType, RewardModelType> const& ctmc) = default;
49
55 std::vector<ValueType> const& getExitRateVector() const;
56
62 std::vector<ValueType>& getExitRateVector();
63
64 virtual void reduceToStateBasedRewards() override;
65
71
72 private:
79 static std::vector<ValueType> createExitRateVector(storm::storage::SparseMatrix<ValueType> const& rateMatrix);
80
81 // A vector containing the exit rates of all states.
82 std::vector<ValueType> exitRates;
83};
84
85} // namespace sparse
86} // namespace models
87} // namespace storm
88
89#endif /* STORM_MODELS_SPARSE_CTMC_H_ */
This class represents a continuous-time Markov chain.
Definition Ctmc.h:15
Ctmc & operator=(Ctmc< ValueType, RewardModelType > const &ctmc)=default
storm::storage::SparseMatrix< ValueType > computeProbabilityMatrix() const
Definition Ctmc.cpp:82
Ctmc & operator=(Ctmc< ValueType, RewardModelType > &&ctmc)=default
virtual void reduceToStateBasedRewards() override
Converts the transition rewards of all reward models to state-based rewards.
Definition Ctmc.cpp:75
Ctmc(Ctmc< ValueType, RewardModelType > const &ctmc)=default
Ctmc(Ctmc< ValueType, RewardModelType > &&ctmc)=default
std::vector< ValueType > const & getExitRateVector() const
Retrieves the vector of exit rates of the model.
Definition Ctmc.cpp:56
The base class of all sparse deterministic models.
This class manages the labeling of the state space with a number of (atomic) labels.
A class that holds a possibly non-square matrix in the compressed row storage format.
LabParser.cpp.
Definition cli.cpp:18