1#include "storm-config.h"
13TEST(MaximalEndComponentDecomposition, FullSystem1) {
14 std::shared_ptr<storm::models::sparse::Model<double>> abstractModel =
22 ASSERT_EQ(2ul, mecDecomposition.size());
82TEST(MaximalEndComponentDecomposition, FullSystem2) {
83 std::shared_ptr<storm::models::sparse::Model<double>> abstractModel =
91 ASSERT_EQ(1ul, mecDecomposition.size());
112TEST(MaximalEndComponentDecomposition, Subsystem) {
113 std::shared_ptr<storm::models::sparse::Model<double>> abstractModel =
119 subsystem.set(7,
false);
124 ASSERT_EQ(1ul, mecDecomposition.
size());
145TEST(MaximalEndComponentDecomposition, Example1) {
147 GTEST_SKIP() <<
"Z3 not available.";
149 std::string prismModelPath = STORM_TEST_RESOURCES_DIR
"/mdp/prism-mec-example1.nm";
158 EXPECT_EQ(2ull, mecDecomposition.size());
167TEST(MaximalEndComponentDecomposition, Example2) {
169 GTEST_SKIP() <<
"Z3 not available.";
171 std::string prismModelPath = STORM_TEST_RESOURCES_DIR
"/mdp/prism-mec-example2.nm";
180 EXPECT_EQ(2ull, mecDecomposition.size());
TEST(MaximalEndComponentDecomposition, FullSystem1)
std::shared_ptr< storm::models::sparse::Model< ValueType, RewardModelType > > build()
Convert the program given at construction time to an abstract model.
This class represents a Markov automaton.
This class represents a (discrete-time) Markov decision process.
static std::shared_ptr< storm::models::sparse::Model< ValueType, storm::models::sparse::StandardRewardModel< RewardValueType > > > parseModel(std::string const &transitionsFilename, std::string const &labelingFilename, std::string const &stateRewardFilename="", std::string const &transitionRewardFilename="", std::string const &choiceLabelingFilename="")
Checks the given files and parses the model within these files.
static storm::prism::Program parse(std::string const &filename, bool prismCompatability=false)
Parses the given file into the PRISM storage classes assuming it complies with the PRISM syntax.
A bit vector that is internally represented as a vector of 64-bit values.
std::size_t size() const
Retrieves the number of blocks of this decomposition.
This class represents the decomposition of a nondeterministic model into its maximal end components.
This class represents a maximal end-component of a nondeterministic model.
storm::storage::FlatSet< sparse::state_type > set_type
bool containsState(uint_fast64_t state) const
Retrieves whether the given state is contained in this MEC.
storm::prism::Program const & asPrismProgram() const
SymbolicModelDescription preprocess(std::string const &constantDefinitionString="") const