1#ifndef STAMINA_CORE_STAMINAMODELCHECKER_H
2#define STAMINA_CORE_STAMINAMODELCHECKER_H
5#include "builder/StaminaModelBuilder.h"
6#include "builder/StaminaIterativeModelBuilder.h"
8#include "builder/StaminaReExploringModelBuilder.h"
12#include <unordered_set>
14#include "__storm_needed_for_checker.h"
18 using namespace stamina::builder;
19 const uint32_t absorbingStateIndex = 0;
29 std::shared_ptr<storm::prism::Program> modulesFile =
nullptr
30 , std::shared_ptr<std::vector<storm::jani::Property>> propertiesVector =
nullptr
42 std::shared_ptr<storm::prism::Program> modulesFile =
nullptr
43 , std::shared_ptr<std::vector<storm::jani::Property>> propertiesVector =
nullptr
53 storm::jani::Property propMin
54 , storm::jani::Property propMax
55 , storm::prism::Program
const& modulesFile
75 operator std::string()
const {
76 std::stringstream str;
77 str << result <<
" (" << explanation <<
")";
83 friend std::ostream & operator<<(std::ostream & stream, StaminaModelChecker::Result
const & r) {
84 stream << r.result <<
" (" << r.explanation <<
")";
89 std::string explanation;
97 bool terminateModelCheck();
101 void writePerimeterStates(
int numRefineIteration);
105 void printTransitionActions(std::string
const & filename);
111 void writeToOutput(std::string filename);
115 void modifyState(
bool isMin);
117 std::shared_ptr<StaminaModelChecker::Result> min_results;
118 std::shared_ptr<StaminaModelChecker::Result> max_results;
119 std::shared_ptr<StaminaModelBuilder<double>> builder;
120 std::shared_ptr<storm::prism::Program> modulesFile;
121 std::shared_ptr<std::vector<storm::jani::Property>> propertiesVector;
122 storm::expressions::ExpressionManager expressionManager;
123 storm::models::sparse::StateLabeling * labeling;
124 std::string preUntilLabel;
Definition: StaminaModelChecker.h:20
StaminaModelChecker(std::shared_ptr< storm::prism::Program > modulesFile=nullptr, std::shared_ptr< std::vector< storm::jani::Property > > propertiesVector=nullptr)
Definition: StaminaModelChecker.cpp:31
void initialize(std::shared_ptr< storm::prism::Program > modulesFile=nullptr, std::shared_ptr< std::vector< storm::jani::Property > > propertiesVector=nullptr)
Definition: StaminaModelChecker.cpp:83
~StaminaModelChecker()
Definition: StaminaModelChecker.cpp:59
std::unique_ptr< storm::modelchecker::CheckResult > modelCheckProperty(storm::jani::Property propMin, storm::jani::Property propMax, storm::prism::Program const &modulesFile)
Definition: StaminaModelChecker.cpp:99
Definition: ExplicitTruncatedModelBuilder.cpp:40