6#include <unordered_map>
16namespace modelchecker {
25#ifdef STORM_HAVE_SYLVAN
26 using Bdd = sylvan::Bdd;
30 std::shared_ptr<storm::dft::storage::SylvanBddManager> sylvanBddManager = std::make_shared<storm::dft::storage::SylvanBddManager>());
37 std::shared_ptr<storm::dft::storage::DFT<ValueType>>
getDFT()
const;
47 std::shared_ptr<storm::dft::transformations::SftToBddTransformator<ValueType>>
getTransformator()
const;
57#ifdef STORM_HAVE_SYLVAN
61 "This version of Storm was compiled without support for Sylvan. Yet, a method was called that requires this support. Please choose a "
62 "version of Storm with Sylvan support.");
86#ifdef STORM_HAVE_SYLVAN
90 "This version of Storm was compiled without support for Sylvan. Yet, a method was called that requires this support. Please choose a "
91 "version of Storm with Sylvan support.");
95#ifdef STORM_HAVE_SYLVAN
119#ifdef STORM_HAVE_SYLVAN
123 "This version of Storm was compiled without support for Sylvan. Yet, a method was called that requires this support. Please choose a "
124 "version of Storm with Sylvan support.");
128#ifdef STORM_HAVE_SYLVAN
221 std::vector<ValueType>
getCIFsAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
233 std::vector<std::vector<ValueType>>
getAllCIFsAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
265 std::vector<ValueType>
getDIFsAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
277 std::vector<std::vector<ValueType>>
getAllDIFsAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
309 std::vector<ValueType>
getRAWsAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
321 std::vector<std::vector<ValueType>>
getAllRAWsAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
353 std::vector<ValueType>
getRRWsAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
365 std::vector<std::vector<ValueType>>
getAllRRWsAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
368#ifdef STORM_HAVE_SYLVAN
383 void recursiveMCS(Bdd
const bdd, std::vector<uint32_t> &buffer, std::vector<std::vector<uint32_t>> &minimalCutSets)
const;
385 template<
typename FuncType>
386 void chunkCalculationTemplate(std::vector<ValueType>
const &timepoints,
size_t chunksize, FuncType func)
const;
388 template<
typename FuncType>
389 ValueType getImportanceMeasureAtTimebound(std::string
const &beName,
ValueType timebound, FuncType func);
391 template<
typename FuncType>
392 std::vector<ValueType> getAllImportanceMeasuresAtTimebound(
ValueType timebound, FuncType func);
394 template<
typename FuncType>
395 std::vector<ValueType> getImportanceMeasuresAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize,
398 template<
typename FuncType>
399 std::vector<std::vector<ValueType>> getAllImportanceMeasuresAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize, FuncType func);
405 Bdd getTopLevelElementBdd();
407 std::shared_ptr<storm::dft::transformations::SftToBddTransformator<ValueType>> transformator;
Main class for the SFTBDDChecker.
std::vector< ValueType > getAllRRWsAtTimebound(ValueType timebound)
ValueType getRAWAtTimebound(std::string const &beName, ValueType timebound)
std::vector< std::vector< ValueType > > getAllRAWsAtTimepoints(std::vector< ValueType > const &timepoints, size_t chunksize=0)
ValueType getCIFAtTimebound(std::string const &beName, ValueType timebound)
std::vector< std::vector< ValueType > > getAllBirnbaumFactorsAtTimepoints(std::vector< ValueType > const &timepoints, size_t chunksize=0)
std::vector< ValueType > getAllDIFsAtTimebound(ValueType timebound)
std::vector< ValueType > getAllRAWsAtTimebound(ValueType timebound)
std::vector< ValueType > getRRWsAtTimepoints(std::string const &beName, std::vector< ValueType > const &timepoints, size_t chunksize=0)
std::shared_ptr< storm::dft::storage::DFT< ValueType > > getDFT() const
std::vector< std::vector< ValueType > > getAllDIFsAtTimepoints(std::vector< ValueType > const &timepoints, size_t chunksize=0)
ValueType getRRWAtTimebound(std::string const &beName, ValueType timebound)
std::vector< std::vector< ValueType > > getAllRRWsAtTimepoints(std::vector< ValueType > const &timepoints, size_t chunksize=0)
std::vector< ValueType > getAllBirnbaumFactorsAtTimebound(ValueType timebound)
std::vector< ValueType > getRAWsAtTimepoints(std::string const &beName, std::vector< ValueType > const &timepoints, size_t chunksize=0)
ValueType getBirnbaumFactorAtTimebound(std::string const &beName, ValueType timebound)
std::vector< ValueType > getProbabilitiesAtTimepoints(std::vector< ValueType > const &timepoints, size_t const chunksize=0)
std::vector< std::vector< ValueType > > getAllCIFsAtTimepoints(std::vector< ValueType > const &timepoints, size_t chunksize=0)
std::vector< ValueType > getBirnbaumFactorsAtTimepoints(std::string const &beName, std::vector< ValueType > const &timepoints, size_t chunksize=0)
std::shared_ptr< storm::dft::storage::SylvanBddManager > getSylvanBddManager() const
std::shared_ptr< storm::dft::transformations::SftToBddTransformator< ValueType > > getTransformator() const
std::vector< std::vector< uint32_t > > getMinimalCutSetsAsIndices()
std::vector< ValueType > getCIFsAtTimepoints(std::string const &beName, std::vector< ValueType > const &timepoints, size_t chunksize=0)
void exportBddToDot(std::string const &filename)
Exports the Bdd that represents the top level event to a file in the dot format.
std::vector< std::vector< std::string > > getMinimalCutSets()
std::vector< ValueType > getAllCIFsAtTimebound(ValueType timebound)
ValueType getDIFAtTimebound(std::string const &beName, ValueType timebound)
std::vector< ValueType > getDIFsAtTimepoints(std::string const &beName, std::vector< ValueType > const &timepoints, size_t chunksize=0)
ValueType getProbabilityAtTimebound(ValueType timebound)
Represents a Dynamic Fault Tree.
#define STORM_LOG_THROW(cond, exception, message)
SFTBDDChecker::ValueType ValueType