Storm
1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SparseParametricModelSimplifier.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <boost/optional.hpp>
4
#include <memory>
5
#include <optional>
6
#include <string>
7
8
#include "
storm/logic/Formulas.h
"
9
#include "
storm/storage/BitVector.h
"
10
11
namespace
storm
{
12
namespace
transformer
{
13
20
template
<
typename
SparseModelType>
21
class
SparseParametricModelSimplifier
{
22
public
:
23
SparseParametricModelSimplifier
(SparseModelType
const
& model);
24
25
/*
26
* Invokes the simplification of the model w.r.t. the given formula.
27
* Returns true, iff simplification was successful
28
*/
29
bool
simplify
(
storm::logic::Formula
const
& formula);
30
31
/*
32
* Retrieves the simplified model.
33
* Note that simplify(formula) needs to be called first and has to return true. Otherwise an exception is thrown
34
*/
35
std::shared_ptr<SparseModelType>
getSimplifiedModel
()
const
;
36
37
/*
38
* Retrieves the simplified formula.
39
* Note that simplify(formula) needs to be called first and has to return true. Otherwise an exception is thrown
40
*/
41
std::shared_ptr<storm::logic::Formula const>
getSimplifiedFormula
()
const
;
42
48
void
setPreserveParametricTransitions
(
bool
preserveParametricTransitions);
49
53
bool
isPreserveParametricTransitionsSet
()
const
;
54
55
private
:
56
SparseModelType
const
& originalModel;
57
58
std::shared_ptr<SparseModelType> simplifiedModel;
59
std::shared_ptr<storm::logic::Formula const> simplifiedFormula;
60
bool
preserveParametricTransitions =
false
;
61
};
62
}
// namespace transformer
63
}
// namespace storm
BitVector.h
Formulas.h
storm::logic::Formula
Definition
Formula.h:31
storm::transformer::SparseParametricModelSimplifier::setPreserveParametricTransitions
void setPreserveParametricTransitions(bool preserveParametricTransitions)
Set whether to preserve parametric transions (i.e.
Definition
SparseParametricModelSimplifier.cpp:305
storm::transformer::SparseParametricModelSimplifier::simplify
bool simplify(storm::logic::Formula const &formula)
Definition
SparseParametricModelSimplifier.cpp:162
storm::transformer::SparseParametricModelSimplifier::getSimplifiedFormula
std::shared_ptr< storm::logic::Formula const > getSimplifiedFormula() const
Definition
SparseParametricModelSimplifier.cpp:298
storm::transformer::SparseParametricModelSimplifier::getSimplifiedModel
std::shared_ptr< SparseModelType > getSimplifiedModel() const
Definition
SparseParametricModelSimplifier.cpp:292
storm::transformer::SparseParametricModelSimplifier::isPreserveParametricTransitionsSet
bool isPreserveParametricTransitionsSet() const
Whether this SparseParametricModelSimplifier preserves parametric transitions.
Definition
SparseParametricModelSimplifier.cpp:310
storm::transformer::SparseParametricModelSimplifier::SparseParametricModelSimplifier
SparseParametricModelSimplifier(SparseModelType const &model)
Definition
SparseParametricModelSimplifier.cpp:157
storm::transformer
Definition
OrderBasedMonotonicityBackend.h:16
storm
Definition
AutomaticSettings.cpp:13
src
storm-pars
transformer
SparseParametricModelSimplifier.h
Generated by
1.15.0