|
|
@ -24,7 +24,7 @@ namespace storm { |
|
|
|
*/ |
|
|
|
template<typename ValueType> |
|
|
|
std::shared_ptr<storm::storage::DFT<ValueType>> loadDFTGalileo(std::string const& file) { |
|
|
|
return std::make_shared<storm::storage::DFT<ValueType>>(storm::parser::DFTGalileoParser<ValueType>::parseDFT(file)); |
|
|
|
return std::make_shared<storm::storage::DFT<ValueType>>(storm::parser::DFTGalileoParser<ValueType>::parseDFT(file)); |
|
|
|
} |
|
|
|
|
|
|
|
/*! |
|
|
@ -36,8 +36,8 @@ namespace storm { |
|
|
|
*/ |
|
|
|
template<typename ValueType> |
|
|
|
std::shared_ptr<storm::storage::DFT<ValueType>> loadDFTJson(std::string const& file) { |
|
|
|
storm::parser::DFTJsonParser<ValueType> parser; |
|
|
|
return std::make_shared<storm::storage::DFT<ValueType>>(parser.parseJson(file)); |
|
|
|
storm::parser::DFTJsonParser<ValueType> parser; |
|
|
|
return std::make_shared<storm::storage::DFT<ValueType>>(parser.parseJson(file)); |
|
|
|
} |
|
|
|
|
|
|
|
/*! |
|
|
@ -52,8 +52,10 @@ namespace storm { |
|
|
|
* |
|
|
|
* @return Result. |
|
|
|
*/ |
|
|
|
template <typename ValueType> |
|
|
|
typename storm::modelchecker::DFTModelChecker<ValueType>::dft_results analyzeDFT(storm::storage::DFT<ValueType> const& dft, std::vector<std::shared_ptr<storm::logic::Formula const>> const& properties, bool symred, bool allowModularisation, bool enableDC, bool printOutput) { |
|
|
|
template<typename ValueType> |
|
|
|
typename storm::modelchecker::DFTModelChecker<ValueType>::dft_results |
|
|
|
analyzeDFT(storm::storage::DFT<ValueType> const& dft, std::vector<std::shared_ptr<storm::logic::Formula const>> const& properties, bool symred, bool allowModularisation, |
|
|
|
bool enableDC, bool printOutput) { |
|
|
|
storm::modelchecker::DFTModelChecker<ValueType> modelChecker; |
|
|
|
typename storm::modelchecker::DFTModelChecker<ValueType>::dft_results results = modelChecker.check(dft, properties, symred, allowModularisation, enableDC, 0.0); |
|
|
|
if (printOutput) { |
|
|
@ -76,10 +78,13 @@ namespace storm { |
|
|
|
* |
|
|
|
* @return Result. |
|
|
|
*/ |
|
|
|
template <typename ValueType> |
|
|
|
typename storm::modelchecker::DFTModelChecker<ValueType>::dft_results analyzeDFTApprox(storm::storage::DFT<ValueType> const& dft, std::vector<std::shared_ptr<storm::logic::Formula const>> const& properties, bool symred, bool allowModularisation, bool enableDC, double approximationError, bool printOutput) { |
|
|
|
template<typename ValueType> |
|
|
|
typename storm::modelchecker::DFTModelChecker<ValueType>::dft_results |
|
|
|
analyzeDFTApprox(storm::storage::DFT<ValueType> const& dft, std::vector<std::shared_ptr<storm::logic::Formula const>> const& properties, bool symred, |
|
|
|
bool allowModularisation, bool enableDC, double approximationError, bool printOutput) { |
|
|
|
storm::modelchecker::DFTModelChecker<ValueType> modelChecker; |
|
|
|
typename storm::modelchecker::DFTModelChecker<ValueType>::dft_results results = modelChecker.check(dft, properties, symred, allowModularisation, enableDC, approximationError); |
|
|
|
typename storm::modelchecker::DFTModelChecker<ValueType>::dft_results results = modelChecker.check(dft, properties, symred, allowModularisation, enableDC, |
|
|
|
approximationError); |
|
|
|
if (printOutput) { |
|
|
|
modelChecker.printTimings(); |
|
|
|
modelChecker.printResults(); |
|
|
@ -109,9 +114,21 @@ namespace storm { |
|
|
|
* Transform DFT to GSPN. |
|
|
|
* |
|
|
|
* @param dft DFT. |
|
|
|
* |
|
|
|
* @return Pair of GSPN and id of failed place corresponding to the top level element. |
|
|
|
*/ |
|
|
|
template<typename ValueType> |
|
|
|
void transformToGSPN(storm::storage::DFT<ValueType> const& dft); |
|
|
|
std::pair<std::shared_ptr<storm::gspn::GSPN>, uint64_t> transformToGSPN(storm::storage::DFT<ValueType> const& dft); |
|
|
|
|
|
|
|
/*! |
|
|
|
* Transform GSPN to Jani model. |
|
|
|
* |
|
|
|
* @param gspn GSPN. |
|
|
|
* @param toplevelFailedPlace Id of the failed place in the GSPN for the top level element in the DFT. |
|
|
|
* |
|
|
|
* @return JANI model. |
|
|
|
*/ |
|
|
|
std::shared_ptr<storm::jani::Model> transformToJani(storm::gspn::GSPN const& gspn, uint64_t toplevelFailedPlace); |
|
|
|
|
|
|
|
} |
|
|
|
} |