Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SingleValueModelCheckerHelper.h
Go to the documentation of this file.
1#pragma once
2
4
7
8namespace storm {
9namespace modelchecker {
10namespace helper {
11
17template<typename ValueType, storm::models::ModelRepresentation ModelRepresentation>
18class SingleValueModelCheckerHelper : public ModelCheckerHelper<ValueType, ModelRepresentation> {
19 public:
21
28
33
37 bool isOptimizationDirectionSet() const;
38
44
49 bool minimize() const;
50
55 bool maximize() const;
56
60 boost::optional<storm::solver::OptimizationDirection> getOptionalOptimizationDirection() const;
61
69 void setValueThreshold(storm::logic::ComparisonType const& comparisonType, ValueType const& thresholdValue);
70
75
79 bool isValueThresholdSet() const;
80
86
91 ValueType const& getValueThresholdValue() const;
92
96 void setProduceScheduler(bool value);
97
101 bool isProduceSchedulerSet() const;
102
106 void setQualitative(bool value);
107
111 bool isQualitativeSet() const;
112
113 private:
114 boost::optional<storm::solver::OptimizationDirection> _optimizationDirection;
115 boost::optional<std::pair<storm::logic::ComparisonType, ValueType>> _valueThreshold;
116 bool _produceScheduler;
117 bool _isQualitativeSet;
118};
119} // namespace helper
120} // namespace modelchecker
121} // namespace storm
Helper class for solving a model checking query.
Helper for model checking queries where we are interested in (optimizing) a single value per state.
storm::logic::ComparisonType const & getValueThresholdComparisonType() const
void setValueThreshold(storm::logic::ComparisonType const &comparisonType, ValueType const &thresholdValue)
Sets a goal threshold for the value at each state.
void clearOptimizationDirection()
Clears the optimization direction if it was set before.
void setQualitative(bool value)
Sets whether the property needs to be checked qualitatively.
void setProduceScheduler(bool value)
Sets whether an optimal scheduler shall be constructed during the computation.
boost::optional< storm::solver::OptimizationDirection > getOptionalOptimizationDirection() const
storm::solver::OptimizationDirection const & getOptimizationDirection() const
void setOptimizationDirection(storm::solver::OptimizationDirection const &direction)
Sets the optimization direction, i.e., whether we want to minimize or maximize the value for each sta...
void clearValueThreshold()
Clears the valueThreshold if it was set before.
LabParser.cpp.
Definition cli.cpp:18