Storm
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
10#include "storm/logic/Formula.h"
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
33
41 std::vector<ValueType> check(FormulaVector const &formulas, size_t chunksize = 0);
42
49 std::vector<ValueType> getProbabilitiesAtTimepoints(std::vector<ValueType> const &timepoints, size_t chunksize = 0);
50
57 // workDFT will be set in getProbabilitiesAtTimepoints()
58 return getProbabilitiesAtTimepoints({timebound}).at(0);
59 }
60
61 private:
66 void populateDynamicModules(storm::dft::storage::DftIndependentModule const &module);
67
73 std::shared_ptr<storm::dft::storage::DFT<ValueType>> replaceDynamicModules(std::vector<ValueType> const &timepoints);
74
81 std::vector<ValueType> const &timepoints);
82
83 // DFT.
84 std::shared_ptr<storm::dft::storage::DFT<ValueType>> dft;
85 // DFT modelchecker
87 // don't reinitialize Sylvan BDD
88 // temporary
89 std::shared_ptr<storm::dft::storage::SylvanBddManager> sylvanBddManager;
90 // Independent modules with their top element
91 std::vector<storm::dft::storage::DftIndependentModule> dynamicModules;
92};
93
94} // namespace modelchecker
95} // namespace storm::dft
std::vector< boost::variant< ValueType, 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.
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:52
Represents an independent module/subtree.
Definition DftModule.h:66
SFTBDDChecker::ValueType ValueType