Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
HybridCtmcCslHelper.h
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4
5#include <memory>
6
8
10
12
14
15namespace storm {
16
17class Environment;
18
19namespace modelchecker::helper {
20
22 public:
23 template<storm::dd::DdType DdType, typename ValueType>
25 static std::unique_ptr<CheckResult> computeBoundedUntilProbabilities(Environment const& env, storm::models::symbolic::Ctmc<DdType, ValueType> const& model,
26 bool onlyInitialStatesRelevant, storm::dd::Add<DdType, ValueType> const& rateMatrix,
27 storm::dd::Add<DdType, ValueType> const& exitRateVector,
28 storm::dd::Bdd<DdType> const& phiStates, storm::dd::Bdd<DdType> const& psiStates,
29 bool qualitative, ValueType lowerBound, std::optional<ValueType> const& upperBound);
30
31 template<storm::dd::DdType DdType, typename ValueType>
33 static std::unique_ptr<CheckResult> computeInstantaneousRewards(
34 Environment const& env, storm::models::symbolic::Ctmc<DdType, ValueType> const& model, bool onlyInitialStatesRelevant,
35 storm::dd::Add<DdType, ValueType> const& rateMatrix, storm::dd::Add<DdType, ValueType> const& exitRateVector,
36 typename storm::models::symbolic::Model<DdType, ValueType>::RewardModelType const& rewardModel, ValueType timeBound);
37
38 template<storm::dd::DdType DdType, typename ValueType>
40 static std::unique_ptr<CheckResult> computeCumulativeRewards(Environment const& env, storm::models::symbolic::Ctmc<DdType, ValueType> const& model,
41 bool onlyInitialStatesRelevant, storm::dd::Add<DdType, ValueType> const& rateMatrix,
42 storm::dd::Add<DdType, ValueType> const& exitRateVector,
44 ValueType timeBound);
45
46 template<storm::dd::DdType DdType, typename ValueType>
47 static std::unique_ptr<CheckResult> computeUntilProbabilities(Environment const& env, storm::models::symbolic::Ctmc<DdType, ValueType> const& model,
48 storm::dd::Add<DdType, ValueType> const& rateMatrix,
49 storm::dd::Add<DdType, ValueType> const& exitRateVector,
50 storm::dd::Bdd<DdType> const& phiStates, storm::dd::Bdd<DdType> const& psiStates,
51 bool qualitative);
52
53 template<storm::dd::DdType DdType, typename ValueType>
54 static std::unique_ptr<CheckResult> computeReachabilityRewards(
57 storm::dd::Bdd<DdType> const& targetStates, bool qualitative);
58
59 template<storm::dd::DdType DdType, typename ValueType>
60 static std::unique_ptr<CheckResult> computeNextProbabilities(Environment const& env, storm::models::symbolic::Ctmc<DdType, ValueType> const& model,
61 storm::dd::Add<DdType, ValueType> const& rateMatrix,
62 storm::dd::Add<DdType, ValueType> const& exitRateVector,
63 storm::dd::Bdd<DdType> const& nextStates);
64
73 template<storm::dd::DdType DdType, typename ValueType>
75 storm::dd::Add<DdType, ValueType> const& exitRateVector);
76
86 template<storm::dd::DdType DdType, typename ValueType>
88 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
89 storm::dd::Add<DdType, ValueType> const& exitRateVector,
90 storm::dd::Bdd<DdType> const& maybeStates, ValueType uniformizationRate);
91};
92
93} // namespace modelchecker::helper
94} // namespace storm
static storm::dd::Add< DdType, ValueType > computeProbabilityMatrix(storm::dd::Add< DdType, ValueType > const &rateMatrix, storm::dd::Add< DdType, ValueType > const &exitRateVector)
Converts the given rate-matrix into a time-abstract probability matrix.
static std::unique_ptr< CheckResult > computeNextProbabilities(Environment const &env, storm::models::symbolic::Ctmc< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &rateMatrix, storm::dd::Add< DdType, ValueType > const &exitRateVector, storm::dd::Bdd< DdType > const &nextStates)
static std::unique_ptr< CheckResult > computeInstantaneousRewards(Environment const &env, storm::models::symbolic::Ctmc< DdType, ValueType > const &model, bool onlyInitialStatesRelevant, storm::dd::Add< DdType, ValueType > const &rateMatrix, storm::dd::Add< DdType, ValueType > const &exitRateVector, typename storm::models::symbolic::Model< DdType, ValueType >::RewardModelType const &rewardModel, ValueType timeBound)
static std::unique_ptr< CheckResult > computeCumulativeRewards(Environment const &env, storm::models::symbolic::Ctmc< DdType, ValueType > const &model, bool onlyInitialStatesRelevant, storm::dd::Add< DdType, ValueType > const &rateMatrix, storm::dd::Add< DdType, ValueType > const &exitRateVector, typename storm::models::symbolic::Model< DdType, ValueType >::RewardModelType const &rewardModel, ValueType timeBound)
static std::unique_ptr< CheckResult > computeBoundedUntilProbabilities(Environment const &env, storm::models::symbolic::Ctmc< DdType, ValueType > const &model, bool onlyInitialStatesRelevant, storm::dd::Add< DdType, ValueType > const &rateMatrix, storm::dd::Add< DdType, ValueType > const &exitRateVector, storm::dd::Bdd< DdType > const &phiStates, storm::dd::Bdd< DdType > const &psiStates, bool qualitative, ValueType lowerBound, std::optional< ValueType > const &upperBound)
static storm::dd::Add< DdType, ValueType > computeUniformizedMatrix(storm::models::symbolic::Ctmc< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &transitionMatrix, storm::dd::Add< DdType, ValueType > const &exitRateVector, storm::dd::Bdd< DdType > const &maybeStates, ValueType uniformizationRate)
Computes the matrix representing the transitions of the uniformized CTMC.
static std::unique_ptr< CheckResult > computeReachabilityRewards(Environment const &env, storm::models::symbolic::Ctmc< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &rateMatrix, storm::dd::Add< DdType, ValueType > const &exitRateVector, typename storm::models::symbolic::Model< DdType, ValueType >::RewardModelType const &rewardModel, storm::dd::Bdd< DdType > const &targetStates, bool qualitative)
static std::unique_ptr< CheckResult > computeUntilProbabilities(Environment const &env, storm::models::symbolic::Ctmc< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &rateMatrix, storm::dd::Add< DdType, ValueType > const &exitRateVector, storm::dd::Bdd< DdType > const &phiStates, storm::dd::Bdd< DdType > const &psiStates, bool qualitative)
This class represents a continuous-time Markov chain.
Definition Ctmc.h:13
StandardRewardModel< Type, ValueType > RewardModelType
Definition Model.h:47
static const bool SupportsExponential