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
3#include "Order.h"
11
12namespace storm {
13namespace analysis {
22
23template<typename ValueType, typename ConstantType>
25 public:
28
35
43 AssumptionChecker(std::shared_ptr<logic::Formula const> formula, std::shared_ptr<models::sparse::Mdp<ValueType>> model,
44 uint_fast64_t const numberOfSamples);
45
54 void initializeCheckingOnSamples(std::shared_ptr<logic::Formula const> formula, std::shared_ptr<models::sparse::Dtmc<ValueType>> model,
55 storage::ParameterRegion<ValueType> region, uint_fast64_t numberOfSamples);
56
62 void setSampleValues(std::vector<std::vector<ConstantType>> samples);
63
72 AssumptionStatus validateAssumption(uint_fast64_t val1, uint_fast64_t val2, std::shared_ptr<expressions::BinaryRelationExpression> assumption,
73 std::shared_ptr<Order> order, storage::ParameterRegion<ValueType> region, std::vector<ConstantType> const minValues,
74 std::vector<ConstantType> const maxValue) const;
75 AssumptionStatus validateAssumption(std::shared_ptr<expressions::BinaryRelationExpression> assumption, std::shared_ptr<Order> order,
77
78 private:
79 bool useSamples;
80
81 std::vector<std::vector<ConstantType>> samples;
82
84
85 AssumptionStatus validateAssumptionSMTSolver(uint_fast64_t val1, uint_fast64_t val2, std::shared_ptr<expressions::BinaryRelationExpression> assumption,
86 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(std::shared_ptr<expressions::BinaryRelationExpression> assumption) const;
90};
91} // namespace analysis
92} // namespace storm
AssumptionChecker(storage::SparseMatrix< ValueType > matrix)
Constructs an AssumptionChecker.
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:13
This class represents a (discrete-time) Markov decision process.
Definition Mdp.h:13
A class that holds a possibly non-square matrix in the compressed row storage format.
AssumptionStatus
Constants for status of assumption.