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