Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
AssumptionChecker.h
Go to the documentation of this file.
1#pragma once
2
8
12
13namespace storm {
14namespace analysis {
23
24template<typename ValueType, typename ConstantType>
26 public:
29
36
44 AssumptionChecker(std::shared_ptr<logic::Formula const> formula, std::shared_ptr<models::sparse::Mdp<ValueType>> model,
45 uint_fast64_t const numberOfSamples);
46
56 void initializeCheckingOnSamples(Environment const& env, std::shared_ptr<logic::Formula const> formula,
58 uint_fast64_t numberOfSamples);
59
65 void setSampleValues(std::vector<std::vector<ConstantType>> samples);
66
75 AssumptionStatus validateAssumption(Assumption const& assumption, std::shared_ptr<Order> order, storage::ParameterRegion<ValueType> region,
76 std::vector<ConstantType> const minValues, std::vector<ConstantType> const maxValue) const;
77 AssumptionStatus validateAssumption(Assumption const& assumption, std::shared_ptr<Order> order, storage::ParameterRegion<ValueType> region) const;
78
79 private:
80 bool useSamples;
81
82 std::vector<std::vector<ConstantType>> samples;
83
85
86 AssumptionStatus validateAssumptionSMTSolver(Assumption const& assumption, std::shared_ptr<Order> order, storage::ParameterRegion<ValueType> region,
87 std::vector<ConstantType> const minValues, std::vector<ConstantType> const maxValue) const;
88
89 AssumptionStatus checkOnSamples(Assumption const& assumption) const;
90};
91} // namespace analysis
92} // namespace storm
AssumptionChecker(storage::SparseMatrix< ValueType > matrix)
Constructs an AssumptionChecker.
void initializeCheckingOnSamples(Environment const &env, std::shared_ptr< logic::Formula const > formula, std::shared_ptr< models::sparse::Dtmc< ValueType > > model, storage::ParameterRegion< ValueType > region, uint_fast64_t numberOfSamples)
Initializes the given number of sample points for a given model, formula and region.
AssumptionStatus validateAssumption(Assumption const &assumption, std::shared_ptr< Order > order, storage::ParameterRegion< ValueType > region, std::vector< ConstantType > const minValues, std::vector< ConstantType > const maxValue) const
Tries to validate an assumption based on the order and underlying transition matrix.
utility::parametric::CoefficientType< ValueType >::type CoefficientType
utility::parametric::VariableType< ValueType >::type VariableType
void setSampleValues(std::vector< std::vector< ConstantType > > samples)
Sets the sample values to the given vector and useSamples to true.
This class represents a discrete-time Markov chain.
Definition Dtmc.h:16
This class represents a (discrete-time) Markov decision process.
Definition Mdp.h:16
A class that holds a possibly non-square matrix in the compressed row storage format.
AssumptionStatus
Constants for status of assumption.
A candidate relation between two states of a reachability order: either state1 > state2 (Greater) or ...
Definition Assumption.h:20