コード例 #1
0
        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;
        }
コード例 #2
0
        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");
            }
        }
コード例 #3
0
        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);
        }