private static void PlayBatchNet(long[,,] times, int sizeIdx, int iteration, Families2Persons.Model2ModelMainRule startRule, Stopwatch watch, ref InputModelContainer inputModelContainer, ref OutputModelContainer outputModelContainer, List <FamilyWorkloadAction> workload) { 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 CreateModelsForAtlTransformation(int n, int iteration, List <FamilyWorkloadAction> workload, Families2Persons.Model2ModelMainRule startRule, InputModelContainer inputModelContainer, OutputModelContainer outputModelContainer) { var outputRepository = new ModelRepository(); Directory.CreateDirectory("familyInputModels"); Directory.CreateDirectory("familyInputModels\\" + n); Directory.CreateDirectory("familyInputModels\\" + n + "\\" + iteration); families2Persons.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, "familyInputModels\\" + n + "\\" + iteration + "\\" + "inputModel" + index + ".xmi"); } }
private static void RerunBatchSynchronization(Families2Persons.Model2ModelMainRule startRule, ref InputModelContainer inputModelContainer, ref OutputModelContainer outputModelContainer) { outputModelContainer = new OutputModelContainer(new Model()); families2Persons.Synchronize(startRule, ref inputModelContainer, ref outputModelContainer, SynchronizationDirection.LeftToRight, ChangePropagationMode.None); }