Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SparseMdpInstantiationModelChecker.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4
12
13namespace storm {
14namespace modelchecker {
15
19template<typename SparseModelType, typename ConstantType>
20class SparseMdpInstantiationModelChecker : public SparseInstantiationModelChecker<SparseModelType, ConstantType> {
21 public:
22 SparseMdpInstantiationModelChecker(Environment const& env, SparseModelType const& parametricModel, bool produceScheduler = true);
23
24 virtual std::unique_ptr<CheckResult> check(Environment const& env,
26
28
29 protected:
31
32 // Optimizations for the different formula types
33 std::unique_ptr<CheckResult> checkReachabilityProbabilityFormula(
35 storm::models::sparse::Mdp<ConstantType> const& instantiatedModel);
36 std::unique_ptr<CheckResult> checkReachabilityRewardFormula(
38 storm::models::sparse::Mdp<ConstantType> const& instantiatedModel);
39 std::unique_ptr<CheckResult> checkBoundedUntilFormula(
41
44};
45} // namespace modelchecker
46} // namespace storm
SparseInstantiationModelChecker(Environment const &env, SparseModelType const &parametricModel)
std::unique_ptr< CheckResult > checkReachabilityProbabilityFormula(Environment const &env, storm::modelchecker::SparseMdpPrctlModelChecker< storm::models::sparse::Mdp< ConstantType > > &modelChecker, storm::models::sparse::Mdp< ConstantType > const &instantiatedModel)
virtual std::unique_ptr< CheckResult > check(Environment const &env, storm::utility::parametric::Valuation< typename SparseModelType::ValueType > const &valuation) override
storm::utility::ModelInstantiator< SparseModelType, storm::models::sparse::Mdp< ConstantType > > modelInstantiator
std::unique_ptr< CheckResult > checkBoundedUntilFormula(Environment const &env, storm::modelchecker::SparseMdpPrctlModelChecker< storm::models::sparse::Mdp< ConstantType > > &modelChecker)
storm::utility::ExtendedValueType< ConstantType > ExtendedConstantType
virtual bool isWellDefined(storm::utility::parametric::Valuation< typename SparseModelType::ValueType > const &valuation) override
Checks if the given valuation is valid for the current model.
SparseMdpInstantiationModelChecker(Environment const &env, SparseModelType const &parametricModel, bool produceScheduler=true)
std::unique_ptr< CheckResult > checkReachabilityRewardFormula(Environment const &env, storm::modelchecker::SparseMdpPrctlModelChecker< storm::models::sparse::Mdp< ConstantType > > &modelChecker, storm::models::sparse::Mdp< ConstantType > const &instantiatedModel)
This class represents a (discrete-time) Markov decision process.
Definition Mdp.h:16
This class allows efficient instantiation of the given parametric model.
std::map< typename VariableType< FunctionType >::type, typename CoefficientType< FunctionType >::type > Valuation
Definition parametric.h:43
std::conditional_t< storm::NumberTraits< ValueType >::HasInfinity, ValueType, ExtendedNumber< ValueType > > ExtendedValueType
The type to use for values that may be infinite.