| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -8,7 +8,7 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#ifndef MRMC_FORMULA_PROBABILISTICOPERATOR_H_ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define MRMC_FORMULA_PROBABILISTICOPERATOR_H_ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include "PCTLStateFormula.h" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include "PctlStateFormula.h" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					namespace mrmc { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					namespace formula { | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -32,14 +32,14 @@ namespace formula { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * (this behavior can be prevented by setting them to NULL before deletion) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @see PCTLStateFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @see PCTLPathFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @see PctlStateFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @see PctlPathFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @see ProbabilisticIntervalOperator | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @see ProbabilisticNoBoundsOperator | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @see PCTLFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @see PctlFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					template<class T> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					class ProbabilisticOperator : public mrmc::formula::PCTLStateFormula<T> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					class ProbabilisticOperator : public mrmc::formula::PctlStateFormula<T> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					public: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/*! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * Empty constructor | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -55,7 +55,7 @@ public: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * @param bound The expected value for path formulas | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * @param pathFormula The child node | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						ProbabilisticOperator(T bound, PCTLPathFormula<T>& pathFormula) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						ProbabilisticOperator(T bound, PctlPathFormula<T>& pathFormula) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							this->bound = bound; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							this->pathFormula = &pathFormula; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -73,7 +73,7 @@ public: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/*! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * @returns the child node (representation of a PCTL path formula) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						const PCTLPathFormula<T>& getPathFormula () const { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						const PctlPathFormula<T>& getPathFormula () const { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return *pathFormula; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -89,7 +89,7 @@ public: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * @param pathFormula the path formula that becomes the new child node | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						void setPathFormula(PCTLPathFormula<T>* pathFormula) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						void setPathFormula(PctlPathFormula<T>* pathFormula) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							this->pathFormula = pathFormula; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -109,7 +109,7 @@ public: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * @returns a new ProbabilisticOperator-object that is identical to the called object. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						virtual PCTLStateFormula<T>* clone() const { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						virtual PctlStateFormula<T>* clone() const { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							ProbabilisticOperator<T>* result = new ProbabilisticOperator<T>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							result->setBound(bound); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (pathFormula != NULL) { | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -134,9 +134,9 @@ public: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/*! | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 *	Returns a string representation of this PCTLStateFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 *	Returns a string representation of this PctlStateFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 *  | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * @returns a string representation of this PCTLStateFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * @returns a string representation of this PctlStateFormula | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						virtual std::string toString() const { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							std::string result = " P="; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -148,7 +148,7 @@ public: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					private: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						T bound; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						PCTLPathFormula<T>* pathFormula; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						PctlPathFormula<T>* pathFormula; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} /* namespace formula */ | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |