|
|
@ -23,7 +23,9 @@ |
|
|
|
#include "storm/settings/modules/AbstractionSettings.h"
|
|
|
|
|
|
|
|
TEST(PrismMenuGame, DieAbstractionTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/die.pm"); |
|
|
|
|
|
|
@ -47,8 +49,10 @@ TEST(PrismMenuGame, DieAbstractionTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, DieAbstractionTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/die.pm"); |
|
|
|
|
|
|
|
std::vector<storm::expressions::Expression> initialPredicates; |
|
|
@ -97,8 +101,10 @@ TEST(PrismMenuGame, DieAbstractionTest_Sylvan) { |
|
|
|
#endif
|
|
|
|
|
|
|
|
TEST(PrismMenuGame, DieAbstractionAndRefinementTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/die.pm"); |
|
|
|
|
|
|
|
std::vector<storm::expressions::Expression> initialPredicates; |
|
|
@ -124,8 +130,10 @@ TEST(PrismMenuGame, DieAbstractionAndRefinementTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, DieAbstractionAndRefinementTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/die.pm"); |
|
|
|
|
|
|
|
std::vector<storm::expressions::Expression> initialPredicates; |
|
|
@ -151,8 +159,10 @@ TEST(PrismMenuGame, DieAbstractionAndRefinementTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, DieFullAbstractionTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/die.pm"); |
|
|
|
|
|
|
|
std::vector<storm::expressions::Expression> initialPredicates; |
|
|
@ -191,8 +201,10 @@ TEST(PrismMenuGame, DieFullAbstractionTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, DieFullAbstractionTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/die.pm"); |
|
|
|
|
|
|
|
std::vector<storm::expressions::Expression> initialPredicates; |
|
|
@ -231,8 +243,10 @@ TEST(PrismMenuGame, DieFullAbstractionTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, CrowdsAbstractionTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/crowds-5-5.pm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
|
|
|
@ -257,8 +271,10 @@ TEST(PrismMenuGame, CrowdsAbstractionTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, CrowdsAbstractionTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/crowds-5-5.pm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
|
|
|
@ -283,8 +299,10 @@ TEST(PrismMenuGame, CrowdsAbstractionTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, CrowdsAbstractionAndRefinementTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/crowds-5-5.pm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
|
|
|
@ -311,8 +329,10 @@ TEST(PrismMenuGame, CrowdsAbstractionAndRefinementTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, CrowdsAbstractionAndRefinementTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/crowds-5-5.pm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
|
|
|
@ -339,8 +359,10 @@ TEST(PrismMenuGame, CrowdsAbstractionAndRefinementTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, CrowdsFullAbstractionTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/crowds-5-5.pm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
|
|
|
@ -419,8 +441,10 @@ TEST(PrismMenuGame, CrowdsFullAbstractionTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, CrowdsFullAbstractionTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/dtmc/crowds-5-5.pm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
|
|
|
@ -499,8 +523,10 @@ TEST(PrismMenuGame, CrowdsFullAbstractionTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, TwoDiceAbstractionTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/two_dice.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -527,8 +553,10 @@ TEST(PrismMenuGame, TwoDiceAbstractionTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, TwoDiceAbstractionTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/two_dice.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -555,8 +583,10 @@ TEST(PrismMenuGame, TwoDiceAbstractionTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, TwoDiceAbstractionAndRefinementTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/two_dice.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -585,8 +615,10 @@ TEST(PrismMenuGame, TwoDiceAbstractionAndRefinementTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, TwoDiceAbstractionAndRefinementTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/two_dice.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -615,8 +647,10 @@ TEST(PrismMenuGame, TwoDiceAbstractionAndRefinementTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, TwoDiceFullAbstractionTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/two_dice.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -674,8 +708,10 @@ TEST(PrismMenuGame, TwoDiceFullAbstractionTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, TwoDiceFullAbstractionTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/two_dice.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -733,8 +769,10 @@ TEST(PrismMenuGame, TwoDiceFullAbstractionTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, WlanAbstractionTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/wlan0-2-4.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -754,7 +792,7 @@ TEST(PrismMenuGame, WlanAbstractionTest_Cudd) { |
|
|
|
|
|
|
|
storm::abstraction::MenuGame<storm::dd::DdType::CUDD, double> game = abstractor.abstract(); |
|
|
|
|
|
|
|
EXPECT_EQ(915ull, game.getNumberOfTransitions()); |
|
|
|
EXPECT_EQ(903ull, game.getNumberOfTransitions()); |
|
|
|
EXPECT_EQ(8ull, game.getNumberOfStates()); |
|
|
|
EXPECT_EQ(4ull, game.getBottomStates().getNonZeroCount()); |
|
|
|
|
|
|
@ -762,8 +800,10 @@ TEST(PrismMenuGame, WlanAbstractionTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, WlanAbstractionTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/wlan0-2-4.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -783,7 +823,7 @@ TEST(PrismMenuGame, WlanAbstractionTest_Sylvan) { |
|
|
|
|
|
|
|
storm::abstraction::MenuGame<storm::dd::DdType::Sylvan, double> game = abstractor.abstract(); |
|
|
|
|
|
|
|
EXPECT_EQ(915ull, game.getNumberOfTransitions()); |
|
|
|
EXPECT_EQ(903ull, game.getNumberOfTransitions()); |
|
|
|
EXPECT_EQ(8ull, game.getNumberOfStates()); |
|
|
|
EXPECT_EQ(4ull, game.getBottomStates().getNonZeroCount()); |
|
|
|
|
|
|
@ -791,7 +831,9 @@ TEST(PrismMenuGame, WlanAbstractionTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, WlanAbstractionAndRefinementTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/wlan0-2-4.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
@ -814,7 +856,7 @@ TEST(PrismMenuGame, WlanAbstractionAndRefinementTest_Cudd) { |
|
|
|
|
|
|
|
storm::abstraction::MenuGame<storm::dd::DdType::CUDD, double> game = abstractor.abstract(); |
|
|
|
|
|
|
|
EXPECT_EQ(1824ull, game.getNumberOfTransitions()); |
|
|
|
EXPECT_EQ(1800ull, game.getNumberOfTransitions()); |
|
|
|
EXPECT_EQ(16ull, game.getNumberOfStates()); |
|
|
|
EXPECT_EQ(8ull, game.getBottomStates().getNonZeroCount()); |
|
|
|
|
|
|
@ -822,8 +864,10 @@ TEST(PrismMenuGame, WlanAbstractionAndRefinementTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, WlanAbstractionAndRefinementTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/wlan0-2-4.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -845,7 +889,7 @@ TEST(PrismMenuGame, WlanAbstractionAndRefinementTest_Sylvan) { |
|
|
|
|
|
|
|
storm::abstraction::MenuGame<storm::dd::DdType::Sylvan, double> game = abstractor.abstract(); |
|
|
|
|
|
|
|
EXPECT_EQ(1824ull, game.getNumberOfTransitions()); |
|
|
|
EXPECT_EQ(1800ull, game.getNumberOfTransitions()); |
|
|
|
EXPECT_EQ(16ull, game.getNumberOfStates()); |
|
|
|
EXPECT_EQ(8ull, game.getBottomStates().getNonZeroCount()); |
|
|
|
|
|
|
@ -853,8 +897,10 @@ TEST(PrismMenuGame, WlanAbstractionAndRefinementTest_Sylvan) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, WlanFullAbstractionTest_Cudd) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/wlan0-2-4.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
@ -980,8 +1026,10 @@ TEST(PrismMenuGame, WlanFullAbstractionTest_Cudd) { |
|
|
|
} |
|
|
|
|
|
|
|
TEST(PrismMenuGame, WlanFullAbstractionTest_Sylvan) { |
|
|
|
storm::settings::mutableAbstractionSettings().setAddAllGuards(false); |
|
|
|
|
|
|
|
auto& settings = storm::settings::mutableAbstractionSettings(); |
|
|
|
settings.setAddAllGuards(false); |
|
|
|
settings.setAddAllInitialExpressions(false); |
|
|
|
|
|
|
|
storm::prism::Program program = storm::parser::PrismParser::parse(STORM_TEST_RESOURCES_DIR "/mdp/wlan0-2-4.nm"); |
|
|
|
program = program.substituteConstants(); |
|
|
|
program = program.flattenModules(std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>()); |
|
|
|