| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -27,10 +27,10 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include "storm-parsers/api/storm-parsers.h"
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					// TODO: extend
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					// TODO: extend for cases in which checkOnSamples and validateAssumption return true
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					TEST(AssumptionCheckerTest, Brp) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::string programFile = STORM_TEST_RESOURCES_DIR "/pdtmc/brp16_2.pm"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::string formulaAsString = "P<=0.84 [F s=5 ]"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::string formulaAsString = "P=? [F s=4 & i=N ]"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::string constantsAsString = ""; //e.g. pL=0.9,TOACK=0.5
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // Program and formula
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -40,8 +40,7 @@ TEST(AssumptionCheckerTest, Brp) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalFunction>> model = storm::api::buildSparseModel<storm::RationalFunction>(program, formulas)->as<storm::models::sparse::Dtmc<storm::RationalFunction>>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalFunction>> dtmc = model->as<storm::models::sparse::Dtmc<storm::RationalFunction>>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto simplifier = storm::transformer::SparseParametricDtmcSimplifier<storm::models::sparse::Dtmc<storm::RationalFunction>>(*dtmc); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ASSERT_TRUE(simplifier.simplify(*(formulas[0]))); // TODO: verwacht path formula?
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ASSERT_TRUE(simplifier.simplify(*(formulas[0]))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    model = simplifier.getSimplifiedModel(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    dtmc = model->as<storm::models::sparse::Dtmc<storm::RationalFunction>>(); | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -61,7 +60,7 @@ TEST(AssumptionCheckerTest, Brp) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                                         expressionManager->getVariable("7").getExpression().getBaseExpressionPointer(), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                                         expressionManager->getVariable("5").getExpression().getBaseExpressionPointer(), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                                         storm::expressions::BinaryRelationExpression::RelationType::GreaterOrEqual)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    EXPECT_FALSE(checker.checkOnSamples(assumption)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    EXPECT_TRUE(checker.checkOnSamples(assumption)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto emptyLattice = new storm::analysis::Lattice(storm::storage::BitVector(8), storm::storage::BitVector(8), 8); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // Validate assumptions
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |