12template<
typename ValueType>
23 :
DFTBE<ValueType>(
id,
name), mActiveFailureProbability(failureProbability), mPassiveFailureProbability(
dormancyFactor * failureProbability) {
27 std::shared_ptr<DFTElement<ValueType>>
clone()
const override {
28 return std::shared_ptr<DFTElement<ValueType>>(
27 std::shared_ptr<DFTElement<ValueType>>
clone()
const override {
…}
46 return mActiveFailureProbability;
54 return mPassiveFailureProbability;
69 std::stringstream stream;
75 ValueType mActiveFailureProbability;
76 ValueType mPassiveFailureProbability;
BE with constant (Bernoulli) failure probability distribution.
std::shared_ptr< DFTElement< ValueType > > clone() const override
Create a shallow copy of the element.
ValueType const & activeFailureProbability() const
Return failure probability in active state.
ValueType getUnreliability(ValueType time) const override
Return the unreliability of the BE up to the given time point.
bool canFail() const override
Return whether the BE can fail.
ValueType dormancyFactor() const
Return dormancy factor given by passive_failure_rate / active_failure_rate.
storm::dft::storage::elements::BEType beType() const override
Get type of BE (constant, exponential, etc.).
std::string distributionString() const override
Print information about failure distribution to string.
ValueType const & passiveFailureProbability() const
Return failure probability in passive state.
BEProbability(size_t id, std::string const &name, ValueType failureProbability, ValueType dormancyFactor)
Constructor.
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)