Browse Source

Fixed spare claiming by adding missing constraint 'if the child is not claimed at the moment, it will never be claimed'.

tempestpy_adaptions
Matthias Volk 7 years ago
parent
commit
275a191b08
  1. 2
      src/storm-dft/modelchecker/dft/DFTASFChecker.cpp

2
src/storm-dft/modelchecker/dft/DFTASFChecker.cpp

@ -465,6 +465,8 @@ namespace storm {
uint64_t claimChild = getClaimVariableIndex(spare->id(), child->id()); // Moment the spare claims the child uint64_t claimChild = getClaimVariableIndex(spare->id(), child->id()); // Moment the spare claims the child
std::vector<std::shared_ptr<DFTConstraint>> noClaimingPossible; std::vector<std::shared_ptr<DFTConstraint>> noClaimingPossible;
// Child cannot be claimed.
noClaimingPossible.push_back(std::make_shared<IsEqual>(claimChild, notFailed));
if (childIndex + 1 < spare->children().size()) { if (childIndex + 1 < spare->children().size()) {
// Consider next child for claiming (second case in constraint 7) // Consider next child for claiming (second case in constraint 7)
noClaimingPossible.push_back(generateTryToClaimConstraint(spare, childIndex+1, timepoint)); noClaimingPossible.push_back(generateTryToClaimConstraint(spare, childIndex+1, timepoint));

Loading…
Cancel
Save