Storm
A Modern Probabilistic Model Checker
|
Functions | |
template<> | |
void | analyzeDFTBdd (std::shared_ptr< storm::dft::storage::DFT< double > > const &dft, bool const exportToDot, std::string const &filename, bool const calculateMttf, double const mttfPrecision, double const mttfStepsize, std::string const mttfAlgorithmName, bool const calculateMCS, bool const calculateProbability, bool const useModularisation, std::string const importanceMeasureName, std::vector< double > const &timepoints, std::vector< std::shared_ptr< storm::logic::Formula const > > const &properties, std::vector< std::string > const &additionalRelevantEventNames, size_t const chunksize) |
template<> | |
void | analyzeDFTBdd (std::shared_ptr< storm::dft::storage::DFT< storm::RationalFunction > > const &dft, bool const exportToDot, std::string const &filename, bool const calculateMttf, double const mttfPrecision, double const mttfStepsize, std::string const mttfAlgorithmName, bool const calculateMCS, bool const calculateProbability, bool const useModularisation, std::string const importanceMeasureName, std::vector< double > const &timepoints, std::vector< std::shared_ptr< storm::logic::Formula const > > const &properties, std::vector< std::string > const &additionalRelevantEventNames, size_t const chunksize) |
template<typename ValueType > | |
void | exportDFTToJsonFile (storm::dft::storage::DFT< ValueType > const &dft, std::string const &file) |
Export DFT to JSON file. | |
template<typename ValueType > | |
std::string | exportDFTToJsonString (storm::dft::storage::DFT< ValueType > const &dft) |
Export DFT to JSON string. | |
template<> | |
void | exportDFTToSMT (storm::dft::storage::DFT< double > const &dft, std::string const &file) |
template<> | |
void | exportDFTToSMT (storm::dft::storage::DFT< storm::RationalFunction > const &dft, std::string const &file) |
template<> | |
void | analyzeDFTSMT (storm::dft::storage::DFT< double > const &dft, bool printOutput) |
template<> | |
void | analyzeDFTSMT (storm::dft::storage::DFT< storm::RationalFunction > const &dft, bool printOutput) |
template<> | |
std::pair< std::shared_ptr< storm::gspn::GSPN >, uint64_t > | transformToGSPN (storm::dft::storage::DFT< double > const &dft) |
template<> | |
std::pair< std::shared_ptr< storm::gspn::GSPN >, uint64_t > | transformToGSPN (storm::dft::storage::DFT< storm::RationalFunction > const &dft) |
std::shared_ptr< storm::jani::Model > | transformToJani (storm::gspn::GSPN const &gspn, uint64_t toplevelFailedPlace) |
Transform GSPN to Jani model. | |
storm::dft::utility::RelevantEvents | computeRelevantEvents (std::vector< std::shared_ptr< storm::logic::Formula const > > const &properties, std::vector< std::string > const &additionalRelevantEventNames) |
Get relevant event ids from given relevant event names and labels in properties. | |
template void | exportDFTToJsonFile (storm::dft::storage::DFT< double > const &, std::string const &) |
template std::string | exportDFTToJsonString (storm::dft::storage::DFT< double > const &) |
template void | exportDFTToJsonFile (storm::dft::storage::DFT< storm::RationalFunction > const &, std::string const &) |
template std::string | exportDFTToJsonString (storm::dft::storage::DFT< storm::RationalFunction > const &) |
template<typename ValueType > | |
std::shared_ptr< storm::dft::storage::DFT< ValueType > > | loadDFTGalileoFile (std::string const &file) |
Load DFT from Galileo file. | |
template<typename ValueType > | |
std::shared_ptr< storm::dft::storage::DFT< ValueType > > | loadDFTJsonString (std::string const &jsonString) |
Load DFT from JSON string. | |
template<typename ValueType > | |
std::shared_ptr< storm::dft::storage::DFT< ValueType > > | loadDFTJsonFile (std::string const &file) |
Load DFT from JSON file. | |
template<typename ValueType > | |
std::pair< bool, std::string > | isWellFormed (storm::dft::storage::DFT< ValueType > const &dft, bool validForMarkovianAnalysis=true) |
Check whether the DFT is well-formed. | |
template<typename ValueType > | |
std::shared_ptr< storm::dft::storage::DFT< ValueType > > | applyTransformations (storm::dft::storage::DFT< ValueType > const &dft, bool uniqueBE, bool binaryFDEP, bool exponentialDistributions) |
Apply transformations for DFT. | |
template<typename ValueType > | |
std::shared_ptr< storm::dft::storage::DFT< ValueType > > | prepareForMarkovAnalysis (storm::dft::storage::DFT< ValueType > const &dft) |
Apply transformations to make DFT feasible for Markovian analysis. | |
template<typename ValueType > | |
std::pair< uint64_t, uint64_t > | computeBEFailureBounds (storm::dft::storage::DFT< ValueType > const &dft, bool useSMT, double solverTimeout) |
template<typename ValueType > | |
bool | computeDependencyConflicts (storm::dft::storage::DFT< ValueType > &dft, bool useSMT, double solverTimeout) |
template<typename ValueType > | |
storm::dft::modelchecker::DFTModelChecker< ValueType >::dft_results | analyzeDFT (storm::dft::storage::DFT< ValueType > const &dft, std::vector< std::shared_ptr< storm::logic::Formula const > > const &properties, bool symred=true, bool allowModularisation=true, storm::dft::utility::RelevantEvents const &relevantEvents={}, bool allowDCForRelevant=false, double approximationError=0.0, storm::dft::builder::ApproximationHeuristic approximationHeuristic=storm::dft::builder::ApproximationHeuristic::DEPTH, bool eliminateChains=false, storm::transformer::EliminationLabelBehavior labelBehavior=storm::transformer::EliminationLabelBehavior::KeepLabels, bool printOutput=false) |
Compute the exact or approximate analysis result of the given DFT according to the given properties. | |
template<typename ValueType > | |
void | analyzeDFTBdd (std::shared_ptr< storm::dft::storage::DFT< ValueType > > const &dft, bool const exportToDot, std::string const &filename, bool const calculateMttf, double const mttfPrecision, double const mttfStepsize, std::string const mttfAlgorithmName, bool const calculateMCS, bool const calculateProbability, bool const useModularisation, std::string const importanceMeasureName, std::vector< double > const &timepoints, std::vector< std::shared_ptr< storm::logic::Formula const > > const &properties, std::vector< std::string > const &additionalRelevantEventNames, size_t const chunksize) |
Analyze the DFT using BDDs. | |
template<typename ValueType > | |
void | analyzeDFTSMT (storm::dft::storage::DFT< ValueType > const &dft, bool printOutput) |
Analyze the DFT using the SMT encoding. | |
template<typename ValueType > | |
void | exportDFTToSMT (storm::dft::storage::DFT< ValueType > const &dft, std::string const &file) |
Export DFT to SMT encoding. | |
template<typename ValueType > | |
std::pair< std::shared_ptr< storm::gspn::GSPN >, uint64_t > | transformToGSPN (storm::dft::storage::DFT< ValueType > const &dft) |
Transform DFT to GSPN. | |
storm::dft::modelchecker::DFTModelChecker< ValueType >::dft_results storm::dft::api::analyzeDFT | ( | storm::dft::storage::DFT< ValueType > const & | dft, |
std::vector< std::shared_ptr< storm::logic::Formula const > > const & | properties, | ||
bool | symred = true , |
||
bool | allowModularisation = true , |
||
storm::dft::utility::RelevantEvents const & | relevantEvents = {} , |
||
bool | allowDCForRelevant = false , |
||
double | approximationError = 0.0 , |
||
storm::dft::builder::ApproximationHeuristic | approximationHeuristic = storm::dft::builder::ApproximationHeuristic::DEPTH , |
||
bool | eliminateChains = false , |
||
storm::transformer::EliminationLabelBehavior | labelBehavior = storm::transformer::EliminationLabelBehavior::KeepLabels , |
||
bool | printOutput = false |
||
) |
Compute the exact or approximate analysis result of the given DFT according to the given properties.
First the Markov model is built from the DFT and then this model is checked against the given properties.
dft | DFT. |
properties | PCTL formulas capturing the properties to check. |
symred | Flag whether symmetry reduction should be used. |
allowModularisation | Flag whether modularisation should be applied if possible. |
relevantEvents | Relevant events which should be observed. |
allowDCForRelevant | Whether to allow Don't Care propagation for relevant events |
approximationError | Allowed approximation error. Value 0 indicates no approximation. |
approximationHeuristic | Heuristic used for state space exploration. |
eliminateChains | If true, chains of non-Markovian states are eliminated from the resulting MA. |
labelBehavior | Behavior of labels of eliminated states |
printOutput | If true, model information, timings, results, etc. are printed. |
Definition at line 169 of file storm-dft.h.
void storm::dft::api::analyzeDFTBdd | ( | std::shared_ptr< storm::dft::storage::DFT< double > > const & | dft, |
bool const | exportToDot, | ||
std::string const & | filename, | ||
bool const | calculateMttf, | ||
double const | mttfPrecision, | ||
double const | mttfStepsize, | ||
std::string const | mttfAlgorithmName, | ||
bool const | calculateMCS, | ||
bool const | calculateProbability, | ||
bool const | useModularisation, | ||
std::string const | importanceMeasureName, | ||
std::vector< double > const & | timepoints, | ||
std::vector< std::shared_ptr< storm::logic::Formula const > > const & | properties, | ||
std::vector< std::string > const & | additionalRelevantEventNames, | ||
size_t const | chunksize | ||
) |
Definition at line 23 of file storm-dft.cpp.
void storm::dft::api::analyzeDFTBdd | ( | std::shared_ptr< storm::dft::storage::DFT< storm::RationalFunction > > const & | dft, |
bool const | exportToDot, | ||
std::string const & | filename, | ||
bool const | calculateMttf, | ||
double const | mttfPrecision, | ||
double const | mttfStepsize, | ||
std::string const | mttfAlgorithmName, | ||
bool const | calculateMCS, | ||
bool const | calculateProbability, | ||
bool const | useModularisation, | ||
std::string const | importanceMeasureName, | ||
std::vector< double > const & | timepoints, | ||
std::vector< std::shared_ptr< storm::logic::Formula const > > const & | properties, | ||
std::vector< std::string > const & | additionalRelevantEventNames, | ||
size_t const | chunksize | ||
) |
Definition at line 165 of file storm-dft.cpp.
void storm::dft::api::analyzeDFTBdd | ( | std::shared_ptr< storm::dft::storage::DFT< ValueType > > const & | dft, |
bool const | exportToDot, | ||
std::string const & | filename, | ||
bool const | calculateMttf, | ||
double const | mttfPrecision, | ||
double const | mttfStepsize, | ||
std::string const | mttfAlgorithmName, | ||
bool const | calculateMCS, | ||
bool const | calculateProbability, | ||
bool const | useModularisation, | ||
std::string const | importanceMeasureName, | ||
std::vector< double > const & | timepoints, | ||
std::vector< std::shared_ptr< storm::logic::Formula const > > const & | properties, | ||
std::vector< std::string > const & | additionalRelevantEventNames, | ||
size_t const | chunksize | ||
) |
Analyze the DFT using BDDs.
dft | DFT |
exportToDot | If true exports the bdd representing the top level event of the dft in the dot format |
filename | The name of the file for exporting to dot |
calculateMTTF | If true calculates the mean time to failure |
@parameter mttfPrecision A constant that is used to determine if the mttf calculation converged
@parameter mttfStepsize A constant that is used in the mttf calculation
@parameter mttfAlgorithmName The name of the mttf algorithm to use
calculateMCS | If true calculates the minimal cut sets |
calculateProbability | If true calculates the system failure propbability |
useModularisation | If true tries modularisation |
importanceMeasureName | The name of the importance measure to calculate |
timepoints | The timebounds for probability calculations |
properties | The bounded until formulas to check (emulating the CTMC method) |
additionalRelevantEventNames | A vector of relevant events to be considered |
chunksize | The size of the chunks of doubles to work on at a time |
void storm::dft::api::analyzeDFTSMT | ( | storm::dft::storage::DFT< double > const & | dft, |
bool | printOutput | ||
) |
Definition at line 198 of file storm-dft.cpp.
void storm::dft::api::analyzeDFTSMT | ( | storm::dft::storage::DFT< storm::RationalFunction > const & | dft, |
bool | printOutput | ||
) |
Definition at line 210 of file storm-dft.cpp.
void storm::dft::api::analyzeDFTSMT | ( | storm::dft::storage::DFT< ValueType > const & | dft, |
bool | printOutput | ||
) |
Analyze the DFT using the SMT encoding.
dft | DFT. |
std::shared_ptr< storm::dft::storage::DFT< ValueType > > storm::dft::api::applyTransformations | ( | storm::dft::storage::DFT< ValueType > const & | dft, |
bool | uniqueBE, | ||
bool | binaryFDEP, | ||
bool | exponentialDistributions | ||
) |
Apply transformations for DFT.
dft | DFT. |
uniqueBE | Flag whether a unique constant failed BE is created. |
binaryFDEP | Flag whether all dependencies should be binary (only one dependent child). |
exponentialDistributions | Flag whether distributions should be transformed to exponential distributions (if possible). |
Definition at line 85 of file storm-dft.h.
std::pair< uint64_t, uint64_t > storm::dft::api::computeBEFailureBounds | ( | storm::dft::storage::DFT< ValueType > const & | dft, |
bool | useSMT, | ||
double | solverTimeout | ||
) |
Definition at line 112 of file storm-dft.h.
bool storm::dft::api::computeDependencyConflicts | ( | storm::dft::storage::DFT< ValueType > & | dft, |
bool | useSMT, | ||
double | solverTimeout | ||
) |
Definition at line 119 of file storm-dft.h.
storm::dft::utility::RelevantEvents storm::dft::api::computeRelevantEvents | ( | std::vector< std::shared_ptr< storm::logic::Formula const > > const & | properties, |
std::vector< std::string > const & | additionalRelevantEventNames | ||
) |
Get relevant event ids from given relevant event names and labels in properties.
properties | List of properties. All events occurring in a property are relevant. |
additionalRelevantEventNames | List of names of additional relevant events. |
Definition at line 266 of file storm-dft.cpp.
template void storm::dft::api::exportDFTToJsonFile | ( | storm::dft::storage::DFT< double > const & | , |
std::string const & | |||
) |
template void storm::dft::api::exportDFTToJsonFile | ( | storm::dft::storage::DFT< storm::RationalFunction > const & | , |
std::string const & | |||
) |
void storm::dft::api::exportDFTToJsonFile | ( | storm::dft::storage::DFT< ValueType > const & | dft, |
std::string const & | file | ||
) |
template std::string storm::dft::api::exportDFTToJsonString | ( | storm::dft::storage::DFT< double > const & | ) |
template std::string storm::dft::api::exportDFTToJsonString | ( | storm::dft::storage::DFT< storm::RationalFunction > const & | ) |
std::string storm::dft::api::exportDFTToJsonString | ( | storm::dft::storage::DFT< ValueType > const & | dft | ) |
Export DFT to JSON string.
dft | DFT. |
Definition at line 179 of file storm-dft.cpp.
void storm::dft::api::exportDFTToSMT | ( | storm::dft::storage::DFT< double > const & | dft, |
std::string const & | file | ||
) |
Definition at line 186 of file storm-dft.cpp.
void storm::dft::api::exportDFTToSMT | ( | storm::dft::storage::DFT< storm::RationalFunction > const & | dft, |
std::string const & | file | ||
) |
Definition at line 193 of file storm-dft.cpp.
void storm::dft::api::exportDFTToSMT | ( | storm::dft::storage::DFT< ValueType > const & | dft, |
std::string const & | file | ||
) |
Export DFT to SMT encoding.
dft | DFT. |
file | File. |
std::pair< bool, std::string > storm::dft::api::isWellFormed | ( | storm::dft::storage::DFT< ValueType > const & | dft, |
bool | validForMarkovianAnalysis = true |
||
) |
Check whether the DFT is well-formed.
dft | DFT. |
validForMarkovianAnalysis | If true, additional checks are performed to check whether the DFT is valid for analysis via Markov models. |
Definition at line 64 of file storm-dft.h.
std::shared_ptr< storm::dft::storage::DFT< ValueType > > storm::dft::api::loadDFTGalileoFile | ( | std::string const & | file | ) |
Load DFT from Galileo file.
file | File containing DFT description in Galileo format. |
Definition at line 30 of file storm-dft.h.
std::shared_ptr< storm::dft::storage::DFT< ValueType > > storm::dft::api::loadDFTJsonFile | ( | std::string const & | file | ) |
Load DFT from JSON file.
file | File containing DFT description in JSON format. |
Definition at line 52 of file storm-dft.h.
std::shared_ptr< storm::dft::storage::DFT< ValueType > > storm::dft::api::loadDFTJsonString | ( | std::string const & | jsonString | ) |
Load DFT from JSON string.
jsonString | String containing DFT description in JSON format. |
Definition at line 41 of file storm-dft.h.
std::shared_ptr< storm::dft::storage::DFT< ValueType > > storm::dft::api::prepareForMarkovAnalysis | ( | storm::dft::storage::DFT< ValueType > const & | dft | ) |
Apply transformations to make DFT feasible for Markovian analysis.
dft | DFT. |
Definition at line 107 of file storm-dft.h.
std::pair< std::shared_ptr< storm::gspn::GSPN >, uint64_t > storm::dft::api::transformToGSPN | ( | storm::dft::storage::DFT< double > const & | dft | ) |
Definition at line 215 of file storm-dft.cpp.
std::pair< std::shared_ptr< storm::gspn::GSPN >, uint64_t > storm::dft::api::transformToGSPN | ( | storm::dft::storage::DFT< storm::RationalFunction > const & | dft | ) |
Definition at line 238 of file storm-dft.cpp.
std::pair< std::shared_ptr< storm::gspn::GSPN >, uint64_t > storm::dft::api::transformToGSPN | ( | storm::dft::storage::DFT< ValueType > const & | dft | ) |
Transform DFT to GSPN.
dft | DFT. |
std::shared_ptr< storm::jani::Model > storm::dft::api::transformToJani | ( | storm::gspn::GSPN const & | gspn, |
uint64_t | toplevelFailedPlace | ||
) |
Transform GSPN to Jani model.
gspn | GSPN. |
toplevelFailedPlace | Id of the failed place in the GSPN for the top level element in the DFT. |
Definition at line 242 of file storm-dft.cpp.