Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
DftModularizationChecker.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <vector>
5
11
12namespace storm::dft {
13namespace modelchecker {
14
22template<typename ValueType>
24 public:
25 using DFTElementCPointer = std::shared_ptr<storm::dft::storage::elements::DFTElement<ValueType> const>;
27
34
42 std::vector<ValueType> check(FormulaVector const &formulas, size_t chunksize = 0);
43
50 std::vector<ValueType> getProbabilitiesAtTimepoints(std::vector<ValueType> const &timepoints, size_t chunksize = 0);
51
58 // workDFT will be set in getProbabilitiesAtTimepoints()
59 return getProbabilitiesAtTimepoints({timebound}).at(0);
60 }
61
62 private:
67 void populateDynamicModules(storm::dft::storage::DftIndependentModule const &module);
68
74 std::shared_ptr<storm::dft::storage::DFT<ValueType>> replaceDynamicModules(std::vector<ValueType> const &timepoints);
75
82 std::vector<ValueType> const &timepoints);
83
84 // DFT.
85 std::shared_ptr<storm::dft::storage::DFT<ValueType>> dft;
86 // Environment used for analysing the dynamic modules.
88 // DFT modelchecker
90 // don't reinitialize Sylvan BDD
91 // temporary
92 std::shared_ptr<storm::dft::storage::SylvanBddManager> sylvanBddManager;
93 // Independent modules with their top element
94 std::vector<storm::dft::storage::DftIndependentModule> dynamicModules;
95};
96
97} // namespace modelchecker
98} // namespace storm::dft
Environment for storm-dft.
std::vector< boost::variant< ExtendedValueType, approximation_result > > dft_results
std::vector< std::shared_ptr< storm::logic::Formula const > > property_vector
std::shared_ptr< storm::dft::storage::elements::DFTElement< ValueType > const > DFTElementCPointer
ValueType getProbabilityAtTimebound(ValueType const timebound)
Calculate the probability of failure for the given time bound.
typename DFTModelChecker< ValueType >::property_vector FormulaVector
std::vector< ValueType > getProbabilitiesAtTimepoints(std::vector< ValueType > const &timepoints, size_t chunksize=0)
Calculate the probability of failure for the given time points.
DftModularizationChecker(storm::dft::DftEnvironment const &env, std::shared_ptr< storm::dft::storage::DFT< ValueType > > dft)
Initializes and computes all modules.
std::vector< ValueType > check(FormulaVector const &formulas, size_t chunksize=0)
Calculate the properties specified by the formulas.
Represents a Dynamic Fault Tree.
Definition DFT.h:50
Represents an independent module/subtree.
Definition DftModule.h:66
SFTBDDChecker::ValueType ValueType