Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SymbolicMdpPrctlHelper.h
Go to the documentation of this file.
1#ifndef STORM_MODELCHECKER_SYMBOLIC_MDP_PRCTL_MODELCHECKER_HELPER_H_
2#define STORM_MODELCHECKER_SYMBOLIC_MDP_PRCTL_MODELCHECKER_HELPER_H_
3
5
8
11
12namespace storm {
13
14class Environment;
15
16namespace modelchecker {
17// Forward-declare result class.
18class CheckResult;
19
20namespace helper {
21
22template<storm::dd::DdType DdType, typename ValueType>
24 public:
26
27 static std::unique_ptr<CheckResult> computeBoundedUntilProbabilities(Environment const& env, OptimizationDirection dir,
29 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
30 storm::dd::Bdd<DdType> const& phiStates, storm::dd::Bdd<DdType> const& psiStates,
31 uint_fast64_t stepBound);
32
33 static std::unique_ptr<CheckResult> computeNextProbabilities(Environment const& env, OptimizationDirection dir,
35 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
36 storm::dd::Bdd<DdType> const& nextStates);
37
38 static std::unique_ptr<CheckResult> computeUntilProbabilities(Environment const& env, OptimizationDirection dir,
40 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
41 storm::dd::Bdd<DdType> const& phiStates, storm::dd::Bdd<DdType> const& psiStates,
42 bool qualitative,
43 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
44
45 static std::unique_ptr<CheckResult> computeUntilProbabilities(Environment const& env, OptimizationDirection dir,
47 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
48 storm::dd::Bdd<DdType> const& maybeStates,
49 storm::dd::Bdd<DdType> const& statesWithProbability1,
50 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
51
52 static std::unique_ptr<CheckResult> computeGloballyProbabilities(Environment const& env, OptimizationDirection dir,
54 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
55 storm::dd::Bdd<DdType> const& psiStates, bool qualitative);
56
57 static std::unique_ptr<CheckResult> computeCumulativeRewards(Environment const& env, OptimizationDirection dir,
59 storm::dd::Add<DdType, ValueType> const& transitionMatrix, RewardModelType const& rewardModel,
60 uint_fast64_t stepBound);
61
62 static std::unique_ptr<CheckResult> computeInstantaneousRewards(Environment const& env, OptimizationDirection dir,
64 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
65 RewardModelType const& rewardModel, uint_fast64_t stepBound);
66
67 static std::unique_ptr<CheckResult> computeReachabilityRewards(Environment const& env, OptimizationDirection dir,
69 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
70 RewardModelType const& rewardModel, storm::dd::Bdd<DdType> const& targetStates,
71 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
72
73 static std::unique_ptr<CheckResult> computeReachabilityRewards(Environment const& env, OptimizationDirection dir,
75 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
76 storm::dd::Bdd<DdType> const& transitionMatrixBdd, RewardModelType const& rewardModel,
77 storm::dd::Bdd<DdType> const& maybeStates, storm::dd::Bdd<DdType> const& targetStates,
78 storm::dd::Bdd<DdType> const& infinityStates,
79 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
80
81 static std::unique_ptr<CheckResult> computeReachabilityTimes(Environment const& env, OptimizationDirection dir,
83 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
84 storm::dd::Bdd<DdType> const& targetStates,
85 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
86};
87
88} // namespace helper
89} // namespace modelchecker
90} // namespace storm
91
92#endif /* STORM_MODELCHECKER_SYMBOLIC_MDP_PRCTL_MODELCHECKER_HELPER_H_ */
static std::unique_ptr< CheckResult > computeBoundedUntilProbabilities(Environment const &env, OptimizationDirection dir, storm::models::symbolic::NondeterministicModel< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &transitionMatrix, storm::dd::Bdd< DdType > const &phiStates, storm::dd::Bdd< DdType > const &psiStates, uint_fast64_t stepBound)
static std::unique_ptr< CheckResult > computeUntilProbabilities(Environment const &env, OptimizationDirection dir, storm::models::symbolic::NondeterministicModel< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &transitionMatrix, storm::dd::Bdd< DdType > const &phiStates, storm::dd::Bdd< DdType > const &psiStates, bool qualitative, boost::optional< storm::dd::Add< DdType, ValueType > > const &startValues=boost::none)
static std::unique_ptr< CheckResult > computeGloballyProbabilities(Environment const &env, OptimizationDirection dir, storm::models::symbolic::NondeterministicModel< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &transitionMatrix, storm::dd::Bdd< DdType > const &psiStates, bool qualitative)
static std::unique_ptr< CheckResult > computeReachabilityRewards(Environment const &env, OptimizationDirection dir, storm::models::symbolic::NondeterministicModel< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &transitionMatrix, RewardModelType const &rewardModel, storm::dd::Bdd< DdType > const &targetStates, boost::optional< storm::dd::Add< DdType, ValueType > > const &startValues=boost::none)
static std::unique_ptr< CheckResult > computeInstantaneousRewards(Environment const &env, OptimizationDirection dir, storm::models::symbolic::NondeterministicModel< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &transitionMatrix, RewardModelType const &rewardModel, uint_fast64_t stepBound)
storm::models::symbolic::NondeterministicModel< DdType, ValueType >::RewardModelType RewardModelType
static std::unique_ptr< CheckResult > computeReachabilityTimes(Environment const &env, OptimizationDirection dir, storm::models::symbolic::NondeterministicModel< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &transitionMatrix, storm::dd::Bdd< DdType > const &targetStates, boost::optional< storm::dd::Add< DdType, ValueType > > const &startValues=boost::none)
static std::unique_ptr< CheckResult > computeNextProbabilities(Environment const &env, OptimizationDirection dir, storm::models::symbolic::NondeterministicModel< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &transitionMatrix, storm::dd::Bdd< DdType > const &nextStates)
static std::unique_ptr< CheckResult > computeCumulativeRewards(Environment const &env, OptimizationDirection dir, storm::models::symbolic::NondeterministicModel< DdType, ValueType > const &model, storm::dd::Add< DdType, ValueType > const &transitionMatrix, RewardModelType const &rewardModel, uint_fast64_t stepBound)
Base class for all nondeterministic symbolic models.
Model< Type, ValueType >::RewardModelType RewardModelType
LabParser.cpp.
Definition cli.cpp:18