14template<
typename ValueType>
28 std::shared_ptr<DFTElement<ValueType>>
clone()
const override {
42 bool childFailed =
false;
43 for (
auto const& child : this->
children()) {
47 this->
fail(state, queues);
bool hasFailed(size_t id) const
bool failurePropagationDone() const
DFTElementVector const & children() const
Get children.
Abstract base class for DFT elements.
virtual size_t id() const
Get id.
virtual std::string const & name() const
Get name.
Mutex restriction (MUTEX).
bool checkDontCareAnymore(storm::dft::storage::DFTState< ValueType > &, storm::dft::storage::DFTStateSpaceGenerationQueues< ValueType > &) const override
storm::dft::storage::elements::DFTElementType type() const override
Get type.
bool isMutex() const override
Return whether the restriction is a mutex.
void checkFailsafe(storm::dft::storage::DFTState< ValueType > &, storm::dft::storage::DFTStateSpaceGenerationQueues< ValueType > &) const override
Check failsafe status.
std::shared_ptr< DFTElement< ValueType > > clone() const override
Create a shallow copy of the element.
void checkFails(storm::dft::storage::DFTState< ValueType > &state, storm::dft::storage::DFTStateSpaceGenerationQueues< ValueType > &queues) const override
Check failed status.
DFTMutex(size_t id, std::string const &name, std::vector< std::shared_ptr< DFTElement< ValueType > > > const &children={})
Constructor.
Abstract base class for restrictions.
void fail(storm::dft::storage::DFTState< ValueType > &state, storm::dft::storage::DFTStateSpaceGenerationQueues< ValueType > &) const override
#define STORM_LOG_ASSERT(cond, message)
DFTElementType
Element types in a DFT.