/** Simple test program. */
 public static void main(String args[]) {
   STPGModelChecker mc;
   STPGAbstrSimple stpg;
   ModelCheckerResult res;
   BitSet target;
   Map<String, BitSet> labels;
   boolean min1 = true, min2 = true;
   try {
     mc = new STPGModelChecker(null);
     stpg = new STPGAbstrSimple();
     stpg.buildFromPrismExplicit(args[0]);
     // System.out.println(stpg);
     labels = mc.loadLabelsFile(args[1]);
     // System.out.println(labels);
     target = labels.get(args[2]);
     if (target == null) throw new PrismException("Unknown label \"" + args[2] + "\"");
     for (int i = 3; i < args.length; i++) {
       if (args[i].equals("-minmin")) {
         min1 = true;
         min2 = true;
       } else if (args[i].equals("-maxmin")) {
         min1 = false;
         min2 = true;
       } else if (args[i].equals("-minmax")) {
         min1 = true;
         min2 = false;
       } else if (args[i].equals("-maxmax")) {
         min1 = false;
         min2 = false;
       }
     }
     // stpg.exportToDotFile("stpg.dot", target);
     // stpg.exportToPrismExplicit("stpg");
     res = mc.computeReachProbs(stpg, target, min1, min2);
     System.out.println(res.soln[0]);
   } catch (PrismException e) {
     System.out.println(e);
   }
 }