6#include <unordered_map>
16namespace modelchecker {
25 using Bdd = sylvan::Bdd;
28 std::shared_ptr<storm::dft::storage::SylvanBddManager> sylvanBddManager = std::make_shared<storm::dft::storage::SylvanBddManager>());
35 std::shared_ptr<storm::dft::storage::DFT<ValueType>>
getDFT() const noexcept;
197 std::vector<ValueType>
getCIFsAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
209 std::vector<std::vector<ValueType>>
getAllCIFsAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
241 std::vector<ValueType>
getDIFsAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
253 std::vector<std::vector<ValueType>>
getAllDIFsAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
285 std::vector<ValueType>
getRAWsAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
297 std::vector<std::vector<ValueType>>
getAllRAWsAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
329 std::vector<ValueType>
getRRWsAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
341 std::vector<std::vector<ValueType>>
getAllRRWsAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize = 0);
358 void recursiveMCS(
Bdd const bdd, std::vector<uint32_t> &buffer, std::vector<std::vector<uint32_t>> &minimalCutSets)
const;
360 template<
typename FuncType>
361 void chunkCalculationTemplate(std::vector<ValueType>
const &timepoints,
size_t chunksize, FuncType func)
const;
363 template<
typename FuncType>
364 ValueType getImportanceMeasureAtTimebound(std::string
const &beName,
ValueType timebound, FuncType func);
366 template<
typename FuncType>
367 std::vector<ValueType> getAllImportanceMeasuresAtTimebound(
ValueType timebound, FuncType func);
369 template<
typename FuncType>
370 std::vector<ValueType> getImportanceMeasuresAtTimepoints(std::string
const &beName, std::vector<ValueType>
const &timepoints,
size_t chunksize,
373 template<
typename FuncType>
374 std::vector<std::vector<ValueType>> getAllImportanceMeasuresAtTimepoints(std::vector<ValueType>
const &timepoints,
size_t chunksize, FuncType func);
380 Bdd getTopLevelElementBdd();
382 std::shared_ptr<storm::dft::transformations::SftToBddTransformator<ValueType>> transformator;
Main class for the SFTBDDChecker.
std::shared_ptr< storm::dft::storage::SylvanBddManager > getSylvanBddManager() const noexcept
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::transformations::SftToBddTransformator< ValueType > > getTransformator() const noexcept
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::shared_ptr< storm::dft::storage::DFT< ValueType > > getDFT() const noexcept
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::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.
SFTBDDChecker::ValueType ValueType