Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
analysis.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <string>
5#include <utility>
6#include <vector>
7
12#include "storm/logic/Formula.h"
13
14namespace storm::dft {
15namespace api {
16
24storm::dft::utility::RelevantEvents computeRelevantEvents(std::vector<std::shared_ptr<storm::logic::Formula const>> const& properties,
25 std::vector<std::string> const& additionalRelevantEventNames);
26
44template<typename ValueType>
46 storm::dft::storage::DFT<ValueType> const& dft, std::vector<std::shared_ptr<storm::logic::Formula const>> const& properties, bool symred = true,
47 bool allowModularisation = true, storm::dft::utility::RelevantEvents const& relevantEvents = {}, bool allowDCForRelevant = false,
48 double approximationError = 0.0, storm::dft::builder::ApproximationHeuristic approximationHeuristic = storm::dft::builder::ApproximationHeuristic::DEPTH,
50 bool printOutput = false);
51
71template<typename ValueType>
72void analyzeDFTBdd(std::shared_ptr<storm::dft::storage::DFT<ValueType>> const& dft, bool const exportToDot, std::string const& filename,
73 bool const calculateMttf, double const mttfPrecision, double const mttfStepsize, std::string const mttfAlgorithmName,
74 bool const calculateMCS, bool const calculateProbability, bool const useModularisation, std::string const importanceMeasureName,
75 std::vector<double> const& timepoints, std::vector<std::shared_ptr<storm::logic::Formula const>> const& properties,
76 std::vector<std::string> const& additionalRelevantEventNames, size_t const chunksize);
77
84template<typename ValueType>
86
87template<typename ValueType>
88std::pair<uint64_t, uint64_t> computeBEFailureBounds(storm::dft::storage::DFT<ValueType> const& dft, bool useSMT, double solverTimeout);
89
90template<typename ValueType>
91bool computeDependencyConflicts(storm::dft::storage::DFT<ValueType>& dft, bool useSMT, double solverTimeout);
92
93} // namespace api
94} // namespace storm::dft
std::vector< boost::variant< ValueType, approximation_result > > dft_results
Represents a Dynamic Fault Tree.
Definition DFT.h:49
std::pair< uint64_t, uint64_t > computeBEFailureBounds(storm::dft::storage::DFT< ValueType > const &dft, bool useSMT, double solverTimeout)
Definition analysis.cpp:219
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)
Definition analysis.cpp:45
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.
Definition analysis.cpp:20
void analyzeDFTSMT(storm::dft::storage::DFT< double > const &dft, bool printOutput)
Definition analysis.cpp:202
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, bool allowModularisation, storm::dft::utility::RelevantEvents const &relevantEvents, bool allowDCForRelevant, double approximationError, storm::dft::builder::ApproximationHeuristic approximationHeuristic, bool eliminateChains, storm::transformer::EliminationLabelBehavior labelBehavior, bool printOutput)
Compute the exact or approximate analysis result of the given DFT according to the given properties.
Definition analysis.cpp:28
bool computeDependencyConflicts(storm::dft::storage::DFT< ValueType > &dft, bool useSMT, double solverTimeout)
Definition analysis.cpp:226
ApproximationHeuristic
Enum representing the heuristic used for deciding which states to expand.
EliminationLabelBehavior
Specify criteria whether a state can be eliminated and how its labels should be treated.