Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
FragmentSpecification.h
Go to the documentation of this file.
1#pragma once
2
3#include <map>
4#include <string>
5
6namespace storm {
7namespace logic {
8
10
12 public:
18
20
23
24 bool areRewardOperatorsAllowed() const;
26
27 bool areTimeOperatorsAllowed() const;
29
32
35
36 bool areQuantileFormulasAllowed() const;
38
39 bool areGloballyFormulasAllowed() const;
41
44
45 bool areNextFormulasAllowed() const;
47
48 bool areUntilFormulasAllowed() const;
50
53
54 bool areWeakUntilFormulasAllowed() const;
56
57 bool areReleaseFormulasAllowed() const;
59
60 bool areHOAPathFormulasAllowed() const;
62
65
68
71
74
77
80
83
86
89
92
95
98
101
104
107
108 bool areNestedOperatorsAllowed() const;
110
111 bool areNestedPathFormulasAllowed() const;
113
116
119
122
125
128
131
134
137
140
143
146
149
152
153 bool isOperatorAtTopLevelRequired() const;
155
158
161
164
165 bool isRewardAccumulationAllowed() const;
167
168 bool areGameFormulasAllowed() const;
170
173
176
180
181 private:
182 // Flags that indicate whether it is legal to see such a formula.
183 bool probabilityOperator;
184 bool rewardOperator;
185 bool expectedTimeOperator;
186 bool longRunAverageOperator;
187
188 bool multiObjectiveFormula;
189 bool quantileFormula;
190
191 bool globallyFormula;
192 bool reachabilityProbabilityFormula;
193 bool nextFormula;
194 bool untilFormula;
195 bool boundedUntilFormula;
196 bool weakUntilFormula;
197 bool releaseFormula;
198 bool hoaPathFormula;
199
200 bool atomicExpressionFormula;
201 bool atomicLabelFormula;
202 bool booleanLiteralFormula;
203 bool unaryBooleanStateFormula;
204 bool binaryBooleanStateFormula;
205 bool unaryBooleanPathFormula;
206 bool binaryBooleanPathFormula;
207
208 bool cumulativeRewardFormula;
209 bool instantaneousRewardFormula;
210 bool reachabilityRewardFormula;
211 bool longRunAverageRewardFormula;
212 bool totalRewardFormula;
213
214 bool conditionalProbabilityFormula;
215 bool conditionalRewardFormula;
216
217 bool reachabilityTimeFormula;
218
219 bool gameFormula;
220
221 // Members that indicate certain restrictions.
222 bool nestedOperators;
223 bool nestedPathFormulas;
224 bool nestedMultiObjectiveFormulas;
225 bool nestedOperatorsInsideMultiObjectiveFormulas;
226 bool onlyEventuallyFormuluasInConditionalFormulas;
227 bool stepBoundedUntilFormulas;
228 bool timeBoundedUntilFormulas;
229 bool rewardBoundedUntilFormulas;
230 bool multiDimensionalBoundedUntilFormulas;
231 bool stepBoundedCumulativeRewardFormulas;
232 bool timeBoundedCumulativeRewardFormulas;
233 bool rewardBoundedCumulativeRewardFormulas;
234 bool multiDimensionalCumulativeRewardFormulas;
235 bool quantitativeOperatorResults;
236 bool qualitativeOperatorResults;
237 bool operatorAtTopLevelRequired;
238 bool multiObjectiveFormulaAtTopLevelRequired;
239 bool quantileFormulaAtTopLevelRequired;
240 bool operatorsAtTopLevelOfMultiObjectiveFormulasRequired;
241
242 bool rewardAccumulation;
243
244 bool discountedCumulativeRewardFormula;
245 bool discountedTotalRewardFormula;
246};
247
248// Propositional.
250
251// Just reachability properties.
253
254// Regular PCTL.
256
257// Flat PCTL.
259
260// rPATL for SMGs
262// PCTL*
264
265// PCTL + cumulative, instantaneous, reachability and long-run rewards.
267
268// PCTL* + cumulative, instantaneous, reachability and long-run rewards.
270
271// Regular CSL.
273
274// CSL*, i.e., CSL with LTL path formulas.
276
277// CSL + cumulative, instantaneous, reachability and long-run rewards.
279
280// CSL* + cumulative, instantaneous, reachability and long-run rewards.
282
283// Multi-Objective formulas.
285
286// Lex-Objective formulas
288
289// Quantile formulas.
291
292} // namespace logic
293} // namespace storm
FragmentSpecification & setConditionalRewardFormulasAllowed(bool newValue)
FragmentSpecification & setAtomicExpressionFormulasAllowed(bool newValue)
FragmentSpecification & setNextFormulasAllowed(bool newValue)
FragmentSpecification(FragmentSpecification &&other)=default
FragmentSpecification & setBinaryBooleanPathFormulasAllowed(bool newValue)
FragmentSpecification & setStepBoundedUntilFormulasAllowed(bool newValue)
FragmentSpecification & setUnaryBooleanStateFormulasAllowed(bool newValue)
FragmentSpecification & setRewardBoundedCumulativeRewardFormulasAllowed(bool newValue)
FragmentSpecification & setRewardAccumulationAllowed(bool newValue)
FragmentSpecification & setOnlyEventuallyFormuluasInConditionalFormulasAllowed(bool newValue)
FragmentSpecification & setBinaryBooleanStateFormulasAllowed(bool newValue)
FragmentSpecification & setReleaseFormulasAllowed(bool newValue)
FragmentSpecification & setMultiDimensionalBoundedUntilFormulasAllowed(bool newValue)
FragmentSpecification & operator=(FragmentSpecification const &other)=default
FragmentSpecification & setTimeOperatorsAllowed(bool newValue)
FragmentSpecification & setUnaryBooleanPathFormulasAllowed(bool newValue)
FragmentSpecification & setAtomicLabelFormulasAllowed(bool newValue)
FragmentSpecification & setNestedMultiObjectiveFormulasAllowed(bool newValue)
FragmentSpecification & setWeakUntilFormulasAllowed(bool newValue)
FragmentSpecification & setGameFormulasAllowed(bool newValue)
FragmentSpecification & setMultiObjectiveFormulaAtTopLevelRequired(bool newValue)
FragmentSpecification & setQuantileFormulaAtTopLevelRequired(bool newValue)
FragmentSpecification & setQuantileFormulasAllowed(bool newValue)
FragmentSpecification & operator=(FragmentSpecification &&other)=default
FragmentSpecification & setOperatorAtTopLevelRequired(bool newValue)
FragmentSpecification & setBooleanLiteralFormulasAllowed(bool newValue)
FragmentSpecification & setMultiObjectiveFormulasAllowed(bool newValue)
FragmentSpecification & setGloballyFormulasAllowed(bool newValue)
FragmentSpecification & setTimeBoundedUntilFormulasAllowed(bool newValue)
FragmentSpecification & setReachabilityProbabilityFormulasAllowed(bool newValue)
FragmentSpecification & setCumulativeRewardFormulasAllowed(bool newValue)
FragmentSpecification & setTotalRewardFormulasAllowed(bool newValue)
FragmentSpecification & setDiscountedCumulativeRewardFormulasAllowed(bool newValue)
FragmentSpecification & setReachabilityRewardFormulasAllowed(bool newValue)
FragmentSpecification & setMultiDimensionalCumulativeRewardFormulasAllowed(bool newValue)
FragmentSpecification & setNestedPathFormulasAllowed(bool newValue)
FragmentSpecification & setConditionalProbabilityFormulasAllowed(bool newValue)
FragmentSpecification(FragmentSpecification const &other)=default
FragmentSpecification & setRewardBoundedUntilFormulasAllowed(bool newValue)
FragmentSpecification & setLongRunAverageRewardFormulasAllowed(bool newValue)
FragmentSpecification & setQualitativeOperatorResultsAllowed(bool newValue)
FragmentSpecification & setLongRunAverageProbabilitiesAllowed(bool newValue)
FragmentSpecification & setQuantitativeOperatorResultsAllowed(bool newValue)
FragmentSpecification & setRewardOperatorsAllowed(bool newValue)
FragmentSpecification & setNestedOperatorsInsideMultiObjectiveFormulasAllowed(bool newValue)
FragmentSpecification & setBoundedUntilFormulasAllowed(bool newValue)
FragmentSpecification & setTimeBoundedCumulativeRewardFormulasAllowed(bool newValue)
FragmentSpecification & setHOAPathFormulasAllowed(bool newValue)
FragmentSpecification & setOperatorsAllowed(bool newValue)
FragmentSpecification & setReachbilityTimeFormulasAllowed(bool newValue)
FragmentSpecification & setDiscountedTotalRewardFormulasAllowed(bool newValue)
FragmentSpecification & setInstantaneousFormulasAllowed(bool newValue)
FragmentSpecification & setUntilFormulasAllowed(bool newValue)
FragmentSpecification & setTimeAllowed(bool newValue)
FragmentSpecification & setNestedOperatorsAllowed(bool newValue)
FragmentSpecification & setStepBoundedCumulativeRewardFormulasAllowed(bool newValue)
FragmentSpecification & setProbabilityOperatorsAllowed(bool newValue)
FragmentSpecification & setLongRunAverageOperatorsAllowed(bool newValue)
FragmentSpecification & setOperatorsAtTopLevelOfMultiObjectiveFormulasRequired(bool newValue)
FragmentSpecification prctlstar()
FragmentSpecification prctl()
FragmentSpecification propositional()
FragmentSpecification lexObjective()
FragmentSpecification csrl()
FragmentSpecification pctlstar()
FragmentSpecification flatPctl()
FragmentSpecification csrlstar()
FragmentSpecification csl()
FragmentSpecification multiObjective()
FragmentSpecification pctl()
FragmentSpecification cslstar()
FragmentSpecification reachability()
FragmentSpecification quantiles()
FragmentSpecification rpatl()