@ -23,6 +23,7 @@ TEST(SparseDtmcRegionModelCheckerTest, Brp_Prob) {
// Program and formula
// Program and formula
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , constantsAsString ) ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
@ -90,16 +91,41 @@ TEST(SparseDtmcRegionModelCheckerTest, Brp_Rew) {
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/brp_rewards4/brp_rewards16_2.pm " ;
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/brp_rewards4/brp_rewards16_2.pm " ;
std : : string formulaAsString = " R>2.5 [F ((s=5) | (s=0&srep=3)) ] " ;
std : : string formulaAsString = " R>2.5 [F ((s=5) | (s=0&srep=3)) ] " ;
std : : string constantsAsString = " pL=0.9,TOAck=0.5 " ;
std : : string constantsAsString = " pL=0.9,TOAck=0.5 " ;
carl : : VariablePool : : getInstance ( ) . clear ( ) ;
std : : cout < < " registred variables " < < std : : endl ;
carl : : printRegisteredVariableNames ( ) ;
std : : cout < < std : : endl ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , constantsAsString ) ;
std : : cout < < " registred variables " < < std : : endl ;
carl : : printRegisteredVariableNames ( ) ;
std : : cout < < std : : endl ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
std : : cout < < " registred variables " < < std : : endl ;
carl : : printRegisteredVariableNames ( ) ;
std : : cout < < std : : endl ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
storm : : modelchecker : : region : : SparseRegionModelCheckerSettings settings ( regionSettings . getSampleMode ( ) , regionSettings . getApproxMode ( ) , regionSettings . getSmtMode ( ) ) ;
storm : : modelchecker : : region : : SparseRegionModelCheckerSettings settings ( regionSettings . getSampleMode ( ) , regionSettings . getApproxMode ( ) , regionSettings . getSmtMode ( ) ) ;
auto dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
auto dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
dtmcModelchecker - > specifyFormula ( formulas [ 0 ] ) ;
dtmcModelchecker - > specifyFormula ( formulas [ 0 ] ) ;
//start testing
//start testing
std : : cout < < " registred variables " < < std : : endl ;
carl : : printRegisteredVariableNames ( ) ;
std : : cout < < std : : endl ;
auto allSatRegion = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.7<=pK<=0.875,0.75<=TOMsg<=0.95 " ) ;
auto allSatRegion = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.7<=pK<=0.875,0.75<=TOMsg<=0.95 " ) ;
std : : cout < < " registred variables " < < std : : endl ;
carl : : printRegisteredVariableNames ( ) ;
std : : cout < < std : : endl ;
std : : cout < < " model parameters " < < std : : endl ;
for ( auto const & p : storm : : models : : sparse : : getProbabilityParameters ( * model ) ) {
std : : cout < < p . getId ( ) < < std : : endl ;
}
std : : cout < < " region parameters " < < std : : endl ;
for ( auto const & p : allSatRegion . getVariables ( ) ) {
std : : cout < < p . getId ( ) < < std : : endl ;
}
auto exBothRegion = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.6<=pK<=0.9,0.5<=TOMsg<=0.95 " ) ;
auto exBothRegion = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.6<=pK<=0.9,0.5<=TOMsg<=0.95 " ) ;
auto exBothHardRegion = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.5<=pK<=0.75,0.3<=TOMsg<=0.4 " ) ; //this region has a local maximum!
auto exBothHardRegion = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.5<=pK<=0.75,0.3<=TOMsg<=0.4 " ) ; //this region has a local maximum!
auto allVioRegion = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.1<=pK<=0.3,0.2<=TOMsg<=0.3 " ) ;
auto allVioRegion = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.1<=pK<=0.3,0.2<=TOMsg<=0.3 " ) ;
@ -183,7 +209,9 @@ TEST(SparseDtmcRegionModelCheckerTest, Brp_Rew_Infty) {
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/brp_rewards4/brp_rewards16_2.pm " ;
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/brp_rewards4/brp_rewards16_2.pm " ;
std : : string formulaAsString = " R>2.5 [F (s=0&srep=3) ] " ;
std : : string formulaAsString = " R>2.5 [F (s=0&srep=3) ] " ;
std : : string constantsAsString = " " ;
std : : string constantsAsString = " " ;
carl : : VariablePool : : getInstance ( ) . clear ( ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , constantsAsString ) ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
@ -199,6 +227,7 @@ TEST(SparseDtmcRegionModelCheckerTest, Brp_Rew_Infty) {
//test approximative method
//test approximative method
settings = storm : : modelchecker : : region : : SparseRegionModelCheckerSettings ( storm : : settings : : modules : : RegionSettings : : SampleMode : : INSTANTIATE , storm : : settings : : modules : : RegionSettings : : ApproxMode : : TESTFIRST , storm : : settings : : modules : : RegionSettings : : SmtMode : : OFF ) ;
settings = storm : : modelchecker : : region : : SparseRegionModelCheckerSettings ( storm : : settings : : modules : : RegionSettings : : SampleMode : : INSTANTIATE , storm : : settings : : modules : : RegionSettings : : ApproxMode : : TESTFIRST , storm : : settings : : modules : : RegionSettings : : SmtMode : : OFF ) ;
dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
dtmcModelchecker - > specifyFormula ( formulas [ 0 ] ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doApprox ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doApprox ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSample ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSample ( ) ) ;
ASSERT_FALSE ( dtmcModelchecker - > getSettings ( ) . doSmt ( ) ) ;
ASSERT_FALSE ( dtmcModelchecker - > getSettings ( ) . doSmt ( ) ) ;
@ -224,8 +253,9 @@ TEST(SparseDtmcRegionModelCheckerTest, Brp_Rew_4Par) {
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/brp_rewards4/brp_rewards16_2.pm " ;
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/brp_rewards4/brp_rewards16_2.pm " ;
std : : string formulaAsString = " R>2.5 [F ((s=5) | (s=0&srep=3)) ] " ;
std : : string formulaAsString = " R>2.5 [F ((s=5) | (s=0&srep=3)) ] " ;
std : : string constantsAsString = " " ; //!! this model will have 4 parameters
std : : string constantsAsString = " " ; //!! this model will have 4 parameters
carl : : VariablePool : : getInstance ( ) . clear ( ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , constantsAsString ) ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
@ -250,6 +280,7 @@ TEST(SparseDtmcRegionModelCheckerTest, Brp_Rew_4Par) {
//test approximative method
//test approximative method
settings = storm : : modelchecker : : region : : SparseRegionModelCheckerSettings ( storm : : settings : : modules : : RegionSettings : : SampleMode : : INSTANTIATE , storm : : settings : : modules : : RegionSettings : : ApproxMode : : TESTFIRST , storm : : settings : : modules : : RegionSettings : : SmtMode : : OFF ) ;
settings = storm : : modelchecker : : region : : SparseRegionModelCheckerSettings ( storm : : settings : : modules : : RegionSettings : : SampleMode : : INSTANTIATE , storm : : settings : : modules : : RegionSettings : : ApproxMode : : TESTFIRST , storm : : settings : : modules : : RegionSettings : : SmtMode : : OFF ) ;
dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
dtmcModelchecker - > specifyFormula ( formulas [ 0 ] ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doApprox ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doApprox ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSample ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSample ( ) ) ;
ASSERT_FALSE ( dtmcModelchecker - > getSettings ( ) . doSmt ( ) ) ;
ASSERT_FALSE ( dtmcModelchecker - > getSettings ( ) . doSmt ( ) ) ;
@ -285,8 +316,10 @@ TEST(SparseDtmcRegionModelCheckerTest, Crowds_Prob) {
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/crowds/crowds3_5.pm " ;
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/crowds/crowds3_5.pm " ;
std : : string formulaAsString = " P<0.5 [F \" observe0Greater1 \" ] " ;
std : : string formulaAsString = " P<0.5 [F \" observe0Greater1 \" ] " ;
std : : string constantsAsString = " " ; //e.g. pL=0.9,TOACK=0.5
std : : string constantsAsString = " " ; //e.g. pL=0.9,TOACK=0.5
carl : : VariablePool : : getInstance ( ) . clear ( ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , constantsAsString ) ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
@ -318,6 +351,7 @@ TEST(SparseDtmcRegionModelCheckerTest, Crowds_Prob) {
//test approximative method
//test approximative method
settings = storm : : modelchecker : : region : : SparseRegionModelCheckerSettings ( storm : : settings : : modules : : RegionSettings : : SampleMode : : INSTANTIATE , storm : : settings : : modules : : RegionSettings : : ApproxMode : : TESTFIRST , storm : : settings : : modules : : RegionSettings : : SmtMode : : OFF ) ;
settings = storm : : modelchecker : : region : : SparseRegionModelCheckerSettings ( storm : : settings : : modules : : RegionSettings : : SampleMode : : INSTANTIATE , storm : : settings : : modules : : RegionSettings : : ApproxMode : : TESTFIRST , storm : : settings : : modules : : RegionSettings : : SmtMode : : OFF ) ;
dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
dtmcModelchecker - > specifyFormula ( formulas [ 0 ] ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doApprox ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doApprox ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSample ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSample ( ) ) ;
ASSERT_FALSE ( dtmcModelchecker - > getSettings ( ) . doSmt ( ) ) ;
ASSERT_FALSE ( dtmcModelchecker - > getSettings ( ) . doSmt ( ) ) ;
@ -373,7 +407,11 @@ TEST(SparseDtmcRegionModelCheckerTest, Crowds_Prob_1Par) {
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/crowds/crowds3_5.pm " ;
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/crowds/crowds3_5.pm " ;
std : : string formulaAsString = " P>0.75 [F \" observe0Greater1 \" ] " ;
std : : string formulaAsString = " P>0.75 [F \" observe0Greater1 \" ] " ;
std : : string constantsAsString = " badC=0.3 " ; //e.g. pL=0.9,TOACK=0.5
std : : string constantsAsString = " badC=0.3 " ; //e.g. pL=0.9,TOACK=0.5
carl : : VariablePool : : getInstance ( ) . clear ( ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , constantsAsString ) ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
@ -417,6 +455,7 @@ TEST(SparseDtmcRegionModelCheckerTest, Crowds_Prob_1Par) {
auto allVioRegionSmt = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.01<=PF<=0.8 " ) ;
auto allVioRegionSmt = storm : : modelchecker : : region : : ParameterRegion < storm : : RationalFunction > : : parseRegion ( " 0.01<=PF<=0.8 " ) ;
settings = storm : : modelchecker : : region : : SparseRegionModelCheckerSettings ( storm : : settings : : modules : : RegionSettings : : SampleMode : : EVALUATE , storm : : settings : : modules : : RegionSettings : : ApproxMode : : OFF , storm : : settings : : modules : : RegionSettings : : SmtMode : : FUNCTION ) ;
settings = storm : : modelchecker : : region : : SparseRegionModelCheckerSettings ( storm : : settings : : modules : : RegionSettings : : SampleMode : : EVALUATE , storm : : settings : : modules : : RegionSettings : : ApproxMode : : OFF , storm : : settings : : modules : : RegionSettings : : SmtMode : : FUNCTION ) ;
dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
dtmcModelchecker = std : : make_shared < storm : : modelchecker : : region : : SparseDtmcRegionModelChecker < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > , double > > ( model , settings ) ;
dtmcModelchecker - > specifyFormula ( formulas [ 0 ] ) ;
ASSERT_FALSE ( dtmcModelchecker - > getSettings ( ) . doApprox ( ) ) ;
ASSERT_FALSE ( dtmcModelchecker - > getSettings ( ) . doApprox ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSample ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSample ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSmt ( ) ) ;
ASSERT_TRUE ( dtmcModelchecker - > getSettings ( ) . doSmt ( ) ) ;
@ -435,7 +474,10 @@ TEST(SparseDtmcRegionModelCheckerTest, Crowds_Prob_Const) {
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/crowds/crowds3_5.pm " ;
std : : string programFile = STORM_CPP_BASE_PATH " /examples/pdtmc/crowds/crowds3_5.pm " ;
std : : string formulaAsString = " P>0.6 [F \" observe0Greater1 \" ] " ;
std : : string formulaAsString = " P>0.6 [F \" observe0Greater1 \" ] " ;
std : : string constantsAsString = " PF=0.9,badC=0.2 " ;
std : : string constantsAsString = " PF=0.9,badC=0.2 " ;
carl : : VariablePool : : getInstance ( ) . clear ( ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
storm : : prism : : Program program = storm : : parseProgram ( programFile ) ;
program = storm : : utility : : prism : : preprocess ( program , constantsAsString ) ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : vector < std : : shared_ptr < const storm : : logic : : Formula > > formulas = storm : : parseFormulasForProgram ( formulaAsString , program ) ; ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
std : : shared_ptr < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > model = storm : : buildSparseModel < storm : : RationalFunction > ( program , formulas ) - > as < storm : : models : : sparse : : Dtmc < storm : : RationalFunction > > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;
auto const & regionSettings = storm : : settings : : getModule < storm : : settings : : modules : : RegionSettings > ( ) ;