private static void PlayBatchNet(long[,,] times, int sizeIdx, int iteration, Make2Ant.Model2ModelMainRule startRule, Stopwatch watch, ref InputModelContainer inputModelContainer, ref OutputModelContainer outputModelContainer, List <MakeWorkloadAction> workload) { Make2Ant.InputModelContainer = inputModelContainer; Make2Ant.OutputModelContainer = outputModelContainer; watch.Restart(); foreach (var item in workload) { item.Perform(inputModelContainer.IN); RerunBatchSynchronization(startRule, ref inputModelContainer, ref outputModelContainer); } watch.Stop(); times[sizeIdx, iteration, 2] = watch.Elapsed.Ticks * 100; }
private static void RerunBatchSynchronization(Make2Ant.Model2ModelMainRule startRule, ref InputModelContainer inputModelContainer, ref OutputModelContainer outputModelContainer) { make2Ant.Synchronize(startRule, ref inputModelContainer, ref outputModelContainer, SynchronizationDirection.LeftToRight, ChangePropagationMode.None); }
private static void PlayBatchNet(long[,,] times, int n, int sizeIdx, int iteration, Make2Ant.Model2ModelMainRule startRule, Stopwatch watch, ref InputModelContainer inputModelContainer, ref OutputModelContainer outputModelContainer, List <MakeWorkloadAction> workload) { var outputRepository = new ModelRepository(); Directory.CreateDirectory("makeOutputModelsBatchSync"); Directory.CreateDirectory("makeOutputModelsBatchSync\\" + n); Directory.CreateDirectory("makeOutputModelsBatchSync\\" + n + "\\" + iteration); Make2Ant.InputModelContainer = inputModelContainer; Make2Ant.OutputModelContainer = outputModelContainer; watch.Restart(); for (int index = 0; index < workload.Count; index++) { var item = workload[index]; item.Perform(inputModelContainer.IN); outputModelContainer = new OutputModelContainer(new Model()); RerunBatchSynchronization(startRule, ref inputModelContainer, ref outputModelContainer); var tempRepo = new ModelRepository(); tempRepo.Resolve("makeInputModelsSync\\" + n + "\\" + iteration + "\\" + "outputModel" + index + ".xmi"); outputRepository.Save(outputModelContainer.OUT, "makeOutputModelsBatchSync\\" + n + "\\" + iteration + "\\" + "outputModel" + index + ".xmi"); } watch.Stop(); Directory.Delete("makeOutputModelsBatchSync", true); times[sizeIdx, iteration, 2] = watch.Elapsed.Ticks * 100; }
private static void CreateModelsForAtlTransformation(int n, int iteration, List <MakeWorkloadAction> workload, Make2Ant.Model2ModelMainRule startRule, InputModelContainer inputModelContainer, OutputModelContainer outputModelContainer) { var outputRepository = new ModelRepository(); Directory.CreateDirectory("makeInputModels"); Directory.CreateDirectory("makeInputModels\\" + n); Directory.CreateDirectory("makeInputModels\\" + n + "\\" + iteration); make2Ant.Synchronize(startRule, ref inputModelContainer, ref outputModelContainer, SynchronizationDirection.LeftToRight, ChangePropagationMode.OneWay); for (int index = 0; index < workload.Count; index++) { var item = workload[index]; item.Perform(inputModelContainer.IN); outputRepository.Save(inputModelContainer.IN, "makeInputModels\\" + n + "\\" + iteration + "\\" + "inputModel" + index + ".xmi"); } }