aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/MODELS2020-CaseStudies/models20.diversity-calculator/xtend-gen/hu/bme/mit/inf/dslreasoner/diversitycalculator/MeasureInternalDiversity.java
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/models20.diversity-calculator/xtend-gen/hu/bme/mit/inf/dslreasoner/diversitycalculator/MeasureInternalDiversity.java')
-rw-r--r--Tests/MODELS2020-CaseStudies/models20.diversity-calculator/xtend-gen/hu/bme/mit/inf/dslreasoner/diversitycalculator/MeasureInternalDiversity.java165
1 files changed, 0 insertions, 165 deletions
diff --git a/Tests/MODELS2020-CaseStudies/models20.diversity-calculator/xtend-gen/hu/bme/mit/inf/dslreasoner/diversitycalculator/MeasureInternalDiversity.java b/Tests/MODELS2020-CaseStudies/models20.diversity-calculator/xtend-gen/hu/bme/mit/inf/dslreasoner/diversitycalculator/MeasureInternalDiversity.java
deleted file mode 100644
index e1552b2f..00000000
--- a/Tests/MODELS2020-CaseStudies/models20.diversity-calculator/xtend-gen/hu/bme/mit/inf/dslreasoner/diversitycalculator/MeasureInternalDiversity.java
+++ /dev/null
@@ -1,165 +0,0 @@
1package hu.bme.mit.inf.dslreasoner.diversitycalculator;
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic;
4import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration;
5import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace;
6import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor;
7import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage;
8import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput;
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
12import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
13import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation;
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.AbstractNodeDescriptor;
15import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.NeighbourhoodWithTraces;
16import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice;
17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation;
18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage;
19import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace;
20import java.io.File;
21import java.util.LinkedList;
22import java.util.List;
23import java.util.Map;
24import org.eclipse.emf.ecore.EObject;
25import org.eclipse.emf.ecore.resource.Resource;
26import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
27import org.eclipse.xtend2.lib.StringConcatenation;
28import org.eclipse.xtext.xbase.lib.Conversions;
29import org.eclipse.xtext.xbase.lib.Exceptions;
30import org.eclipse.xtext.xbase.lib.ExclusiveRange;
31import org.eclipse.xtext.xbase.lib.Functions.Function1;
32import org.eclipse.xtext.xbase.lib.InputOutput;
33import org.eclipse.xtext.xbase.lib.IterableExtensions;
34
35@SuppressWarnings("all")
36public class MeasureInternalDiversity {
37 private static final InstanceModel2PartialInterpretation partialInterpretation2Logic = new InstanceModel2PartialInterpretation();
38
39 private static final PartialInterpretation2ImmutableTypeLattice neiguboirhoodComputer = new PartialInterpretation2ImmutableTypeLattice();
40
41 private static final Ecore2Logic ecore2Logic = new Ecore2Logic();
42
43 private static Object init() {
44 Object _xblockexpression = null;
45 {
46 LogiclanguagePackage.eINSTANCE.getClass();
47 LogicproblemPackage.eINSTANCE.getClass();
48 PartialinterpretationPackage.eINSTANCE.getClass();
49 Ecore2logicannotationsPackage.eINSTANCE.getClass();
50 Viatra2LogicAnnotationsPackage.eINSTANCE.getClass();
51 Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap();
52 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl();
53 _xblockexpression = _extensionToFactoryMap.put("*", _xMIResourceFactoryImpl);
54 }
55 return _xblockexpression;
56 }
57
58 public static void main(final String[] args) {
59 MeasureInternalDiversity.init();
60 }
61
62 public static void run(final EcoreMetamodelDescriptor metamodel, final String path, final String scenario) {
63 final int range = 20;
64 MeasureInternalDiversity.measureDiversity(metamodel, scenario, path, range);
65 }
66
67 public static void measureDiversity(final EcoreMetamodelDescriptor metamodel, final String scenario, final String path, final int depth) {
68 final File file = new File(path);
69 boolean _isDirectory = file.isDirectory();
70 if (_isDirectory) {
71 final String[] subfiles = file.list();
72 final Function1<String, Boolean> _function = (String it) -> {
73 return Boolean.valueOf(it.endsWith(".xmi"));
74 };
75 final Iterable<String> xmiSubfiles = IterableExtensions.<String>filter(((Iterable<String>)Conversions.doWrapArray(subfiles)), _function);
76 boolean _isEmpty = IterableExtensions.isEmpty(xmiSubfiles);
77 boolean _not = (!_isEmpty);
78 if (_not) {
79 final Function1<String, File> _function_1 = (String it) -> {
80 return new File(((path + "/") + it));
81 };
82 MeasureInternalDiversity.measureDiversity(metamodel, scenario, file, IterableExtensions.<File>toList(IterableExtensions.<String, File>map(xmiSubfiles, _function_1)), path, depth);
83 } else {
84 for (final String subfile : subfiles) {
85 MeasureInternalDiversity.measureDiversity(metamodel, scenario, ((path + "/") + subfile), depth);
86 }
87 }
88 } else {
89 boolean _isFile = file.isFile();
90 if (_isFile) {
91 }
92 }
93 }
94
95 public static void measureDiversity(final EcoreMetamodelDescriptor metamodel, final String scenario, final File parent, final List<File> files, final String path, final int depth) {
96 final FileSystemWorkspace workspace = new FileSystemWorkspace(path, "");
97 for (final File file : files) {
98 {
99 Ecore2LogicConfiguration _ecore2LogicConfiguration = new Ecore2LogicConfiguration();
100 final TracedOutput<LogicProblem, Ecore2Logic_Trace> metamodelTransformationOutput = MeasureInternalDiversity.ecore2Logic.transformMetamodel(metamodel, _ecore2LogicConfiguration);
101 final EObject model = workspace.<EObject>readModel(EObject.class, file.getName());
102 final PartialInterpretation partialModel = MeasureInternalDiversity.partialInterpretation2Logic.transform(metamodelTransformationOutput, model.eResource(), false);
103 final LinkedList<Map<? extends AbstractNodeDescriptor, Integer>> list = MeasureInternalDiversity.representationList(partialModel, depth);
104 try {
105 final String runIndex = MeasureInternalDiversity.runIndex(file.getName());
106 final String modelIndex = MeasureInternalDiversity.modelIndex(file.getName());
107 StringConcatenation _builder = new StringConcatenation();
108 _builder.append(scenario);
109 _builder.append(";");
110 _builder.append(runIndex);
111 _builder.append(";");
112 _builder.append(modelIndex);
113 InputOutput.<String>print(_builder.toString());
114 } catch (final Throwable _t) {
115 if (_t instanceof Exception) {
116 StringConcatenation _builder_1 = new StringConcatenation();
117 _builder_1.append(scenario);
118 _builder_1.append(";0;");
119 String _name = file.getName();
120 _builder_1.append(_name);
121 InputOutput.<String>print(_builder_1.toString());
122 } else {
123 throw Exceptions.sneakyThrow(_t);
124 }
125 }
126 int _size = list.size();
127 ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _size, true);
128 for (final Integer i : _doubleDotLessThan) {
129 StringConcatenation _builder = new StringConcatenation();
130 _builder.append(";");
131 int _size_1 = list.get((i).intValue()).keySet().size();
132 _builder.append(_size_1);
133 InputOutput.<String>print(_builder.toString());
134 }
135 int _size_2 = list.getLast().keySet().size();
136 double _multiply = (_size_2 * 1.0);
137 int _size_3 = partialModel.getNewElements().size();
138 double _divide = (_multiply / _size_3);
139 String _plus = (";" + Double.valueOf(_divide));
140 InputOutput.<String>print(_plus);
141 InputOutput.println();
142 }
143 }
144 }
145
146 protected static String runIndex(final String name) {
147 return IterableExtensions.<String>head(((Iterable<String>)Conversions.doWrapArray(name.split("\\.")))).split("_")[1];
148 }
149
150 protected static String modelIndex(final String name) {
151 return IterableExtensions.<String>head(((Iterable<String>)Conversions.doWrapArray(name.split("\\.")))).split("_")[2];
152 }
153
154 protected static LinkedList<Map<? extends AbstractNodeDescriptor, Integer>> representationList(final PartialInterpretation partialModel, final int depth) {
155 final LinkedList<Map<? extends AbstractNodeDescriptor, Integer>> list = new LinkedList<Map<? extends AbstractNodeDescriptor, Integer>>();
156 ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, depth, true);
157 for (final Integer i : _doubleDotLessThan) {
158 {
159 final NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor> neighbourhood = MeasureInternalDiversity.neiguboirhoodComputer.createRepresentation(partialModel, (i).intValue(), 0, 0);
160 list.add(neighbourhood.getModelRepresentation());
161 }
162 }
163 return list;
164 }
165}