|
|
@ -11,11 +11,27 @@ namespace storm { |
|
|
|
{} |
|
|
|
|
|
|
|
void checkFails(storm::storage::DFTState<ValueType>& state, DFTStateSpaceGenerationQueues<ValueType>& queues) const override { |
|
|
|
assert(false); |
|
|
|
if(state.isOperational(this->mId)) { |
|
|
|
if (state.hasFailed(this->mChildren.front()->id())) { |
|
|
|
// First child has failed before others |
|
|
|
this->fail(state, queues); |
|
|
|
} else { |
|
|
|
for (size_t i = 1; i < this->nrChildren(); ++i) { |
|
|
|
if (state.hasFailed(this->mChildren[i]->id())) { |
|
|
|
// Child has failed before first child |
|
|
|
this->failsafe(state, queues); |
|
|
|
this->childrenDontCare(state, queues); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void checkFailsafe(storm::storage::DFTState<ValueType>& state, DFTStateSpaceGenerationQueues<ValueType>& queues) const override { |
|
|
|
assert(false); |
|
|
|
if (state.isFailsafe(this->mChildren.front()->id())) { |
|
|
|
this->failsafe(state, queues); |
|
|
|
this->childrenDontCare(state, queues); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
virtual DFTElementType type() const override { |
|
|
|