Browse Source
Fixed activation for failed nested SPAREs.
If a nested (passive) SPARE is already failed and it becomes activated (through claiming), it will not activate its children.
tempestpy_adaptions
Matthias Volk
4 years ago
No known key found for this signature in database
GPG Key ID: 83A57678F739FCD3
1 changed files with
7 additions and
2 deletions
-
src/storm-dft/storage/dft/DFTState.cpp
|
@ -387,11 +387,16 @@ namespace storm { |
|
|
STORM_LOG_THROW(false, storm::exceptions::NotSupportedException, "BE type '" << be->type() << "' is not supported."); |
|
|
STORM_LOG_THROW(false, storm::exceptions::NotSupportedException, "BE type '" << be->type() << "' is not supported."); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} else if (mDft.getElement(elem)->isSpareGate() && !isActive(uses(elem))) { |
|
|
|
|
|
|
|
|
} else if (mDft.getElement(elem)->isSpareGate()){ |
|
|
|
|
|
if (isOperational(elem)) { |
|
|
|
|
|
// We do not activate children if the SPARE is already failed
|
|
|
|
|
|
if (!isActive(uses(elem))) { |
|
|
propagateActivation(uses(elem)); |
|
|
propagateActivation(uses(elem)); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
template<typename ValueType> |
|
|
template<typename ValueType> |
|
|
uint_fast64_t DFTState<ValueType>::uses(size_t id) const { |
|
|
uint_fast64_t DFTState<ValueType>::uses(size_t id) const { |
|
|