Browse Source
Added proper formula string method to filters.
Added proper formula string method to filters.
- Lots of debugging
- Changed the way the filter keeps information about the scheduler to use for probability/reward queries.
| This was done by keeping a special action at the first position of the action list.
| Which was not exactly consistent with the idea behind the filter actions.
| Now the filter keeps this information as an enum value in a member variable.
- All but one tests are green. So we almost reestablished full functionality.
|- The last test that still fails is SparseMdpPrctlModelCheckerTest.Dice where the second to last model check returns the wrong result.
Next up: Debug. Then introduce the full range of filter actions.
Former-commit-id: fd311966cc
main
19 changed files with 353 additions and 252 deletions
-
41src/formula/AbstractFilter.h
-
68src/formula/Actions/MinMaxAction.h
-
113src/formula/Csl/CslFilter.h
-
4src/formula/Csl/ProbabilisticBoundOperator.h
-
4src/formula/Csl/SteadyStateBoundOperator.h
-
6src/formula/Csl/TimeBoundedEventually.h
-
4src/formula/Csl/TimeBoundedUntil.h
-
2src/formula/Prctl/BoundedNaryUntil.h
-
125src/formula/Prctl/PrctlFilter.h
-
4src/formula/Prctl/ProbabilisticBoundOperator.h
-
4src/formula/Prctl/RewardBoundOperator.h
-
18src/modelchecker/prctl/AbstractModelChecker.h
-
8src/modelchecker/prctl/SparseDtmcPrctlModelChecker.h
-
60src/parser/CslParser.cpp
-
60src/parser/PrctlParser.cpp
-
36test/functional/modelchecker/SparseMdpPrctlModelCheckerTest.cpp
-
10test/functional/parser/CslParserTest.cpp
-
10test/functional/parser/PrctlParserTest.cpp
-
28test/performance/modelchecker/SparseMdpPrctlModelCheckerTest.cpp
@ -1,68 +0,0 @@ |
|||
/* |
|||
* MinMaxAction.h |
|||
* |
|||
* Created on: Apr 30, 2014 |
|||
* Author: Manuel Sascha Weiand |
|||
*/ |
|||
|
|||
#ifndef STORM_FORMULA_ACTION_MINMAXACTION_H_ |
|||
#define STORM_FORMULA_ACTION_MINMAXACTION_H_ |
|||
|
|||
#include "src/formula/Actions/AbstractAction.h" |
|||
|
|||
namespace storm { |
|||
namespace property { |
|||
namespace action { |
|||
|
|||
template <class T> |
|||
class MinMaxAction : public AbstractAction<T> { |
|||
|
|||
public: |
|||
|
|||
MinMaxAction() : minimize(true) { |
|||
//Intentionally left empty. |
|||
} |
|||
|
|||
explicit MinMaxAction(bool minimize) : minimize(minimize) { |
|||
//Intentionally left empty. |
|||
} |
|||
|
|||
/*! |
|||
* Virtual destructor |
|||
* To ensure that the right destructor is called |
|||
*/ |
|||
virtual ~MinMaxAction() { |
|||
//Intentionally left empty |
|||
} |
|||
|
|||
/*! |
|||
* |
|||
*/ |
|||
virtual std::string toString() const override { |
|||
return minimize ? "min" : "max"; |
|||
} |
|||
|
|||
/*! |
|||
* |
|||
*/ |
|||
virtual std::string toFormulaString() const override { |
|||
return minimize ? "min" : "max"; |
|||
} |
|||
|
|||
/*! |
|||
* |
|||
*/ |
|||
bool getMinimize() { |
|||
return minimize; |
|||
} |
|||
|
|||
private: |
|||
bool minimize; |
|||
|
|||
}; |
|||
|
|||
} //namespace action |
|||
} //namespace property |
|||
} //namespace storm |
|||
|
|||
#endif /* STORM_FORMULA_ACTION_MINMAXACTION_H_ */ |
Write
Preview
Loading…
Cancel
Save
Reference in new issue