Browse Source

More classes switched to PrismComponent.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7245 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 13 years ago
parent
commit
c7ee82d4bc
  1. 13
      prism/src/explicit/PrismSTPGAbstractRefine.java
  2. 9
      prism/src/explicit/QuantAbstractRefine.java
  3. 11
      prism/src/explicit/QuantAbstractRefineExample.java
  4. 4
      prism/src/pta/PTAAbstractRefine.java
  5. 3
      prism/src/pta/PTAModelChecker.java
  6. 2
      prism/src/pta/PTAModelCheckerCL.java

13
prism/src/explicit/PrismSTPGAbstractRefine.java

@ -29,6 +29,7 @@ package explicit;
import java.util.*;
import prism.ModelType;
import prism.PrismComponent;
import prism.PrismException;
public class PrismSTPGAbstractRefine extends QuantAbstractRefine
@ -58,6 +59,14 @@ public class PrismSTPGAbstractRefine extends QuantAbstractRefine
// Map from abstract P1 choices to concrete state sets
protected List<List<Set<Integer>>> abstractToConcrete;
/**
* Default constructor.
*/
public PrismSTPGAbstractRefine(PrismComponent parent) throws PrismException
{
super(parent);
}
// Implementation of initialise() for abstraction-refinement loop; see superclass for details
protected void initialise() throws PrismException
@ -447,8 +456,9 @@ public class PrismSTPGAbstractRefine extends QuantAbstractRefine
String s, sw, sOpt, filenameBase;
int i, j;
try {
// Create abstraction-refinement engine
abstractRefine = new PrismSTPGAbstractRefine();
abstractRefine = new PrismSTPGAbstractRefine(null);
abstractRefine.sanityChecks = true;
// Parse command line args
@ -456,7 +466,6 @@ public class PrismSTPGAbstractRefine extends QuantAbstractRefine
System.err.println("Usage: java ... [options] <tra file> <lab file> <target label>");
System.exit(1);
}
try {
nonSwitches = new ArrayList<String>();
for (i = 0; i < args.length; i++) {
s = args[i];

9
prism/src/explicit/QuantAbstractRefine.java

@ -50,10 +50,8 @@ import explicit.ProbModelChecker.ValIterDir;
* <br><br>
* The abstraction-refinement loop can then be started with {@link #abstractRefine}.
*/
public abstract class QuantAbstractRefine
public abstract class QuantAbstractRefine extends PrismComponent
{
// Log for output (default: just send to stdout)
protected PrismLog mainLog = new PrismPrintStreamLog(System.out);
// Model checker
protected ProbModelChecker mc;
// Dummy model checker to store options
@ -147,10 +145,9 @@ public abstract class QuantAbstractRefine
/**
* Default constructor.
*/
public QuantAbstractRefine()
public QuantAbstractRefine(PrismComponent parent) throws PrismException
{
// By default, log output goes to System.out.
setLog(new PrismPrintStreamLog(System.out));
super(parent);
// Create dummy model checker to store options
try {
mcOptions = new ProbModelChecker(null);

11
prism/src/explicit/QuantAbstractRefineExample.java

@ -34,6 +34,7 @@ import parser.State;
import parser.ast.*;
import prism.ModelType;
import prism.Prism;
import prism.PrismComponent;
import prism.PrismException;
import prism.PrismLog;
import prism.PrismPrintStreamLog;
@ -58,6 +59,14 @@ public class QuantAbstractRefineExample extends QuantAbstractRefine
// Map from abstract P1 choices to concrete state sets
protected List<List<Set<Integer>>> abstractToConcrete;
/**
* Default constructor.
*/
public QuantAbstractRefineExample(PrismComponent parent) throws PrismException
{
super(parent);
}
// Implementation of initialise() for abstraction-refinement loop; see superclass for details
@Override
@ -322,7 +331,7 @@ public class QuantAbstractRefineExample extends QuantAbstractRefine
model.exportToPrismExplicitTra(args[1]);
// Create/initialise abstraction-refinement engine
QuantAbstractRefineExample abstractRefine = new QuantAbstractRefineExample();
QuantAbstractRefineExample abstractRefine = new QuantAbstractRefineExample(prism);
abstractRefine.setModelType(ModelType.MDP);
abstractRefine.setPropertyType(PropertyType.PROB_REACH);
abstractRefine.sanityChecks = true;

4
prism/src/pta/PTAAbstractRefine.java

@ -29,6 +29,7 @@ package pta;
import java.util.*;
import prism.ModelType;
import prism.PrismComponent;
import prism.PrismException;
import explicit.*;
@ -55,8 +56,9 @@ public class PTAAbstractRefine extends QuantAbstractRefine
/**
* Default constructor.
*/
public PTAAbstractRefine()
public PTAAbstractRefine(PrismComponent parent) throws PrismException
{
super(parent);
// Just do basic config for QuantAbstractRefine
setModelType(ModelType.MDP);
setPropertyType(QuantAbstractRefine.PropertyType.PROB_REACH);

3
prism/src/pta/PTAModelChecker.java

@ -306,9 +306,8 @@ public class PTAModelChecker extends PrismComponent
// Do probability computation through abstraction/refinement/stochastic games
if (ptaMethod.equals("Stochastic games")) {
PTAAbstractRefine ptaAR;
ptaAR = new PTAAbstractRefine();
ptaAR = new PTAAbstractRefine(this);
String arOptions = settings.getString(PrismSettings.PRISM_AR_OPTIONS);
ptaAR.setLog(mainLog);
ptaAR.parseOptions(arOptions.split(","));
return ptaAR.forwardsReachAbstractRefine(pta, targetLocs, null, min);
}

2
prism/src/pta/PTAModelCheckerCL.java

@ -83,7 +83,7 @@ public class PTAModelCheckerCL
try {
// Build PTAAbstractRefine object
abstractRefine = new PTAAbstractRefine();
abstractRefine = new PTAAbstractRefine(null);
// Parse command-line arguments
parseCommandLineArgs(args);

Loading…
Cancel
Save