Storm
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
29 // If set, it is assumed that all considered model instantiations have the same underlying graph structure.
30 // This bypasses the graph analysis for the different instantiations.
33
34 SparseModelType const& getOriginalModel() const;
35
36 protected:
37 SparseModelType const& parametricModel;
38 std::unique_ptr<CheckTask<storm::logic::Formula, ConstantType>> currentCheckTask;
39
40 private:
41 // store the current formula. Note that currentCheckTask only stores a reference to the formula.
42 std::shared_ptr<storm::logic::Formula const> currentFormula;
43
44 bool instantiationsAreGraphPreserving;
45};
46} // namespace modelchecker
47} // 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
std::unique_ptr< CheckTask< storm::logic::Formula, ConstantType > > currentCheckTask
std::map< typename VariableType< FunctionType >::type, typename CoefficientType< FunctionType >::type > Valuation
Definition parametric.h:41
LabParser.cpp.
Definition cli.cpp:18