1#include "storm-config.h"
10TEST(JaniModelTest, FlattenComposition) {
15 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
23TEST(JaniModelTest, FlattenComposition_Wlan_Mathsat) {
28 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
36TEST(JaniModelTest, FlattenComposition_Csma_Mathsat) {
41 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
49TEST(JaniModelTest, FlattenComposition_Firewire_Mathsat) {
54 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
62TEST(JaniModelTest, FlattenComposition_Coin_Mathsat) {
67 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
75TEST(JaniModelTest, FlattenComposition_Dice_Mathsat) {
80 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
90TEST(JaniModelTest, FlattenComposition_Leader_Z3) {
95 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
103TEST(JaniModelTest, FlattenComposition_Wlan_Z3) {
108 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
116TEST(JaniModelTest, FlattenComposition_Csma_Z3) {
121 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
129TEST(JaniModelTest, FlattenComposition_Firewire_Z3) {
134 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
142TEST(JaniModelTest, FlattenComposition_Coin_Z3) {
147 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
155TEST(JaniModelTest, FlattenComposition_Dice_Z3) {
160 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
uint64_t getNumberOfEdges() const
Retrieves the number of edges.
void substituteFunctions()
Substitutes all function calls with the corresponding function definition.
Model flattenComposition(std::shared_ptr< storm::utility::solver::SmtSolverFactory > const &smtSolverFactory=std::make_shared< storm::utility::solver::SmtSolverFactory >()) const
Flatten the composition to obtain an equivalent model that contains exactly one automaton that has th...
std::size_t getNumberOfAutomata() const
Retrieves the number of automata in this model.
Automaton & getAutomaton(std::string const &name)
Retrieves the automaton with the given name.
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.
storm::jani::Model toJani(bool allVariablesGlobal=true, std::string suffix="") const
Converts the PRISM model into an equivalent JANI model.