|
@ -798,6 +798,11 @@ namespace storm { |
|
|
dep1Index = dft.getDependencies().at(i); |
|
|
dep1Index = dft.getDependencies().at(i); |
|
|
for (size_t j = i + 1; j < dft.getDependencies().size(); ++j) { |
|
|
for (size_t j = i + 1; j < dft.getDependencies().size(); ++j) { |
|
|
dep2Index = dft.getDependencies().at(j); |
|
|
dep2Index = dft.getDependencies().at(j); |
|
|
|
|
|
if (dft.getDependency(dep1Index)->triggerEvent() == dft.getDependency(dep2Index)->triggerEvent()) { |
|
|
|
|
|
STORM_LOG_DEBUG("Conflict between " << dft.getElement(dep1Index)->name() << " and " |
|
|
|
|
|
<< dft.getElement(dep2Index)->name() << ": Same trigger"); |
|
|
|
|
|
res.emplace_back(std::pair<uint64_t, uint64_t>(dep1Index, dep2Index)); |
|
|
|
|
|
} else { |
|
|
switch (checkDependencyConflict(dep1Index, dep2Index, timeout)) { |
|
|
switch (checkDependencyConflict(dep1Index, dep2Index, timeout)) { |
|
|
case storm::solver::SmtSolver::CheckResult::Sat: |
|
|
case storm::solver::SmtSolver::CheckResult::Sat: |
|
|
STORM_LOG_DEBUG("Conflict between " << dft.getElement(dep1Index)->name() << " and " |
|
|
STORM_LOG_DEBUG("Conflict between " << dft.getElement(dep1Index)->name() << " and " |
|
@ -805,7 +810,8 @@ namespace storm { |
|
|
res.emplace_back(std::pair<uint64_t, uint64_t>(dep1Index, dep2Index)); |
|
|
res.emplace_back(std::pair<uint64_t, uint64_t>(dep1Index, dep2Index)); |
|
|
break; |
|
|
break; |
|
|
case storm::solver::SmtSolver::CheckResult::Unknown: |
|
|
case storm::solver::SmtSolver::CheckResult::Unknown: |
|
|
STORM_LOG_DEBUG("Unknown: Conflict between " << dft.getElement(dep1Index)->name() << " and " |
|
|
|
|
|
|
|
|
STORM_LOG_DEBUG( |
|
|
|
|
|
"Unknown: Conflict between " << dft.getElement(dep1Index)->name() << " and " |
|
|
<< dft.getElement(dep2Index)->name()); |
|
|
<< dft.getElement(dep2Index)->name()); |
|
|
res.emplace_back(std::pair<uint64_t, uint64_t>(dep1Index, dep2Index)); |
|
|
res.emplace_back(std::pair<uint64_t, uint64_t>(dep1Index, dep2Index)); |
|
|
break; |
|
|
break; |
|
@ -816,6 +822,7 @@ namespace storm { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
return res; |
|
|
return res; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|