Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SparseDtmcPrctlModelChecker.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace storm {
7namespace modelchecker {
8
9template<class SparseDtmcModelType>
11 public:
12 typedef typename SparseDtmcModelType::ValueType ValueType;
13 typedef typename SparseDtmcModelType::RewardModelType RewardModelType;
14 using SolutionType = typename std::conditional<std::is_same_v<ValueType, storm::Interval>, double, ValueType>::type;
15
16 explicit SparseDtmcPrctlModelChecker(SparseDtmcModelType const& model);
17
22 static bool canHandleStatic(CheckTask<storm::logic::Formula, SolutionType> const& checkTask, bool* requiresSingleInitialState = nullptr);
23
24 // The implemented methods of the AbstractModelChecker interface.
25 virtual bool canHandle(CheckTask<storm::logic::Formula, SolutionType> const& checkTask) const override;
26 virtual std::unique_ptr<CheckResult> computeBoundedUntilProbabilities(Environment const& env,
28 virtual std::unique_ptr<CheckResult> computeNextProbabilities(Environment const& env,
30 virtual std::unique_ptr<CheckResult> computeUntilProbabilities(Environment const& env,
32 virtual std::unique_ptr<CheckResult> computeGloballyProbabilities(Environment const& env,
34 virtual std::unique_ptr<CheckResult> computeHOAPathProbabilities(Environment const& env,
36 virtual std::unique_ptr<CheckResult> computeConditionalProbabilities(Environment const& env,
38 virtual std::unique_ptr<CheckResult> computeLongRunAverageProbabilities(Environment const& env,
40 virtual std::unique_ptr<CheckResult> computeLTLProbabilities(Environment const& env,
42
43 virtual std::unique_ptr<CheckResult> computeCumulativeRewards(Environment const& env,
45 virtual std::unique_ptr<CheckResult> computeDiscountedCumulativeRewards(
47 virtual std::unique_ptr<CheckResult> computeInstantaneousRewards(
49 virtual std::unique_ptr<CheckResult> computeReachabilityRewards(Environment const& env,
51 virtual std::unique_ptr<CheckResult> computeTotalRewards(Environment const& env,
53 virtual std::unique_ptr<CheckResult> computeDiscountedTotalRewards(
55 virtual std::unique_ptr<CheckResult> computeConditionalRewards(Environment const& env,
57 virtual std::unique_ptr<CheckResult> computeLongRunAverageRewards(
59 virtual std::unique_ptr<CheckResult> computeReachabilityTimes(Environment const& env,
61 virtual std::unique_ptr<CheckResult> checkQuantileFormula(Environment const& env,
63
68 std::unique_ptr<CheckResult> computeSteadyStateDistribution(Environment const& env);
69
74 std::unique_ptr<CheckResult> computeExpectedVisitingTimes(Environment const& env);
75};
76
77} // namespace modelchecker
78} // namespace storm
virtual std::unique_ptr< CheckResult > computeReachabilityTimes(Environment const &env, CheckTask< storm::logic::EventuallyFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeLTLProbabilities(Environment const &env, CheckTask< storm::logic::PathFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeConditionalProbabilities(Environment const &env, CheckTask< storm::logic::ConditionalFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeNextProbabilities(Environment const &env, CheckTask< storm::logic::NextFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeReachabilityRewards(Environment const &env, CheckTask< storm::logic::EventuallyFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeLongRunAverageProbabilities(Environment const &env, CheckTask< storm::logic::StateFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeBoundedUntilProbabilities(Environment const &env, CheckTask< storm::logic::BoundedUntilFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeUntilProbabilities(Environment const &env, CheckTask< storm::logic::UntilFormula, SolutionType > const &checkTask) override
typename std::conditional< std::is_same_v< ValueType, storm::Interval >, double, ValueType >::type SolutionType
std::unique_ptr< CheckResult > computeExpectedVisitingTimes(Environment const &env)
Computes for each state the expected number of times we visit that state.
virtual std::unique_ptr< CheckResult > computeTotalRewards(Environment const &env, CheckTask< storm::logic::TotalRewardFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeDiscountedTotalRewards(Environment const &env, CheckTask< storm::logic::DiscountedTotalRewardFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeDiscountedCumulativeRewards(Environment const &env, CheckTask< storm::logic::DiscountedCumulativeRewardFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeHOAPathProbabilities(Environment const &env, CheckTask< storm::logic::HOAPathFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeInstantaneousRewards(Environment const &env, CheckTask< storm::logic::InstantaneousRewardFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeCumulativeRewards(Environment const &env, CheckTask< storm::logic::CumulativeRewardFormula, SolutionType > const &checkTask) override
static bool canHandleStatic(CheckTask< storm::logic::Formula, SolutionType > const &checkTask, bool *requiresSingleInitialState=nullptr)
Returns false, if this task can certainly not be handled by this model checker (independent of the co...
virtual std::unique_ptr< CheckResult > computeGloballyProbabilities(Environment const &env, CheckTask< storm::logic::GloballyFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > computeLongRunAverageRewards(Environment const &env, CheckTask< storm::logic::LongRunAverageRewardFormula, SolutionType > const &checkTask) override
virtual bool canHandle(CheckTask< storm::logic::Formula, SolutionType > const &checkTask) const override
Determines whether the model checker can handle the given verification task.
std::unique_ptr< CheckResult > computeSteadyStateDistribution(Environment const &env)
Computes the long run average (or: steady state) distribution over all states Assumes a uniform distr...
virtual std::unique_ptr< CheckResult > computeConditionalRewards(Environment const &env, CheckTask< storm::logic::ConditionalFormula, SolutionType > const &checkTask) override
virtual std::unique_ptr< CheckResult > checkQuantileFormula(Environment const &env, CheckTask< storm::logic::QuantileFormula, SolutionType > const &checkTask) override