|
|
|
@ -101,7 +101,9 @@ public class AccumulationProductRegular<M extends Model> extends AccumulationPro |
|
|
|
final AccumulationProductRegular<MDP> result = new AccumulationProductRegular<MDP>(graph); |
|
|
|
|
|
|
|
// Create auxiliary data |
|
|
|
mc.getLog().println(" [AP] generating aux data..."); |
|
|
|
result.createAuxData(graph, accexp, rewards, mc); |
|
|
|
mc.getLog().println(" done."); |
|
|
|
|
|
|
|
class AccumulationMDPProductOperator implements MDPProductOperator |
|
|
|
{ |
|
|
|
@ -240,7 +242,6 @@ public class AccumulationProductRegular<M extends Model> extends AccumulationPro |
|
|
|
* @throws PrismException |
|
|
|
*/ |
|
|
|
public void createAuxData(final Model graph, final ExpressionAccumulation accexp, final Vector<? extends Rewards> rewards, final ProbModelChecker mc) throws PrismException { |
|
|
|
mc.getLog().println(" [AP] generating aux data for " + graph + "\n and " + accexp); |
|
|
|
// Build labels and DFA |
|
|
|
AccumulationModelChecker accMc = new AccumulationModelChecker(); |
|
|
|
ExpressionRegular reg = (ExpressionRegular)accMc.checkMaximalStateFormulas(mc, graph, accexp.getRegularExpression(), labels); |
|
|
|
@ -261,8 +262,6 @@ public class AccumulationProductRegular<M extends Model> extends AccumulationPro |
|
|
|
} |
|
|
|
|
|
|
|
numberOfTracks = automaton.getLongestPathLength()+1; |
|
|
|
mc.getLog().println(" [AP] tracks: " + numberOfTracks); |
|
|
|
numberOfWeights= rewards.size(); |
|
|
|
mc.getLog().println(" [AP] weights: " + numberOfWeights); |
|
|
|
} |
|
|
|
} |