Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SparseInstantiationModelChecker.h
Go to the documentation of this file.
1#pragma once
2
8
9namespace storm {
10
11class Environment;
12
13namespace modelchecker {
14
18template<typename SparseModelType, typename ConstantType>
20 public:
23
25
26 virtual std::unique_ptr<CheckResult> check(Environment const& env,
28
39
40 // If set, it is assumed that all considered model instantiations have the same underlying graph structure.
41 // This bypasses the graph analysis for the different instantiations.
44
45 SparseModelType const& getOriginalModel() const;
46
47 protected:
48 SparseModelType const& parametricModel;
49 std::unique_ptr<CheckTask<storm::logic::Formula, ConstantType>> currentCheckTask;
50
51 private:
52 // store the current formula. Note that currentCheckTask only stores a reference to the formula.
53 std::shared_ptr<storm::logic::Formula const> currentFormula;
54
55 bool instantiationsAreGraphPreserving;
56};
57} // namespace modelchecker
58} // namespace storm
Class to efficiently check a formula on a parametric model with different parameter instantiations.
void specifyFormula(CheckTask< storm::logic::Formula, typename SparseModelType::ValueType > const &checkTask)
virtual std::unique_ptr< CheckResult > check(Environment const &env, storm::utility::parametric::Valuation< typename SparseModelType::ValueType > const &valuation)=0
virtual bool isWellDefined(storm::utility::parametric::Valuation< typename SparseModelType::ValueType > const &valuation)=0
Checks if the given valuation is valid for the current model.
std::unique_ptr< CheckTask< storm::logic::Formula, ConstantType > > currentCheckTask
std::map< typename VariableType< FunctionType >::type, typename CoefficientType< FunctionType >::type > Valuation
Definition parametric.h:43
LabParser.cpp.