|
|
@ -26,6 +26,7 @@ |
|
|
|
|
|
|
|
|
package explicit; |
|
|
package explicit; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.Arrays; |
|
|
import java.util.BitSet; |
|
|
import java.util.BitSet; |
|
|
import java.util.Iterator; |
|
|
import java.util.Iterator; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
@ -33,7 +34,6 @@ import java.util.Map; |
|
|
|
|
|
|
|
|
import parser.VarList; |
|
|
import parser.VarList; |
|
|
import parser.ast.Declaration; |
|
|
import parser.ast.Declaration; |
|
|
import parser.ast.DeclarationInt; |
|
|
|
|
|
import parser.ast.DeclarationIntUnbounded; |
|
|
import parser.ast.DeclarationIntUnbounded; |
|
|
import parser.ast.Expression; |
|
|
import parser.ast.Expression; |
|
|
import prism.Prism; |
|
|
import prism.Prism; |
|
|
@ -288,6 +288,18 @@ public class MDPModelChecker extends ProbModelChecker |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// If required, export info about target states |
|
|
|
|
|
if (getExportTarget()) { |
|
|
|
|
|
BitSet bsInit = new BitSet(n); |
|
|
|
|
|
for (i = 0; i < n; i++) { |
|
|
|
|
|
bsInit.set(i, mdp.isInitialState(i)); |
|
|
|
|
|
} |
|
|
|
|
|
List<BitSet> labels = Arrays.asList(bsInit, target); |
|
|
|
|
|
List<String> labelNames = Arrays.asList("init", "target"); |
|
|
|
|
|
mainLog.println("\nExporting target states info to file \"" + getExportTargetFilename() + "\"..."); |
|
|
|
|
|
exportLabels(mdp, labels, labelNames, Prism.EXPORT_PLAIN, new PrismFileLog(getExportTargetFilename())); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// If required, create/initialise strategy storage |
|
|
// If required, create/initialise strategy storage |
|
|
// Set choices to -1, denoting unknown |
|
|
// Set choices to -1, denoting unknown |
|
|
// (except for target states, which are -2, denoting arbitrary) |
|
|
// (except for target states, which are -2, denoting arbitrary) |
|
|
|