|
|
@ -1082,7 +1082,8 @@ public class Prism extends PrismComponent implements PrismSettingsListener |
|
|
/** |
|
|
/** |
|
|
* Get an ECComputer object. |
|
|
* Get an ECComputer object. |
|
|
*/ |
|
|
*/ |
|
|
public ECComputer getECComputer(JDDNode reach, JDDNode trans, JDDNode trans01, JDDVars allDDRowVars, JDDVars allDDColVars, JDDVars allDDNondetVars) throws PrismException |
|
|
|
|
|
|
|
|
public ECComputer getECComputer(JDDNode reach, JDDNode trans, JDDNode trans01, JDDVars allDDRowVars, JDDVars allDDColVars, JDDVars allDDNondetVars) |
|
|
|
|
|
throws PrismException |
|
|
{ |
|
|
{ |
|
|
return ECComputer.createECComputer(this, reach, trans, trans01, allDDRowVars, allDDColVars, allDDNondetVars); |
|
|
return ECComputer.createECComputer(this, reach, trans, trans01, allDDRowVars, allDDColVars, allDDNondetVars); |
|
|
} |
|
|
} |
|
|
@ -2418,7 +2419,8 @@ public class Prism extends PrismComponent implements PrismSettingsListener |
|
|
new StateListMTBDD(sccComputer.getBSCCs().get(i), currentModel).printMatlab(tmpLog); |
|
|
new StateListMTBDD(sccComputer.getBSCCs().get(i), currentModel).printMatlab(tmpLog); |
|
|
JDD.Deref(sccComputer.getBSCCs().get(i)); |
|
|
JDD.Deref(sccComputer.getBSCCs().get(i)); |
|
|
} else { |
|
|
} else { |
|
|
explicit.StateValues.createFromBitSet(sccComputerExpl.getBSCCs().get(i), currentModelExpl).print(tmpLog, true, exportType == EXPORT_MATLAB, true, true); |
|
|
|
|
|
|
|
|
explicit.StateValues.createFromBitSet(sccComputerExpl.getBSCCs().get(i), currentModelExpl).print(tmpLog, true, exportType == EXPORT_MATLAB, |
|
|
|
|
|
true, true); |
|
|
} |
|
|
} |
|
|
if (exportType == EXPORT_MATLAB) |
|
|
if (exportType == EXPORT_MATLAB) |
|
|
tmpLog.println("];"); |
|
|
tmpLog.println("];"); |
|
|
@ -2511,7 +2513,8 @@ public class Prism extends PrismComponent implements PrismSettingsListener |
|
|
new StateListMTBDD(ecComputer.getMECStates().get(i), currentModel).printMatlab(tmpLog); |
|
|
new StateListMTBDD(ecComputer.getMECStates().get(i), currentModel).printMatlab(tmpLog); |
|
|
JDD.Deref(ecComputer.getMECStates().get(i)); |
|
|
JDD.Deref(ecComputer.getMECStates().get(i)); |
|
|
} else { |
|
|
} else { |
|
|
explicit.StateValues.createFromBitSet(ecComputerExpl.getMECStates().get(i), currentModelExpl).print(tmpLog, true, exportType == EXPORT_MATLAB, true, true); |
|
|
|
|
|
|
|
|
explicit.StateValues.createFromBitSet(ecComputerExpl.getMECStates().get(i), currentModelExpl).print(tmpLog, true, exportType == EXPORT_MATLAB, |
|
|
|
|
|
true, true); |
|
|
} |
|
|
} |
|
|
if (exportType == EXPORT_MATLAB) |
|
|
if (exportType == EXPORT_MATLAB) |
|
|
tmpLog.println("];"); |
|
|
tmpLog.println("];"); |
|
|
@ -2600,7 +2603,8 @@ public class Prism extends PrismComponent implements PrismSettingsListener |
|
|
new StateListMTBDD(sccComputer.getSCCs().get(i), currentModel).printMatlab(tmpLog); |
|
|
new StateListMTBDD(sccComputer.getSCCs().get(i), currentModel).printMatlab(tmpLog); |
|
|
JDD.Deref(sccComputer.getSCCs().get(i)); |
|
|
JDD.Deref(sccComputer.getSCCs().get(i)); |
|
|
} else { |
|
|
} else { |
|
|
explicit.StateValues.createFromBitSet(sccComputerExpl.getSCCs().get(i), currentModelExpl).print(tmpLog, true, exportType == EXPORT_MATLAB, true, true); |
|
|
|
|
|
|
|
|
explicit.StateValues.createFromBitSet(sccComputerExpl.getSCCs().get(i), currentModelExpl).print(tmpLog, true, exportType == EXPORT_MATLAB, |
|
|
|
|
|
true, true); |
|
|
} |
|
|
} |
|
|
if (exportType == EXPORT_MATLAB) |
|
|
if (exportType == EXPORT_MATLAB) |
|
|
tmpLog.println("];"); |
|
|
tmpLog.println("];"); |
|
|
@ -3222,11 +3226,9 @@ public class Prism extends PrismComponent implements PrismSettingsListener |
|
|
ProbModelChecker mc; |
|
|
ProbModelChecker mc; |
|
|
if (model.getModelType() == ModelType.DTMC) { |
|
|
if (model.getModelType() == ModelType.DTMC) { |
|
|
mc = new ProbModelChecker(this, model, null); |
|
|
mc = new ProbModelChecker(this, model, null); |
|
|
} |
|
|
|
|
|
else if (model.getModelType() == ModelType.CTMC) { |
|
|
|
|
|
|
|
|
} else if (model.getModelType() == ModelType.CTMC) { |
|
|
mc = new StochModelChecker(this, model, null); |
|
|
mc = new StochModelChecker(this, model, null); |
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
|
|
|
} else { |
|
|
throw new PrismException("Steady-state probabilities only computed for DTMCs/CTMCs"); |
|
|
throw new PrismException("Steady-state probabilities only computed for DTMCs/CTMCs"); |
|
|
} |
|
|
} |
|
|
return mc.doSteadyState(fileIn); |
|
|
return mc.doSteadyState(fileIn); |
|
|
@ -3293,7 +3295,7 @@ public class Prism extends PrismComponent implements PrismSettingsListener |
|
|
// Print message |
|
|
// Print message |
|
|
mainLog.printSeparator(); |
|
|
mainLog.printSeparator(); |
|
|
String strTime = currentModelType.continuousTime() ? Double.toString(time) : Integer.toString((int) time); |
|
|
String strTime = currentModelType.continuousTime() ? Double.toString(time) : Integer.toString((int) time); |
|
|
mainLog.println("\nComputing transient probabilities (time = " + strTime + ")..."); |
|
|
|
|
|
|
|
|
mainLog.println("\nComputing transient probabilities (time = " + strTime + ")..."); |
|
|
|
|
|
|
|
|
l = System.currentTimeMillis(); |
|
|
l = System.currentTimeMillis(); |
|
|
|
|
|
|
|
|
|