private static void PlayBatchNet(long[, ,] times, int sizeIdx, int iteration, SynchronizationsImplementation.AutomataToNet startRule, Stopwatch watch, ref PN.PetriNet batchNet, ref FSM.FiniteStateMachine batchMachine, List<FSMWorkloadAction> workload) { watch.Restart(); foreach (var item in workload) { item.Perform(batchMachine); RerunBatchSynchronization(startRule, ref batchNet, ref batchMachine); } watch.Stop(); times[sizeIdx, iteration, 4] = watch.ElapsedTicks; }
private static void RerunBatchSynchronization(SynchronizationsImplementation.AutomataToNet startRule, ref PN.PetriNet batchNet, ref FSM.FiniteStateMachine batchMachine) { batchNet = null; fsm2pnSynchronization.Synchronize(startRule, ref batchMachine, ref batchNet, SynchronizationDirection.LeftToRightForced, ChangePropagationMode.None); }