Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
NonMarkovianChainTransformer.h
Go to the documentation of this file.
1
#include "
storm/logic/Formula.h
"
2
#include "
storm/models/sparse/MarkovAutomaton.h
"
3
4
namespace
storm
{
5
namespace
transformer {
6
14
enum
EliminationLabelBehavior
{
KeepLabels
,
ExtendLabels
,
MergeLabels
,
DeleteLabels
};
15
19
template
<
typename
ValueType,
typename
RewardModelType = storm::models::sparse::StandardRewardModel<ValueType>>
20
class
NonMarkovianChainTransformer
{
21
public
:
30
static
std::shared_ptr<models::sparse::Model<ValueType, RewardModelType>>
eliminateNonmarkovianStates
(
31
std::shared_ptr<
models::sparse::MarkovAutomaton<ValueType, RewardModelType>
> ma,
32
EliminationLabelBehavior
labelBehavior =
EliminationLabelBehavior::KeepLabels
);
33
40
static
bool
preservesFormula
(
storm::logic::Formula
const
& formula);
41
48
static
std::vector<std::shared_ptr<storm::logic::Formula const>>
checkAndTransformFormulas
(
49
std::vector<std::shared_ptr<storm::logic::Formula const>>
const
& formulas);
50
};
51
}
// namespace transformer
52
}
// namespace storm
storm::logic::Formula
Definition
Formula.h:30
storm::models::sparse::MarkovAutomaton
This class represents a Markov automaton.
Definition
MarkovAutomaton.h:16
storm::transformer::NonMarkovianChainTransformer
Transformer for eliminating chains of non-Markovian states (instantaneous path fragment leading to th...
Definition
NonMarkovianChainTransformer.h:20
storm::transformer::NonMarkovianChainTransformer::eliminateNonmarkovianStates
static std::shared_ptr< models::sparse::Model< ValueType, RewardModelType > > eliminateNonmarkovianStates(std::shared_ptr< models::sparse::MarkovAutomaton< ValueType, RewardModelType > > ma, EliminationLabelBehavior labelBehavior=EliminationLabelBehavior::KeepLabels)
Generates a model with the same basic behavior as the input, but eliminates non-Markovian chains.
Definition
NonMarkovianChainTransformer.cpp:23
storm::transformer::NonMarkovianChainTransformer::checkAndTransformFormulas
static std::vector< std::shared_ptr< storm::logic::Formula const > > checkAndTransformFormulas(std::vector< std::shared_ptr< storm::logic::Formula const > > const &formulas)
Checks for the given formulae if the specified properties are preserved and removes formulae of prope...
Definition
NonMarkovianChainTransformer.cpp:178
storm::transformer::NonMarkovianChainTransformer::preservesFormula
static bool preservesFormula(storm::logic::Formula const &formula)
Check if the property specified by the given formula is preserved by the transformation.
Definition
NonMarkovianChainTransformer.cpp:161
Formula.h
storm::transformer::EliminationLabelBehavior
EliminationLabelBehavior
Specify criteria whether a state can be eliminated and how its labels should be treated.
Definition
NonMarkovianChainTransformer.h:14
storm::transformer::ExtendLabels
@ ExtendLabels
Definition
NonMarkovianChainTransformer.h:14
storm::transformer::KeepLabels
@ KeepLabels
Definition
NonMarkovianChainTransformer.h:14
storm::transformer::MergeLabels
@ MergeLabels
Definition
NonMarkovianChainTransformer.h:14
storm::transformer::DeleteLabels
@ DeleteLabels
Definition
NonMarkovianChainTransformer.h:14
storm
LabParser.cpp.
Definition
cli.cpp:18
MarkovAutomaton.h
src
storm
transformer
NonMarkovianChainTransformer.h
Generated by
1.9.8