Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ImportanceFunction.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace storm::dft {
7namespace simulator {
8
12template<typename ValueType>
14 protected:
15 using DFTStatePointer = std::shared_ptr<storm::dft::storage::DFTState<ValueType>>;
16
17 public:
24
30 virtual double getImportance(DFTStatePointer state) const = 0;
31
37 virtual std::pair<double, double> getImportanceRange() const = 0;
38
39 protected:
40 // The DFT used for the generation of next states.
42};
43
47template<typename ValueType>
49 public:
56
62 double getImportance(typename ImportanceFunction<ValueType>::DFTStatePointer state) const override;
63
69 std::pair<double, double> getImportanceRange() const override;
70};
71
72} // namespace simulator
73} // namespace storm::dft
Importance function based on counting the number of currently failed BEs.
double getImportance(typename ImportanceFunction< ValueType >::DFTStatePointer state) const override
Get the importance for a given state.
std::pair< double, double > getImportanceRange() const override
Get the lower and upper bounds of possible importance values computed by this importance function.
Abstract class for importance functions.
std::shared_ptr< storm::dft::storage::DFTState< ValueType > > DFTStatePointer
virtual double getImportance(DFTStatePointer state) const =0
Get the importance for a given state.
virtual std::pair< double, double > getImportanceRange() const =0
Get the lower and upper bounds of possible importance values computed by this importance function.
storm::dft::storage::DFT< ValueType > const & dft
Represents a Dynamic Fault Tree.
Definition DFT.h:52