12template<
typename ValueType>
28 std::shared_ptr<DFTElement<ValueType>>
clone()
const override {
29 return std::shared_ptr<DFTElement<ValueType>>(
47 return mActiveFailureRate;
55 return mPassiveFailureRate;
78 std::stringstream stream;
84 ValueType mActiveFailureRate;
85 ValueType mPassiveFailureRate;
BE with Erlang failure distribution.
BEErlang(size_t id, std::string const &name, ValueType failureRate, unsigned phases, ValueType dormancyFactor)
Constructor.
ValueType getUnreliability(ValueType time) const override
Return the unreliability of the BE up to the given time point.
ValueType const & passiveFailureRate() const
Return failure probability in passive state.
ValueType const & activeFailureRate() const
Return failure probability in active state.
std::string distributionString() const override
Print information about failure distribution to string.
storm::dft::storage::elements::BEType beType() const override
Get type of BE (constant, exponential, etc.).
bool canFail() const override
Return whether the BE can fail.
ValueType dormancyFactor() const
Return dormancy factor given by passive_failure_rate / active_failure_rate.
std::shared_ptr< DFTElement< ValueType > > clone() const override
Create a shallow copy of the element.
unsigned phases() const
Return number of phases (also called the shape).
Abstract base class for basic events (BEs) in DFTs.
virtual size_t id() const
Get id.
virtual std::string const & name() const
Get name.
#define STORM_LOG_ASSERT(cond, message)
bool isZero(ValueType const &a)