Browse Source

imported patch predecessor-LTLMC-use-backward.patch

tud-infrastructure-2018-10-12
Joachim Klein 7 years ago
parent
commit
881ecfef2f
  1. 13
      prism/src/explicit/LTLModelChecker.java

13
prism/src/explicit/LTLModelChecker.java

@ -52,6 +52,7 @@ import prism.ModelType;
import prism.PrismComponent;
import prism.PrismException;
import prism.PrismLangException;
import prism.PrismSettings;
import prism.PrismNotSupportedException;
import prism.PrismPaths;
import prism.PrismUtils;
@ -760,6 +761,9 @@ public class LTLModelChecker extends PrismComponent
continue;
// Compute accepting maximum end components (MECs) in !L_i
ECComputer ecComputer = ECComputer.createECComputer(this, model);
if (getSettings().getBoolean(PrismSettings.PRISM_PRE_REL)) {
ecComputer.setPredecessorRelation(model.getPredecessorRelation(this, true));
}
ecComputer.computeMECStates(statesLi_not, acceptance.get(i).getK());
List<BitSet> mecs = ecComputer.getMECStates();
// Union MEC states
@ -789,6 +793,9 @@ public class LTLModelChecker extends PrismComponent
Stack<ECandPairs> todo = new Stack<ECandPairs>();
ECComputer ecComputer = ECComputer.createECComputer(this, model);
if (getSettings().getBoolean(PrismSettings.PRISM_PRE_REL)) {
ecComputer.setPredecessorRelation(model.getPredecessorRelation(this, true));
}
ecComputer.computeMECStates();
for (BitSet mecs : ecComputer.getMECStates()) {
ECandPairs ecp = new ECandPairs();
@ -825,6 +832,9 @@ public class LTLModelChecker extends PrismComponent
// nothing to do
} else {
ecComputer = ECComputer.createECComputer(this, model);
if (getSettings().getBoolean(PrismSettings.PRISM_PRE_REL)) {
ecComputer.setPredecessorRelation(model.getPredecessorRelation(this, true));
}
ecComputer.computeMECStates(restrict);
for (BitSet mecs : ecComputer.getMECStates()) {
ECandPairs newEcp = new ECandPairs();
@ -864,6 +874,9 @@ public class LTLModelChecker extends PrismComponent
continue;
// Compute maximum end components (MECs) in !L_i
ECComputer ecComputer = ECComputer.createECComputer(this, model);
if (getSettings().getBoolean(PrismSettings.PRISM_PRE_REL)) {
ecComputer.setPredecessorRelation(model.getPredecessorRelation(this, true));
}
ecComputer.computeMECStates(statesLi_not);
List<BitSet> mecs = ecComputer.getMECStates();
// Check which MECs contain a state from each K_i_j

Loading…
Cancel
Save