Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
AssumptionMaker.h
Go to the documentation of this file.
1#pragma once
2
3#include "AssumptionChecker.h"
4#include "Order.h"
5
9
10namespace storm {
11namespace analysis {
12
13template<typename ValueType, typename ConstantType>
15 typedef std::shared_ptr<expressions::BinaryRelationExpression> AssumptionType;
16
17 public:
24
36 std::map<std::shared_ptr<expressions::BinaryRelationExpression>, AssumptionStatus> createAndCheckAssumptions(
37 uint_fast64_t val1, uint_fast64_t val2, std::shared_ptr<Order> order, storage::ParameterRegion<ValueType> region) const;
38 std::map<std::shared_ptr<expressions::BinaryRelationExpression>, AssumptionStatus> createAndCheckAssumptions(
39 uint_fast64_t val1, uint_fast64_t val2, std::shared_ptr<Order> order, storage::ParameterRegion<ValueType> region,
40 std::vector<ConstantType> const minValues, std::vector<ConstantType> const maxValue) const;
41
50 void initializeCheckingOnSamples(std::shared_ptr<logic::Formula const> formula, std::shared_ptr<models::sparse::Dtmc<ValueType>> model,
51 storage::ParameterRegion<ValueType> region, uint_fast64_t numberOfSamples);
52
58 void setSampleValues(std::vector<std::vector<ConstantType>> const& samples);
59
60 private:
61 std::pair<std::shared_ptr<expressions::BinaryRelationExpression>, AssumptionStatus> createAndCheckAssumption(
62 uint_fast64_t val1, uint_fast64_t val2, expressions::RelationType relationType, std::shared_ptr<Order> order,
63 storage::ParameterRegion<ValueType> region, std::vector<ConstantType> const minValues, std::vector<ConstantType> const maxValue) const;
64
66
67 std::shared_ptr<expressions::ExpressionManager> expressionManager;
68
69 uint_fast64_t numberOfStates;
70};
71} // namespace analysis
72} // namespace storm
void setSampleValues(std::vector< std::vector< ConstantType > > const &samples)
Sets the sample values to the given vector.
std::map< std::shared_ptr< expressions::BinaryRelationExpression >, AssumptionStatus > createAndCheckAssumptions(uint_fast64_t val1, uint_fast64_t val2, std::shared_ptr< Order > order, storage::ParameterRegion< ValueType > region) const
Creates assumptions, and checks them, only VALID and UNKNOWN assumptions are returned.
AssumptionMaker(storage::SparseMatrix< ValueType > matrix)
Constructs AssumptionMaker based on the matrix of the model.
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
A class that holds a possibly non-square matrix in the compressed row storage format.
AssumptionStatus
Constants for status of assumption.
RelationType
An enum type specifying the different relations applicable.