Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
AssumptionChecker.h
Go to the documentation of this file.
1#ifndef STORM_ASSUMPTIONCHECKER_H
2#define STORM_ASSUMPTIONCHECKER_H
3
4#include "Order.h"
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
55 void initializeCheckingOnSamples(std::shared_ptr<logic::Formula const> formula, std::shared_ptr<models::sparse::Dtmc<ValueType>> model,
56 storage::ParameterRegion<ValueType> region, uint_fast64_t numberOfSamples);
57
63 void setSampleValues(std::vector<std::vector<ConstantType>> samples);
64
73 AssumptionStatus validateAssumption(uint_fast64_t val1, uint_fast64_t val2, std::shared_ptr<expressions::BinaryRelationExpression> assumption,
74 std::shared_ptr<Order> order, storage::ParameterRegion<ValueType> region, std::vector<ConstantType> const minValues,
75 std::vector<ConstantType> const maxValue) const;
76 AssumptionStatus validateAssumption(std::shared_ptr<expressions::BinaryRelationExpression> assumption, std::shared_ptr<Order> order,
78
79 private:
80 bool useSamples;
81
82 std::vector<std::vector<ConstantType>> samples;
83
85
86 AssumptionStatus validateAssumptionSMTSolver(uint_fast64_t val1, uint_fast64_t val2, std::shared_ptr<expressions::BinaryRelationExpression> assumption,
87 std::shared_ptr<Order> order, storage::ParameterRegion<ValueType> region,
88 std::vector<ConstantType> const minValues, std::vector<ConstantType> const maxValue) const;
89
90 AssumptionStatus checkOnSamples(std::shared_ptr<expressions::BinaryRelationExpression> assumption) const;
91};
92} // namespace analysis
93} // namespace storm
94#endif // STORM_ASSUMPTIONCHECKER_H
AssumptionStatus validateAssumption(uint_fast64_t val1, uint_fast64_t val2, std::shared_ptr< expressions::BinaryRelationExpression > 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.
void initializeCheckingOnSamples(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.
This class represents a discrete-time Markov chain.
Definition Dtmc.h:14
This class represents a (discrete-time) Markov decision process.
Definition Mdp.h:14
A class that holds a possibly non-square matrix in the compressed row storage format.
AssumptionStatus
Constants for status of assumption.
LabParser.cpp.
Definition cli.cpp:18