|
|
|
@ -97,6 +97,7 @@ public abstract class STPGAbstractRefine |
|
|
|
protected BitSet target; |
|
|
|
// Other parameters |
|
|
|
protected boolean min; |
|
|
|
protected boolean buildEmbeddedDtmc = false; // Construct DTMC from CTMC? |
|
|
|
// Stuff for refinement loop |
|
|
|
protected ModelType abstractionType; |
|
|
|
protected double[] lbSoln; |
|
|
|
@ -377,6 +378,13 @@ public abstract class STPGAbstractRefine |
|
|
|
// Store whether min/max |
|
|
|
this.min = min; |
|
|
|
|
|
|
|
// For some models, properties, we might need to change |
|
|
|
// what the model/abstraction type is |
|
|
|
if (modelType == ModelType.CTMC && propertyType == PropertyType.PROB_REACH) { |
|
|
|
buildEmbeddedDtmc = true; |
|
|
|
modelType = ModelType.DTMC; |
|
|
|
} |
|
|
|
|
|
|
|
// Store what abstract model type is |
|
|
|
// and create appropriate model checker |
|
|
|
// (which inherits log/options from mcOptions) |
|
|
|
@ -629,6 +637,7 @@ public abstract class STPGAbstractRefine |
|
|
|
timeCheckProb0 += res.timeProb0; |
|
|
|
timeCheckPre += res.timePre; |
|
|
|
itersTotal += res.numIters; |
|
|
|
//mainLog.println(lbSoln); |
|
|
|
|
|
|
|
// Compute upper bounds |
|
|
|
switch (abstractionType) { |
|
|
|
@ -669,6 +678,7 @@ public abstract class STPGAbstractRefine |
|
|
|
timeCheckProb0 += res.timeProb0; |
|
|
|
timeCheckPre += res.timePre; |
|
|
|
itersTotal += res.numIters; |
|
|
|
//mainLog.println(ubSoln); |
|
|
|
} |
|
|
|
|
|
|
|
/* |
|
|
|
|