Browse Source

Code tidy (incl. remove warnings) to help with merging.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8783 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 12 years ago
parent
commit
8ce321ffb9
  1. 21
      prism/src/explicit/ConstructModel.java

21
prism/src/explicit/ConstructModel.java

@ -142,7 +142,7 @@ public class ConstructModel extends PrismComponent
VarList varList = modulesFile.createVarList(); VarList varList = modulesFile.createVarList();
if (varList.containsUnboundedVariables()) if (varList.containsUnboundedVariables())
mainLog.printWarning("Model contains one or more unbounded variables: model construction may not terminate"); mainLog.printWarning("Model contains one or more unbounded variables: model construction may not terminate");
// Starting reachability... // Starting reachability...
mainLog.print("\nComputing reachable states..."); mainLog.print("\nComputing reachable states...");
mainLog.flush(); mainLog.flush();
@ -170,6 +170,10 @@ public class ConstructModel extends PrismComponent
case CTMDP: case CTMDP:
modelSimple = ctmdp = new CTMDPSimple(); modelSimple = ctmdp = new CTMDPSimple();
break; break;
case STPG:
case SMG:
case PTA:
throw new PrismException("Model construction not supported for " + modelType + "s");
} }
} }
@ -213,8 +217,8 @@ public class ConstructModel extends PrismComponent
// Look at each outgoing choice in turn // Look at each outgoing choice in turn
nc = engine.getNumChoices(); nc = engine.getNumChoices();
for (i = 0; i < nc; i++) { for (i = 0; i < nc; i++) {
if (!justReach && (modelType == ModelType.MDP || modelType == ModelType.CTMDP)) {
// For nondet models, collect transitions in a Distribution
if (!justReach && modelType.nondeterministic()) {
distr = new Distribution(); distr = new Distribution();
} }
// Look at each transition in the choice // Look at each transition in the choice
@ -242,14 +246,17 @@ public class ConstructModel extends PrismComponent
ctmc.addToProbability(src, dest, engine.getTransitionProbability(i, j)); ctmc.addToProbability(src, dest, engine.getTransitionProbability(i, j));
break; break;
case MDP: case MDP:
distr.add(dest, engine.getTransitionProbability(i, j));
break;
case CTMDP: case CTMDP:
distr.add(dest, engine.getTransitionProbability(i, j)); distr.add(dest, engine.getTransitionProbability(i, j));
break; break;
case STPG:
case SMG:
case PTA:
throw new PrismException("Model construction not supported for " + modelType + "s");
} }
} }
} }
// For nondet models, add collated transition to model
if (!justReach) { if (!justReach) {
if (modelType == ModelType.MDP) { if (modelType == ModelType.MDP) {
if (distinguishActions) { if (distinguishActions) {
@ -319,6 +326,10 @@ public class ConstructModel extends PrismComponent
case CTMDP: case CTMDP:
model = sort ? new CTMDPSimple(ctmdp, permut) : mdp; model = sort ? new CTMDPSimple(ctmdp, permut) : mdp;
break; break;
case STPG:
case SMG:
case PTA:
throw new PrismException("Model construction not supported for " + modelType + "s");
} }
model.setStatesList(statesList); model.setStatesList(statesList);
model.setConstantValues(new Values(modulesFile.getConstantValues())); model.setConstantValues(new Values(modulesFile.getConstantValues()));

Loading…
Cancel
Save