Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SymbolicMdpPrctlHelper.h
Go to the documentation of this file.
1#pragma once
2
4
7
10
11namespace storm {
12
13class Environment;
14
15namespace modelchecker {
16// Forward-declare result class.
17class CheckResult;
18
19namespace helper {
20
21template<storm::dd::DdType DdType, typename ValueType>
23 public:
25
26 static std::unique_ptr<CheckResult> computeBoundedUntilProbabilities(Environment const& env, OptimizationDirection dir,
28 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
29 storm::dd::Bdd<DdType> const& phiStates, storm::dd::Bdd<DdType> const& psiStates,
30 uint_fast64_t stepBound);
31
32 static std::unique_ptr<CheckResult> computeNextProbabilities(Environment const& env, OptimizationDirection dir,
34 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
35 storm::dd::Bdd<DdType> const& nextStates);
36
37 static std::unique_ptr<CheckResult> computeUntilProbabilities(Environment const& env, OptimizationDirection dir,
39 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
40 storm::dd::Bdd<DdType> const& phiStates, storm::dd::Bdd<DdType> const& psiStates,
41 bool qualitative,
42 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
43
44 static std::unique_ptr<CheckResult> computeUntilProbabilities(Environment const& env, OptimizationDirection dir,
46 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
47 storm::dd::Bdd<DdType> const& maybeStates,
48 storm::dd::Bdd<DdType> const& statesWithProbability1,
49 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
50
51 static std::unique_ptr<CheckResult> computeGloballyProbabilities(Environment const& env, OptimizationDirection dir,
53 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
54 storm::dd::Bdd<DdType> const& psiStates, bool qualitative);
55
56 static std::unique_ptr<CheckResult> computeCumulativeRewards(Environment const& env, OptimizationDirection dir,
58 storm::dd::Add<DdType, ValueType> const& transitionMatrix, RewardModelType const& rewardModel,
59 uint_fast64_t stepBound);
60
61 static std::unique_ptr<CheckResult> computeInstantaneousRewards(Environment const& env, OptimizationDirection dir,
63 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
64 RewardModelType const& rewardModel, uint_fast64_t stepBound);
65
66 static std::unique_ptr<CheckResult> computeReachabilityRewards(Environment const& env, OptimizationDirection dir,
68 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
69 RewardModelType const& rewardModel, storm::dd::Bdd<DdType> const& targetStates,
70 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
71
72 static std::unique_ptr<CheckResult> computeReachabilityRewards(Environment const& env, OptimizationDirection dir,
74 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
75 storm::dd::Bdd<DdType> const& transitionMatrixBdd, RewardModelType const& rewardModel,
76 storm::dd::Bdd<DdType> const& maybeStates, storm::dd::Bdd<DdType> const& targetStates,
77 storm::dd::Bdd<DdType> const& infinityStates,
78 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
79
80 static std::unique_ptr<CheckResult> computeReachabilityTimes(Environment const& env, OptimizationDirection dir,
82 storm::dd::Add<DdType, ValueType> const& transitionMatrix,
83 storm::dd::Bdd<DdType> const& targetStates,
84 boost::optional<storm::dd::Add<DdType, ValueType>> const& startValues = boost::none);
85};
86
87} // namespace helper
88} // namespace modelchecker
89} // namespace storm
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
solver::OptimizationDirection OptimizationDirection