1#include "storm-config.h"
8#ifdef STORM_HAVE_MATHSAT
9TEST(JaniModelTest, FlattenComposition) {
14 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
22TEST(JaniModelTest, FlattenComposition_Wlan_Mathsat) {
27 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
35TEST(JaniModelTest, FlattenComposition_Csma_Mathsat) {
40 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
48TEST(JaniModelTest, FlattenComposition_Firewire_Mathsat) {
53 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
61TEST(JaniModelTest, FlattenComposition_Coin_Mathsat) {
66 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
74TEST(JaniModelTest, FlattenComposition_Dice_Mathsat) {
79 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::MathsatSmtSolverFactory>();
89TEST(JaniModelTest, FlattenComposition_Leader_Z3) {
94 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
102TEST(JaniModelTest, FlattenComposition_Wlan_Z3) {
107 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
115TEST(JaniModelTest, FlattenComposition_Csma_Z3) {
120 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
128TEST(JaniModelTest, FlattenComposition_Firewire_Z3) {
133 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
141TEST(JaniModelTest, FlattenComposition_Coin_Z3) {
146 std::shared_ptr<storm::utility::solver::SmtSolverFactory> smtSolverFactory = std::make_shared<storm::utility::solver::Z3SmtSolverFactory>();
154TEST(JaniModelTest, FlattenComposition_Dice_Z3) {
159 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.