|
|
@ -480,6 +480,16 @@ public class LTLModelChecker |
|
|
// Constants (no change) |
|
|
// Constants (no change) |
|
|
model.getConstantValues()); |
|
|
model.getConstantValues()); |
|
|
|
|
|
|
|
|
|
|
|
// Copy action info MTBDD across directly |
|
|
|
|
|
// If present, just needs filtering to reachable states, |
|
|
|
|
|
// which will get done below. |
|
|
|
|
|
if (model.getTransActions() != null) { |
|
|
|
|
|
JDD.Ref(model.getTransActions()); |
|
|
|
|
|
modelProd.setTransActions(model.getTransActions()); |
|
|
|
|
|
} |
|
|
|
|
|
// Also need to copy set of action label strings |
|
|
|
|
|
modelProd.setSynchs(new Vector<String>(model.getSynchs())); |
|
|
|
|
|
|
|
|
// Do reachability/etc. for the new model |
|
|
// Do reachability/etc. for the new model |
|
|
modelProd.doReachability(prism.getExtraReachInfo()); |
|
|
modelProd.doReachability(prism.getExtraReachInfo()); |
|
|
modelProd.filterReachableStates(); |
|
|
modelProd.filterReachableStates(); |
|
|
@ -488,6 +498,9 @@ public class LTLModelChecker |
|
|
throw new PrismException("Model-DRA product has deadlock states"); |
|
|
throw new PrismException("Model-DRA product has deadlock states"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//try { prism.exportStatesToFile(modelProd, Prism.EXPORT_PLAIN, new java.io.File("prod.sta")); } |
|
|
|
|
|
//catch (java.io.FileNotFoundException e) {} |
|
|
|
|
|
|
|
|
// Reference DRA DD vars (if being returned) |
|
|
// Reference DRA DD vars (if being returned) |
|
|
if (draDDRowVarsCopy != null) |
|
|
if (draDDRowVarsCopy != null) |
|
|
draDDRowVarsCopy.refAll(); |
|
|
draDDRowVarsCopy.refAll(); |
|
|
|