diff options
author | 2019-08-20 17:13:46 -0400 | |
---|---|---|
committer | 2019-08-20 17:13:46 -0400 | |
commit | 8ca4668275e7f9298b9960acc66373aa94650453 (patch) | |
tree | 761e1561741a082fa2d278b31be654f426d31359 /Metrics | |
parent | modifty patterns for ecore (diff) | |
download | VIATRA-Generator-8ca4668275e7f9298b9960acc66373aa94650453.tar.gz VIATRA-Generator-8ca4668275e7f9298b9960acc66373aa94650453.tar.zst VIATRA-Generator-8ca4668275e7f9298b9960acc66373aa94650453.zip |
changes in settings of measurements
Diffstat (limited to 'Metrics')
114 files changed, 3208 insertions, 1422 deletions
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/META-INF/MANIFEST.MF b/Metrics/Metrics-Calculation/SocialNetwork_plugin/META-INF/MANIFEST.MF index 833b6fd8..6317c9fb 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/META-INF/MANIFEST.MF +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/META-INF/MANIFEST.MF | |||
@@ -25,8 +25,8 @@ Require-Bundle: org.eclipse.viatra.query.runtime.rete, | |||
25 | org.junit;bundle-version="4.12.0", | 25 | org.junit;bundle-version="4.12.0", |
26 | org.eclipse.collections;bundle-version="9.2.0", | 26 | org.eclipse.collections;bundle-version="9.2.0", |
27 | hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0", | 27 | hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0", |
28 | ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator;bundle-version="1.0.0", | 28 | hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation;bundle-version="0.0.1", |
29 | hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation;bundle-version="0.0.1" | 29 | ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator;bundle-version="1.0.0" |
30 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | 30 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 |
31 | Bundle-ActivationPolicy: lazy | 31 | Bundle-ActivationPolicy: lazy |
32 | Main-Class: ca.mcgill.ecse.socialnetwork.runner.Main | 32 | Main-Class: ca.mcgill.ecse.socialnetwork.runner.Main |
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner.launch b/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner.launch new file mode 100644 index 00000000..968580f5 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner.launch | |||
@@ -0,0 +1,16 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> | ||
3 | <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> | ||
4 | <listEntry value="/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java"/> | ||
5 | </listAttribute> | ||
6 | <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> | ||
7 | <listEntry value="1"/> | ||
8 | </listAttribute> | ||
9 | <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaAdvancedSourceLookupDirector"/> | ||
10 | <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;hu.bme.mit.inf.dslreasoner.viatra2logic&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;directory nest=&quot;false&quot; path=&quot;C:\Users\chenp\eclipse-workspace\VIATRA-Generator\Solvers\VIATRA-Solver\hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra\src\hu\bme\mit\inf\dslreasoner\viatrasolver&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.directory"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;directory nest=&quot;false&quot; path=&quot;C:\Users\chenp\eclipse-workspace\VIATRA-Generator\Solvers\VIATRA-Solver\hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra\src\hu\bme\mit\inf\dslreasoner\viatrasolver\logic2viatra&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.directory"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;directory nest=&quot;false&quot; path=&quot;C:\Users\chenp\eclipse-workspace\VIATRA-Generator\Solvers\VIATRA-Solver\hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra\src\hu\bme\mit\inf\dslreasoner\viatrasolver\logic2viatra\rules&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.directory"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> | ||
11 | <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> | ||
12 | <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="ca.mcgill.ecse.socialnetwork.runner.Main"/> | ||
13 | <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="github.vsconfig"/> | ||
14 | <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="SocialNetwork_plugin"/> | ||
15 | <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx8G"/> | ||
16 | </launchConfiguration> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/.gitignore b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/.gitignore index 464c03f5..25056e9e 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/.gitignore +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/.gitignore | |||
@@ -1,10 +1,2 @@ | |||
1 | /ca/ | 1 | /ca/ |
2 | /constraints/ | ||
3 | /ecore.ecore | ||
4 | /ecore/ | ||
5 | /queries/ | 2 | /queries/ |
6 | /socialnetwork.aird | ||
7 | /socialnetwork.ecore | ||
8 | /socialnetwork.genmodel | ||
9 | /socialnetwork/ | ||
10 | /statistics/ | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/constraints/ecore/.gitignore b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/constraints/ecore/.gitignore new file mode 100644 index 00000000..c42ca056 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/constraints/ecore/.gitignore | |||
@@ -0,0 +1,8 @@ | |||
1 | /.Ecore_pattern.java._trace | ||
2 | /.MoreThenFiveSuperTypes.java._trace | ||
3 | /.DirectSupertype.java._trace | ||
4 | /.Ecore.java._trace | ||
5 | /.LoopInInheritence.java._trace | ||
6 | /.NonSymmetricOpposite.java._trace | ||
7 | /.Opposite.java._trace | ||
8 | /.OppositeDifferentClass.java._trace | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ecore.ecore b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ecore.ecore new file mode 100644 index 00000000..eaaf3d11 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ecore.ecore | |||
@@ -0,0 +1,1023 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="ecore" nsURI="http://www.eclipse.org/emf/2002/Ecore" nsPrefix="ecore"> | ||
4 | <eClassifiers xsi:type="ecore:EClass" name="EAnnotation" eSuperTypes="#//EModelElement"> | ||
5 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
6 | <details key="name" value="EAnnotation"/> | ||
7 | <details key="kind" value="elementOnly"/> | ||
8 | </eAnnotations> | ||
9 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
10 | <details key="constraints" value="WellFormedSourceURI"/> | ||
11 | </eAnnotations> | ||
12 | <eStructuralFeatures xsi:type="ecore:EReference" name="details" upperBound="-1" | ||
13 | eType="#//EStringToStringMapEntry" containment="true" resolveProxies="false"> | ||
14 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
15 | <details key="kind" value="element"/> | ||
16 | <details key="name" value="details"/> | ||
17 | </eAnnotations> | ||
18 | </eStructuralFeatures> | ||
19 | <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1" | ||
20 | eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" containment="true" | ||
21 | resolveProxies="false"> | ||
22 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
23 | <details key="kind" value="element"/> | ||
24 | <details key="name" value="contents"/> | ||
25 | </eAnnotations> | ||
26 | </eStructuralFeatures> | ||
27 | <eStructuralFeatures xsi:type="ecore:EReference" name="references" upperBound="-1" | ||
28 | eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"> | ||
29 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
30 | <details key="kind" value="attribute"/> | ||
31 | <details key="name" value="references"/> | ||
32 | </eAnnotations> | ||
33 | </eStructuralFeatures> | ||
34 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="#//EString"> | ||
35 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
36 | <details key="kind" value="attribute"/> | ||
37 | <details key="name" value="source"/> | ||
38 | </eAnnotations> | ||
39 | </eStructuralFeatures> | ||
40 | <eStructuralFeatures xsi:type="ecore:EReference" name="eModelElement" eType="#//EModelElement" | ||
41 | transient="true" eOpposite="#//EModelElement/eAnnotations"/> | ||
42 | </eClassifiers> | ||
43 | <eClassifiers xsi:type="ecore:EClass" name="EAttribute" eSuperTypes="#//EStructuralFeature"> | ||
44 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
45 | <details key="name" value="EAttribute"/> | ||
46 | <details key="kind" value="elementOnly"/> | ||
47 | </eAnnotations> | ||
48 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
49 | <details key="constraints" value="ConsistentTransient"/> | ||
50 | </eAnnotations> | ||
51 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAttributeType" lowerBound="1" | ||
52 | eType="#//EDataType" changeable="false" volatile="true" transient="true" derived="true"> | ||
53 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
54 | <details key="kind" value="attribute"/> | ||
55 | <details key="name" value="eAttributeType"/> | ||
56 | </eAnnotations> | ||
57 | </eStructuralFeatures> | ||
58 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="iD" eType="#//EBoolean"> | ||
59 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
60 | <details key="kind" value="attribute"/> | ||
61 | <details key="name" value="iD"/> | ||
62 | </eAnnotations> | ||
63 | </eStructuralFeatures> | ||
64 | </eClassifiers> | ||
65 | <eClassifiers xsi:type="ecore:EDataType" name="EBigDecimal" instanceClassName="java.math.BigDecimal"> | ||
66 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
67 | <details key="name" value="EBigDecimal"/> | ||
68 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#decimal"/> | ||
69 | </eAnnotations> | ||
70 | </eClassifiers> | ||
71 | <eClassifiers xsi:type="ecore:EDataType" name="EBigInteger" instanceClassName="java.math.BigInteger"> | ||
72 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
73 | <details key="name" value="EBigInteger"/> | ||
74 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#integer"/> | ||
75 | </eAnnotations> | ||
76 | </eClassifiers> | ||
77 | <eClassifiers xsi:type="ecore:EDataType" name="EBoolean" instanceClassName="boolean"> | ||
78 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
79 | <details key="name" value="EBoolean"/> | ||
80 | </eAnnotations> | ||
81 | </eClassifiers> | ||
82 | <eClassifiers xsi:type="ecore:EDataType" name="EBooleanObject" instanceClassName="java.lang.Boolean"> | ||
83 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
84 | <details key="name" value="EBoolean:Object"/> | ||
85 | <details key="baseType" value="EBoolean"/> | ||
86 | </eAnnotations> | ||
87 | </eClassifiers> | ||
88 | <eClassifiers xsi:type="ecore:EDataType" name="EByte" instanceClassName="byte"> | ||
89 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
90 | <details key="name" value="EByte"/> | ||
91 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#byte"/> | ||
92 | </eAnnotations> | ||
93 | </eClassifiers> | ||
94 | <eClassifiers xsi:type="ecore:EDataType" name="EByteArray" instanceClassName="byte[]"> | ||
95 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
96 | <details key="name" value="EByteArray"/> | ||
97 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#hexBinary"/> | ||
98 | </eAnnotations> | ||
99 | </eClassifiers> | ||
100 | <eClassifiers xsi:type="ecore:EDataType" name="EByteObject" instanceClassName="java.lang.Byte"> | ||
101 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
102 | <details key="name" value="EByte:Object"/> | ||
103 | <details key="baseType" value="EByte"/> | ||
104 | </eAnnotations> | ||
105 | </eClassifiers> | ||
106 | <eClassifiers xsi:type="ecore:EDataType" name="EChar" instanceClassName="char"> | ||
107 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
108 | <details key="name" value="EChar"/> | ||
109 | </eAnnotations> | ||
110 | </eClassifiers> | ||
111 | <eClassifiers xsi:type="ecore:EDataType" name="ECharacterObject" instanceClassName="java.lang.Character"> | ||
112 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
113 | <details key="name" value="EChar:Object"/> | ||
114 | <details key="baseType" value="EChar"/> | ||
115 | </eAnnotations> | ||
116 | </eClassifiers> | ||
117 | <eClassifiers xsi:type="ecore:EClass" name="EClass" eSuperTypes="#//EClassifier"> | ||
118 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
119 | <details key="name" value="EClass"/> | ||
120 | <details key="kind" value="elementOnly"/> | ||
121 | </eAnnotations> | ||
122 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
123 | <details key="constraints" value="InterfaceIsAbstract AtMostOneID UniqueFeatureNames UniqueOperationSignatures NoCircularSuperTypes WellFormedMapEntryClass ConsistentSuperTypes DisjointFeatureAndOperationSignatures"/> | ||
124 | </eAnnotations> | ||
125 | <eOperations name="isSuperTypeOf" eType="#//EBoolean"> | ||
126 | <eParameters name="someClass" eType="#//EClass"/> | ||
127 | </eOperations> | ||
128 | <eOperations name="getFeatureCount" eType="#//EInt"/> | ||
129 | <eOperations name="getEStructuralFeature" eType="#//EStructuralFeature"> | ||
130 | <eParameters name="featureID" eType="#//EInt"/> | ||
131 | </eOperations> | ||
132 | <eOperations name="getFeatureID" eType="#//EInt"> | ||
133 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
134 | </eOperations> | ||
135 | <eOperations name="getEStructuralFeature" eType="#//EStructuralFeature"> | ||
136 | <eParameters name="featureName" eType="#//EString"/> | ||
137 | </eOperations> | ||
138 | <eOperations name="getOperationCount" eType="#//EInt"/> | ||
139 | <eOperations name="getEOperation" eType="#//EOperation"> | ||
140 | <eParameters name="operationID" eType="#//EInt"/> | ||
141 | </eOperations> | ||
142 | <eOperations name="getOperationID" eType="#//EInt"> | ||
143 | <eParameters name="operation" eType="#//EOperation"/> | ||
144 | </eOperations> | ||
145 | <eOperations name="getOverride" eType="#//EOperation"> | ||
146 | <eParameters name="operation" eType="#//EOperation"/> | ||
147 | </eOperations> | ||
148 | <eStructuralFeatures xsi:type="ecore:EReference" name="eOperations" upperBound="-1" | ||
149 | eType="#//EOperation" containment="true" resolveProxies="false" eOpposite="#//EOperation/eContainingClass"> | ||
150 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
151 | <details key="kind" value="element"/> | ||
152 | <details key="name" value="eOperations"/> | ||
153 | </eAnnotations> | ||
154 | </eStructuralFeatures> | ||
155 | <eStructuralFeatures xsi:type="ecore:EReference" name="eStructuralFeatures" upperBound="-1" | ||
156 | eType="#//EStructuralFeature" containment="true" resolveProxies="false" eOpposite="#//EStructuralFeature/eContainingClass"> | ||
157 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
158 | <details key="kind" value="element"/> | ||
159 | <details key="name" value="eStructuralFeatures"/> | ||
160 | </eAnnotations> | ||
161 | </eStructuralFeatures> | ||
162 | <eStructuralFeatures xsi:type="ecore:EReference" name="eGenericSuperTypes" upperBound="-1" | ||
163 | eType="#//EGenericType" unsettable="true" containment="true" resolveProxies="false"> | ||
164 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
165 | <details key="kind" value="element"/> | ||
166 | <details key="name" value="eGenericSuperTypes"/> | ||
167 | </eAnnotations> | ||
168 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
169 | <details key="suppressedIsSetVisibility" value="true"/> | ||
170 | <details key="suppressedUnsetVisibility" value="true"/> | ||
171 | </eAnnotations> | ||
172 | </eStructuralFeatures> | ||
173 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="#//EBoolean"> | ||
174 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
175 | <details key="kind" value="attribute"/> | ||
176 | <details key="name" value="abstract"/> | ||
177 | </eAnnotations> | ||
178 | </eStructuralFeatures> | ||
179 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllAttributes" upperBound="-1" | ||
180 | eType="#//EAttribute" changeable="false" volatile="true" transient="true" | ||
181 | derived="true"> | ||
182 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
183 | <details key="kind" value="attribute"/> | ||
184 | <details key="name" value="eAllAttributes"/> | ||
185 | </eAnnotations> | ||
186 | </eStructuralFeatures> | ||
187 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllContainments" upperBound="-1" | ||
188 | eType="#//EReference" changeable="false" volatile="true" transient="true" | ||
189 | derived="true"> | ||
190 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
191 | <details key="kind" value="attribute"/> | ||
192 | <details key="name" value="eAllContainments"/> | ||
193 | </eAnnotations> | ||
194 | </eStructuralFeatures> | ||
195 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllGenericSuperTypes" | ||
196 | upperBound="-1" eType="#//EGenericType" changeable="false" volatile="true" | ||
197 | transient="true" derived="true"> | ||
198 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
199 | <details key="kind" value="attribute"/> | ||
200 | <details key="name" value="eAllGenericSuperTypes"/> | ||
201 | </eAnnotations> | ||
202 | </eStructuralFeatures> | ||
203 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllOperations" upperBound="-1" | ||
204 | eType="#//EOperation" changeable="false" volatile="true" transient="true" | ||
205 | derived="true"> | ||
206 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
207 | <details key="kind" value="attribute"/> | ||
208 | <details key="name" value="eAllOperations"/> | ||
209 | </eAnnotations> | ||
210 | </eStructuralFeatures> | ||
211 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllReferences" upperBound="-1" | ||
212 | eType="#//EReference" changeable="false" volatile="true" transient="true" | ||
213 | derived="true"> | ||
214 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
215 | <details key="kind" value="attribute"/> | ||
216 | <details key="name" value="eAllReferences"/> | ||
217 | </eAnnotations> | ||
218 | </eStructuralFeatures> | ||
219 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllStructuralFeatures" | ||
220 | upperBound="-1" eType="#//EStructuralFeature" changeable="false" volatile="true" | ||
221 | transient="true" derived="true"> | ||
222 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
223 | <details key="kind" value="attribute"/> | ||
224 | <details key="name" value="eAllStructuralFeatures"/> | ||
225 | </eAnnotations> | ||
226 | </eStructuralFeatures> | ||
227 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllSuperTypes" upperBound="-1" | ||
228 | eType="#//EClass" changeable="false" volatile="true" transient="true" derived="true"> | ||
229 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
230 | <details key="kind" value="attribute"/> | ||
231 | <details key="name" value="eAllSuperTypes"/> | ||
232 | </eAnnotations> | ||
233 | </eStructuralFeatures> | ||
234 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAttributes" upperBound="-1" | ||
235 | eType="#//EAttribute" changeable="false" volatile="true" transient="true" | ||
236 | derived="true"> | ||
237 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
238 | <details key="kind" value="attribute"/> | ||
239 | <details key="name" value="eAttributes"/> | ||
240 | </eAnnotations> | ||
241 | </eStructuralFeatures> | ||
242 | <eStructuralFeatures xsi:type="ecore:EReference" name="eIDAttribute" eType="#//EAttribute" | ||
243 | changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false"> | ||
244 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
245 | <details key="kind" value="attribute"/> | ||
246 | <details key="name" value="eIDAttribute"/> | ||
247 | </eAnnotations> | ||
248 | </eStructuralFeatures> | ||
249 | <eStructuralFeatures xsi:type="ecore:EReference" name="eReferences" upperBound="-1" | ||
250 | eType="#//EReference" changeable="false" volatile="true" transient="true" | ||
251 | derived="true"> | ||
252 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
253 | <details key="kind" value="attribute"/> | ||
254 | <details key="name" value="eReferences"/> | ||
255 | </eAnnotations> | ||
256 | </eStructuralFeatures> | ||
257 | <eStructuralFeatures xsi:type="ecore:EReference" name="eSuperTypes" upperBound="-1" | ||
258 | eType="#//EClass" unsettable="true"> | ||
259 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
260 | <details key="kind" value="attribute"/> | ||
261 | <details key="name" value="eSuperTypes"/> | ||
262 | </eAnnotations> | ||
263 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
264 | <details key="suppressedIsSetVisibility" value="true"/> | ||
265 | <details key="suppressedUnsetVisibility" value="true"/> | ||
266 | </eAnnotations> | ||
267 | </eStructuralFeatures> | ||
268 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="interface" eType="#//EBoolean"> | ||
269 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
270 | <details key="kind" value="attribute"/> | ||
271 | <details key="name" value="interface"/> | ||
272 | </eAnnotations> | ||
273 | </eStructuralFeatures> | ||
274 | </eClassifiers> | ||
275 | <eClassifiers xsi:type="ecore:EClass" name="EClassifier" abstract="true" eSuperTypes="#//ENamedElement"> | ||
276 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
277 | <details key="name" value="EClassifier"/> | ||
278 | <details key="kind" value="elementOnly"/> | ||
279 | </eAnnotations> | ||
280 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
281 | <details key="constraints" value="WellFormedInstanceTypeName UniqueTypeParameterNames"/> | ||
282 | </eAnnotations> | ||
283 | <eOperations name="isInstance" eType="#//EBoolean"> | ||
284 | <eParameters name="object" eType="#//EJavaObject"/> | ||
285 | </eOperations> | ||
286 | <eOperations name="getClassifierID" eType="#//EInt"/> | ||
287 | <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameters" upperBound="-1" | ||
288 | eType="#//ETypeParameter" containment="true"> | ||
289 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
290 | <details key="kind" value="element"/> | ||
291 | <details key="name" value="eTypeParameters"/> | ||
292 | </eAnnotations> | ||
293 | </eStructuralFeatures> | ||
294 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="#//EJavaObject" | ||
295 | changeable="false" volatile="true" transient="true" derived="true"> | ||
296 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
297 | <details key="kind" value="attribute"/> | ||
298 | <details key="name" value="defaultValue"/> | ||
299 | </eAnnotations> | ||
300 | </eStructuralFeatures> | ||
301 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClass" changeable="false" | ||
302 | volatile="true" transient="true" derived="true"> | ||
303 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
304 | <details key="kind" value="attribute"/> | ||
305 | <details key="name" value="instanceClass"/> | ||
306 | </eAnnotations> | ||
307 | <eGenericType eClassifier="#//EJavaClass"> | ||
308 | <eTypeArguments/> | ||
309 | </eGenericType> | ||
310 | </eStructuralFeatures> | ||
311 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClassName" eType="#//EString" | ||
312 | volatile="true" unsettable="true"> | ||
313 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
314 | <details key="kind" value="attribute"/> | ||
315 | <details key="name" value="instanceClassName"/> | ||
316 | </eAnnotations> | ||
317 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
318 | <details key="suppressedIsSetVisibility" value="true"/> | ||
319 | <details key="suppressedUnsetVisibility" value="true"/> | ||
320 | </eAnnotations> | ||
321 | </eStructuralFeatures> | ||
322 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceTypeName" eType="#//EString" | ||
323 | volatile="true" unsettable="true"> | ||
324 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
325 | <details key="kind" value="attribute"/> | ||
326 | <details key="name" value="instanceTypeName"/> | ||
327 | </eAnnotations> | ||
328 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
329 | <details key="suppressedIsSetVisibility" value="true"/> | ||
330 | <details key="suppressedUnsetVisibility" value="true"/> | ||
331 | </eAnnotations> | ||
332 | </eStructuralFeatures> | ||
333 | <eStructuralFeatures xsi:type="ecore:EReference" name="ePackage" eType="#//EPackage" | ||
334 | transient="true" eOpposite="#//EPackage/eClassifiers"/> | ||
335 | </eClassifiers> | ||
336 | <eClassifiers xsi:type="ecore:EClass" name="EDataType" eSuperTypes="#//EClassifier"> | ||
337 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
338 | <details key="name" value="EDataType"/> | ||
339 | <details key="kind" value="elementOnly"/> | ||
340 | </eAnnotations> | ||
341 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="serializable" eType="#//EBoolean" | ||
342 | defaultValueLiteral="true"> | ||
343 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
344 | <details key="kind" value="attribute"/> | ||
345 | <details key="name" value="serializable"/> | ||
346 | </eAnnotations> | ||
347 | </eStructuralFeatures> | ||
348 | </eClassifiers> | ||
349 | <eClassifiers xsi:type="ecore:EDataType" name="EDate" instanceClassName="java.util.Date"> | ||
350 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
351 | <details key="name" value="EDate"/> | ||
352 | </eAnnotations> | ||
353 | </eClassifiers> | ||
354 | <eClassifiers xsi:type="ecore:EDataType" name="EDiagnosticChain" instanceClassName="org.eclipse.emf.common.util.DiagnosticChain" | ||
355 | serializable="false"> | ||
356 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
357 | <details key="name" value="EDiagnosticChain"/> | ||
358 | </eAnnotations> | ||
359 | </eClassifiers> | ||
360 | <eClassifiers xsi:type="ecore:EDataType" name="EDouble" instanceClassName="double"> | ||
361 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
362 | <details key="name" value="EDouble"/> | ||
363 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#double"/> | ||
364 | </eAnnotations> | ||
365 | </eClassifiers> | ||
366 | <eClassifiers xsi:type="ecore:EDataType" name="EDoubleObject" instanceClassName="java.lang.Double"> | ||
367 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
368 | <details key="name" value="EDouble:Object"/> | ||
369 | <details key="baseType" value="EDouble"/> | ||
370 | </eAnnotations> | ||
371 | </eClassifiers> | ||
372 | <eClassifiers xsi:type="ecore:EDataType" name="EEList" instanceClassName="org.eclipse.emf.common.util.EList" | ||
373 | serializable="false"> | ||
374 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
375 | <details key="name" value="EEList"/> | ||
376 | </eAnnotations> | ||
377 | <eTypeParameters name="E"/> | ||
378 | </eClassifiers> | ||
379 | <eClassifiers xsi:type="ecore:EClass" name="EEnum" eSuperTypes="#//EDataType"> | ||
380 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
381 | <details key="name" value="EEnum"/> | ||
382 | <details key="kind" value="elementOnly"/> | ||
383 | </eAnnotations> | ||
384 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
385 | <details key="constraints" value="UniqueEnumeratorNames UniqueEnumeratorLiterals"/> | ||
386 | </eAnnotations> | ||
387 | <eOperations name="getEEnumLiteral" eType="#//EEnumLiteral"> | ||
388 | <eParameters name="name" eType="#//EString"/> | ||
389 | </eOperations> | ||
390 | <eOperations name="getEEnumLiteral" eType="#//EEnumLiteral"> | ||
391 | <eParameters name="value" eType="#//EInt"/> | ||
392 | </eOperations> | ||
393 | <eOperations name="getEEnumLiteralByLiteral" eType="#//EEnumLiteral"> | ||
394 | <eParameters name="literal" eType="#//EString"/> | ||
395 | </eOperations> | ||
396 | <eStructuralFeatures xsi:type="ecore:EReference" name="eLiterals" upperBound="-1" | ||
397 | eType="#//EEnumLiteral" containment="true" resolveProxies="false" eOpposite="#//EEnumLiteral/eEnum"> | ||
398 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
399 | <details key="kind" value="element"/> | ||
400 | <details key="name" value="eLiterals"/> | ||
401 | </eAnnotations> | ||
402 | </eStructuralFeatures> | ||
403 | </eClassifiers> | ||
404 | <eClassifiers xsi:type="ecore:EDataType" name="EEnumerator" instanceClassName="org.eclipse.emf.common.util.Enumerator" | ||
405 | serializable="false"> | ||
406 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
407 | <details key="name" value="EEnumerator"/> | ||
408 | </eAnnotations> | ||
409 | </eClassifiers> | ||
410 | <eClassifiers xsi:type="ecore:EClass" name="EEnumLiteral" eSuperTypes="#//ENamedElement"> | ||
411 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
412 | <details key="name" value="EEnumLiteral"/> | ||
413 | <details key="kind" value="elementOnly"/> | ||
414 | </eAnnotations> | ||
415 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="instance" eType="#//EEnumerator" | ||
416 | transient="true"> | ||
417 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
418 | <details key="kind" value="attribute"/> | ||
419 | <details key="name" value="instance"/> | ||
420 | </eAnnotations> | ||
421 | </eStructuralFeatures> | ||
422 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="#//EString"> | ||
423 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
424 | <details key="kind" value="attribute"/> | ||
425 | <details key="name" value="literal"/> | ||
426 | </eAnnotations> | ||
427 | </eStructuralFeatures> | ||
428 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//EInt"> | ||
429 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
430 | <details key="kind" value="attribute"/> | ||
431 | <details key="name" value="value"/> | ||
432 | </eAnnotations> | ||
433 | </eStructuralFeatures> | ||
434 | <eStructuralFeatures xsi:type="ecore:EReference" name="eEnum" eType="#//EEnum" | ||
435 | transient="true" eOpposite="#//EEnum/eLiterals"/> | ||
436 | </eClassifiers> | ||
437 | <eClassifiers xsi:type="ecore:EClass" name="EFactory" eSuperTypes="#//EModelElement"> | ||
438 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
439 | <details key="name" value="EFactory"/> | ||
440 | <details key="kind" value="elementOnly"/> | ||
441 | </eAnnotations> | ||
442 | <eOperations name="create" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"> | ||
443 | <eParameters name="eClass" eType="#//EClass"/> | ||
444 | </eOperations> | ||
445 | <eOperations name="createFromString" eType="#//EJavaObject"> | ||
446 | <eParameters name="eDataType" eType="#//EDataType"/> | ||
447 | <eParameters name="literalValue" eType="#//EString"/> | ||
448 | </eOperations> | ||
449 | <eOperations name="convertToString" eType="#//EString"> | ||
450 | <eParameters name="eDataType" eType="#//EDataType"/> | ||
451 | <eParameters name="instanceValue" eType="#//EJavaObject"/> | ||
452 | </eOperations> | ||
453 | <eStructuralFeatures xsi:type="ecore:EReference" name="ePackage" lowerBound="1" | ||
454 | eType="#//EPackage" transient="true" resolveProxies="false" eOpposite="#//EPackage/eFactoryInstance"> | ||
455 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
456 | <details key="kind" value="attribute"/> | ||
457 | <details key="name" value="ePackage"/> | ||
458 | </eAnnotations> | ||
459 | </eStructuralFeatures> | ||
460 | </eClassifiers> | ||
461 | <eClassifiers xsi:type="ecore:EDataType" name="EFeatureMap" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap" | ||
462 | serializable="false"> | ||
463 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
464 | <details key="name" value="EFeatureMap"/> | ||
465 | </eAnnotations> | ||
466 | </eClassifiers> | ||
467 | <eClassifiers xsi:type="ecore:EDataType" name="EFeatureMapEntry" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap$Entry" | ||
468 | serializable="false"> | ||
469 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
470 | <details key="name" value="EFeatureMapEntry"/> | ||
471 | </eAnnotations> | ||
472 | </eClassifiers> | ||
473 | <eClassifiers xsi:type="ecore:EDataType" name="EFloat" instanceClassName="float"> | ||
474 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
475 | <details key="name" value="EFloat"/> | ||
476 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#float"/> | ||
477 | </eAnnotations> | ||
478 | </eClassifiers> | ||
479 | <eClassifiers xsi:type="ecore:EDataType" name="EFloatObject" instanceClassName="java.lang.Float"> | ||
480 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
481 | <details key="name" value="EFloat:Object"/> | ||
482 | <details key="baseType" value="EFloat"/> | ||
483 | </eAnnotations> | ||
484 | </eClassifiers> | ||
485 | <eClassifiers xsi:type="ecore:EClass" name="EGenericType"> | ||
486 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
487 | <details key="name" value="EGenericType"/> | ||
488 | <details key="kind" value="elementOnly"/> | ||
489 | </eAnnotations> | ||
490 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
491 | <details key="constraints" value="ConsistentType ConsistentBounds ConsistentArguments"/> | ||
492 | </eAnnotations> | ||
493 | <eStructuralFeatures xsi:type="ecore:EReference" name="eUpperBound" eType="#//EGenericType" | ||
494 | containment="true" resolveProxies="false"> | ||
495 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
496 | <details key="kind" value="element"/> | ||
497 | <details key="name" value="eUpperBound"/> | ||
498 | </eAnnotations> | ||
499 | </eStructuralFeatures> | ||
500 | <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeArguments" upperBound="-1" | ||
501 | eType="#//EGenericType" containment="true" resolveProxies="false"> | ||
502 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
503 | <details key="kind" value="element"/> | ||
504 | <details key="name" value="eTypeArguments"/> | ||
505 | </eAnnotations> | ||
506 | </eStructuralFeatures> | ||
507 | <eStructuralFeatures xsi:type="ecore:EReference" name="eLowerBound" eType="#//EGenericType" | ||
508 | containment="true" resolveProxies="false"> | ||
509 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
510 | <details key="kind" value="element"/> | ||
511 | <details key="name" value="eLowerBound"/> | ||
512 | </eAnnotations> | ||
513 | </eStructuralFeatures> | ||
514 | <eStructuralFeatures xsi:type="ecore:EReference" name="eClassifier" eType="#//EClassifier"> | ||
515 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
516 | <details key="kind" value="attribute"/> | ||
517 | <details key="name" value="eClassifier"/> | ||
518 | </eAnnotations> | ||
519 | </eStructuralFeatures> | ||
520 | <eStructuralFeatures xsi:type="ecore:EReference" name="eRawType" lowerBound="1" | ||
521 | eType="#//EClassifier" changeable="false" transient="true" derived="true"> | ||
522 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
523 | <details key="kind" value="attribute"/> | ||
524 | <details key="name" value="eRawType"/> | ||
525 | </eAnnotations> | ||
526 | </eStructuralFeatures> | ||
527 | <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameter" eType="#//ETypeParameter" | ||
528 | resolveProxies="false"> | ||
529 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
530 | <details key="kind" value="attribute"/> | ||
531 | <details key="name" value="eTypeParameter"/> | ||
532 | </eAnnotations> | ||
533 | </eStructuralFeatures> | ||
534 | </eClassifiers> | ||
535 | <eClassifiers xsi:type="ecore:EDataType" name="EInt" instanceClassName="int"> | ||
536 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
537 | <details key="name" value="EInt"/> | ||
538 | </eAnnotations> | ||
539 | </eClassifiers> | ||
540 | <eClassifiers xsi:type="ecore:EDataType" name="EIntegerObject" instanceClassName="java.lang.Integer"> | ||
541 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
542 | <details key="name" value="EInt:Object"/> | ||
543 | <details key="baseType" value="EInt"/> | ||
544 | </eAnnotations> | ||
545 | </eClassifiers> | ||
546 | <eClassifiers xsi:type="ecore:EDataType" name="EInvocationTargetException" instanceClassName="java.lang.reflect.InvocationTargetException" | ||
547 | serializable="false"> | ||
548 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
549 | <details key="name" value="EInvocationTargetException"/> | ||
550 | </eAnnotations> | ||
551 | </eClassifiers> | ||
552 | <eClassifiers xsi:type="ecore:EDataType" name="EJavaClass" instanceClassName="java.lang.Class"> | ||
553 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
554 | <details key="name" value="EJavaClass"/> | ||
555 | </eAnnotations> | ||
556 | <eTypeParameters name="T"/> | ||
557 | </eClassifiers> | ||
558 | <eClassifiers xsi:type="ecore:EDataType" name="EJavaObject" instanceClassName="java.lang.Object"> | ||
559 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
560 | <details key="name" value="EJavaObject"/> | ||
561 | </eAnnotations> | ||
562 | </eClassifiers> | ||
563 | <eClassifiers xsi:type="ecore:EDataType" name="ELong" instanceClassName="long"> | ||
564 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
565 | <details key="name" value="ELong"/> | ||
566 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#long"/> | ||
567 | </eAnnotations> | ||
568 | </eClassifiers> | ||
569 | <eClassifiers xsi:type="ecore:EDataType" name="ELongObject" instanceClassName="java.lang.Long"> | ||
570 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
571 | <details key="name" value="ELong:Object"/> | ||
572 | <details key="baseType" value="ELong"/> | ||
573 | </eAnnotations> | ||
574 | </eClassifiers> | ||
575 | <eClassifiers xsi:type="ecore:EDataType" name="EMap" instanceClassName="java.util.Map" | ||
576 | serializable="false"> | ||
577 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
578 | <details key="name" value="EMap"/> | ||
579 | </eAnnotations> | ||
580 | <eTypeParameters name="K"/> | ||
581 | <eTypeParameters name="V"/> | ||
582 | </eClassifiers> | ||
583 | <eClassifiers xsi:type="ecore:EClass" name="EModelElement" abstract="true"> | ||
584 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
585 | <details key="name" value="EModelElement"/> | ||
586 | <details key="kind" value="elementOnly"/> | ||
587 | </eAnnotations> | ||
588 | <eOperations name="getEAnnotation" eType="#//EAnnotation"> | ||
589 | <eParameters name="source" eType="#//EString"/> | ||
590 | </eOperations> | ||
591 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAnnotations" upperBound="-1" | ||
592 | eType="#//EAnnotation" containment="true" resolveProxies="false" eOpposite="#//EAnnotation/eModelElement"> | ||
593 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
594 | <details key="kind" value="element"/> | ||
595 | <details key="name" value="eAnnotations"/> | ||
596 | </eAnnotations> | ||
597 | </eStructuralFeatures> | ||
598 | </eClassifiers> | ||
599 | <eClassifiers xsi:type="ecore:EClass" name="ENamedElement" abstract="true" eSuperTypes="#//EModelElement"> | ||
600 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
601 | <details key="name" value="ENamedElement"/> | ||
602 | <details key="kind" value="elementOnly"/> | ||
603 | </eAnnotations> | ||
604 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
605 | <details key="constraints" value="WellFormedName"/> | ||
606 | </eAnnotations> | ||
607 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//EString"> | ||
608 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
609 | <details key="kind" value="attribute"/> | ||
610 | <details key="name" value="name"/> | ||
611 | </eAnnotations> | ||
612 | </eStructuralFeatures> | ||
613 | </eClassifiers> | ||
614 | <eClassifiers xsi:type="ecore:EClass" name="EObject"> | ||
615 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
616 | <details key="name" value="EObject"/> | ||
617 | <details key="kind" value="empty"/> | ||
618 | </eAnnotations> | ||
619 | <eOperations name="eClass" eType="#//EClass"/> | ||
620 | <eOperations name="eIsProxy" eType="#//EBoolean"/> | ||
621 | <eOperations name="eResource" eType="#//EResource"/> | ||
622 | <eOperations name="eContainer" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> | ||
623 | <eOperations name="eContainingFeature" eType="#//EStructuralFeature"/> | ||
624 | <eOperations name="eContainmentFeature" eType="#//EReference"/> | ||
625 | <eOperations name="eContents"> | ||
626 | <eGenericType eClassifier="#//EEList"> | ||
627 | <eTypeArguments eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> | ||
628 | </eGenericType> | ||
629 | </eOperations> | ||
630 | <eOperations name="eAllContents"> | ||
631 | <eGenericType eClassifier="#//ETreeIterator"> | ||
632 | <eTypeArguments eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> | ||
633 | </eGenericType> | ||
634 | </eOperations> | ||
635 | <eOperations name="eCrossReferences"> | ||
636 | <eGenericType eClassifier="#//EEList"> | ||
637 | <eTypeArguments eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> | ||
638 | </eGenericType> | ||
639 | </eOperations> | ||
640 | <eOperations name="eGet" eType="#//EJavaObject"> | ||
641 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
642 | </eOperations> | ||
643 | <eOperations name="eGet" eType="#//EJavaObject"> | ||
644 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
645 | <eParameters name="resolve" eType="#//EBoolean"/> | ||
646 | </eOperations> | ||
647 | <eOperations name="eSet"> | ||
648 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
649 | <eParameters name="newValue" eType="#//EJavaObject"/> | ||
650 | </eOperations> | ||
651 | <eOperations name="eIsSet" eType="#//EBoolean"> | ||
652 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
653 | </eOperations> | ||
654 | <eOperations name="eUnset"> | ||
655 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
656 | </eOperations> | ||
657 | <eOperations name="eInvoke" eType="#//EJavaObject" eExceptions="#//EInvocationTargetException"> | ||
658 | <eParameters name="operation" eType="#//EOperation"/> | ||
659 | <eParameters name="arguments"> | ||
660 | <eGenericType eClassifier="#//EEList"> | ||
661 | <eTypeArguments/> | ||
662 | </eGenericType> | ||
663 | </eParameters> | ||
664 | </eOperations> | ||
665 | </eClassifiers> | ||
666 | <eClassifiers xsi:type="ecore:EClass" name="EOperation" eSuperTypes="#//ETypedElement"> | ||
667 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
668 | <details key="name" value="EOperation"/> | ||
669 | <details key="kind" value="elementOnly"/> | ||
670 | </eAnnotations> | ||
671 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
672 | <details key="constraints" value="UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid"/> | ||
673 | </eAnnotations> | ||
674 | <eOperations name="getOperationID" eType="#//EInt"/> | ||
675 | <eOperations name="isOverrideOf" eType="#//EBoolean"> | ||
676 | <eParameters name="someOperation" eType="#//EOperation"/> | ||
677 | </eOperations> | ||
678 | <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameters" upperBound="-1" | ||
679 | eType="#//ETypeParameter" containment="true"> | ||
680 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
681 | <details key="kind" value="element"/> | ||
682 | <details key="name" value="eTypeParameters"/> | ||
683 | </eAnnotations> | ||
684 | </eStructuralFeatures> | ||
685 | <eStructuralFeatures xsi:type="ecore:EReference" name="eParameters" upperBound="-1" | ||
686 | eType="#//EParameter" containment="true" resolveProxies="false" eOpposite="#//EParameter/eOperation"> | ||
687 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
688 | <details key="kind" value="element"/> | ||
689 | <details key="name" value="eParameters"/> | ||
690 | </eAnnotations> | ||
691 | </eStructuralFeatures> | ||
692 | <eStructuralFeatures xsi:type="ecore:EReference" name="eGenericExceptions" upperBound="-1" | ||
693 | eType="#//EGenericType" unsettable="true" containment="true" resolveProxies="false"> | ||
694 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
695 | <details key="kind" value="element"/> | ||
696 | <details key="name" value="eGenericExceptions"/> | ||
697 | </eAnnotations> | ||
698 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
699 | <details key="suppressedIsSetVisibility" value="true"/> | ||
700 | <details key="suppressedUnsetVisibility" value="true"/> | ||
701 | </eAnnotations> | ||
702 | </eStructuralFeatures> | ||
703 | <eStructuralFeatures xsi:type="ecore:EReference" name="eExceptions" upperBound="-1" | ||
704 | eType="#//EClassifier" unsettable="true"> | ||
705 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
706 | <details key="kind" value="attribute"/> | ||
707 | <details key="name" value="eExceptions"/> | ||
708 | </eAnnotations> | ||
709 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
710 | <details key="suppressedIsSetVisibility" value="true"/> | ||
711 | <details key="suppressedUnsetVisibility" value="true"/> | ||
712 | </eAnnotations> | ||
713 | </eStructuralFeatures> | ||
714 | <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingClass" eType="#//EClass" | ||
715 | transient="true" eOpposite="#//EClass/eOperations"/> | ||
716 | </eClassifiers> | ||
717 | <eClassifiers xsi:type="ecore:EClass" name="EPackage" eSuperTypes="#//ENamedElement"> | ||
718 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
719 | <details key="name" value="EPackage"/> | ||
720 | <details key="kind" value="elementOnly"/> | ||
721 | </eAnnotations> | ||
722 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
723 | <details key="constraints" value="WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs"/> | ||
724 | </eAnnotations> | ||
725 | <eOperations name="getEClassifier" eType="#//EClassifier"> | ||
726 | <eParameters name="name" eType="#//EString"/> | ||
727 | </eOperations> | ||
728 | <eStructuralFeatures xsi:type="ecore:EReference" name="eClassifiers" upperBound="-1" | ||
729 | eType="#//EClassifier" containment="true" eOpposite="#//EClassifier/ePackage"> | ||
730 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
731 | <details key="kind" value="element"/> | ||
732 | <details key="name" value="eClassifiers"/> | ||
733 | </eAnnotations> | ||
734 | </eStructuralFeatures> | ||
735 | <eStructuralFeatures xsi:type="ecore:EReference" name="eSubpackages" upperBound="-1" | ||
736 | eType="#//EPackage" containment="true" eOpposite="#//EPackage/eSuperPackage"> | ||
737 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
738 | <details key="kind" value="element"/> | ||
739 | <details key="name" value="eSubpackages"/> | ||
740 | </eAnnotations> | ||
741 | </eStructuralFeatures> | ||
742 | <eStructuralFeatures xsi:type="ecore:EReference" name="eFactoryInstance" lowerBound="1" | ||
743 | eType="#//EFactory" transient="true" resolveProxies="false" eOpposite="#//EFactory/ePackage"> | ||
744 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
745 | <details key="kind" value="attribute"/> | ||
746 | <details key="name" value="eFactoryInstance"/> | ||
747 | </eAnnotations> | ||
748 | </eStructuralFeatures> | ||
749 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsPrefix" eType="#//EString"> | ||
750 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
751 | <details key="kind" value="attribute"/> | ||
752 | <details key="name" value="nsPrefix"/> | ||
753 | </eAnnotations> | ||
754 | </eStructuralFeatures> | ||
755 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsURI" eType="#//EString"> | ||
756 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
757 | <details key="kind" value="attribute"/> | ||
758 | <details key="name" value="nsURI"/> | ||
759 | </eAnnotations> | ||
760 | </eStructuralFeatures> | ||
761 | <eStructuralFeatures xsi:type="ecore:EReference" name="eSuperPackage" eType="#//EPackage" | ||
762 | transient="true" eOpposite="#//EPackage/eSubpackages"/> | ||
763 | </eClassifiers> | ||
764 | <eClassifiers xsi:type="ecore:EClass" name="EParameter" eSuperTypes="#//ETypedElement"> | ||
765 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
766 | <details key="name" value="EParameter"/> | ||
767 | <details key="kind" value="elementOnly"/> | ||
768 | </eAnnotations> | ||
769 | <eStructuralFeatures xsi:type="ecore:EReference" name="eOperation" eType="#//EOperation" | ||
770 | transient="true" eOpposite="#//EOperation/eParameters"/> | ||
771 | </eClassifiers> | ||
772 | <eClassifiers xsi:type="ecore:EClass" name="EReference" eSuperTypes="#//EStructuralFeature"> | ||
773 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
774 | <details key="name" value="EReference"/> | ||
775 | <details key="kind" value="elementOnly"/> | ||
776 | </eAnnotations> | ||
777 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
778 | <details key="constraints" value="ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer"/> | ||
779 | </eAnnotations> | ||
780 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="container" eType="#//EBoolean" | ||
781 | changeable="false" volatile="true" transient="true" derived="true"> | ||
782 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
783 | <details key="kind" value="attribute"/> | ||
784 | <details key="name" value="container"/> | ||
785 | </eAnnotations> | ||
786 | </eStructuralFeatures> | ||
787 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="#//EBoolean"> | ||
788 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
789 | <details key="kind" value="attribute"/> | ||
790 | <details key="name" value="containment"/> | ||
791 | </eAnnotations> | ||
792 | </eStructuralFeatures> | ||
793 | <eStructuralFeatures xsi:type="ecore:EReference" name="eKeys" upperBound="-1" | ||
794 | eType="#//EAttribute"> | ||
795 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
796 | <details key="kind" value="attribute"/> | ||
797 | <details key="name" value="eKeys"/> | ||
798 | </eAnnotations> | ||
799 | </eStructuralFeatures> | ||
800 | <eStructuralFeatures xsi:type="ecore:EReference" name="eOpposite" eType="#//EReference"> | ||
801 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
802 | <details key="kind" value="attribute"/> | ||
803 | <details key="name" value="eOpposite"/> | ||
804 | </eAnnotations> | ||
805 | </eStructuralFeatures> | ||
806 | <eStructuralFeatures xsi:type="ecore:EReference" name="eReferenceType" lowerBound="1" | ||
807 | eType="#//EClass" changeable="false" volatile="true" transient="true" derived="true"> | ||
808 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
809 | <details key="kind" value="attribute"/> | ||
810 | <details key="name" value="eReferenceType"/> | ||
811 | </eAnnotations> | ||
812 | </eStructuralFeatures> | ||
813 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="resolveProxies" eType="#//EBoolean" | ||
814 | defaultValueLiteral="true"> | ||
815 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
816 | <details key="kind" value="attribute"/> | ||
817 | <details key="name" value="resolveProxies"/> | ||
818 | </eAnnotations> | ||
819 | </eStructuralFeatures> | ||
820 | </eClassifiers> | ||
821 | <eClassifiers xsi:type="ecore:EDataType" name="EResource" instanceClassName="org.eclipse.emf.ecore.resource.Resource" | ||
822 | serializable="false"> | ||
823 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
824 | <details key="name" value="EResource"/> | ||
825 | </eAnnotations> | ||
826 | </eClassifiers> | ||
827 | <eClassifiers xsi:type="ecore:EDataType" name="EResourceSet" instanceClassName="org.eclipse.emf.ecore.resource.ResourceSet" | ||
828 | serializable="false"> | ||
829 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
830 | <details key="name" value="EResourceSet"/> | ||
831 | </eAnnotations> | ||
832 | </eClassifiers> | ||
833 | <eClassifiers xsi:type="ecore:EDataType" name="EShort" instanceClassName="short"> | ||
834 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
835 | <details key="name" value="EShort"/> | ||
836 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#short"/> | ||
837 | </eAnnotations> | ||
838 | </eClassifiers> | ||
839 | <eClassifiers xsi:type="ecore:EDataType" name="EShortObject" instanceClassName="java.lang.Short"> | ||
840 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
841 | <details key="name" value="EShort:Object"/> | ||
842 | <details key="baseType" value="EShort"/> | ||
843 | </eAnnotations> | ||
844 | </eClassifiers> | ||
845 | <eClassifiers xsi:type="ecore:EDataType" name="EString" instanceClassName="java.lang.String"> | ||
846 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
847 | <details key="name" value="EString"/> | ||
848 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#string"/> | ||
849 | </eAnnotations> | ||
850 | </eClassifiers> | ||
851 | <eClassifiers xsi:type="ecore:EClass" name="EStringToStringMapEntry" instanceClassName="java.util.Map$Entry"> | ||
852 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
853 | <details key="name" value="EStringToStringMapEntry"/> | ||
854 | <details key="kind" value="empty"/> | ||
855 | </eAnnotations> | ||
856 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="#//EString"> | ||
857 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
858 | <details key="kind" value="attribute"/> | ||
859 | <details key="name" value="key"/> | ||
860 | </eAnnotations> | ||
861 | </eStructuralFeatures> | ||
862 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//EString"> | ||
863 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
864 | <details key="kind" value="attribute"/> | ||
865 | <details key="name" value="value"/> | ||
866 | </eAnnotations> | ||
867 | </eStructuralFeatures> | ||
868 | </eClassifiers> | ||
869 | <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeature" abstract="true" | ||
870 | eSuperTypes="#//ETypedElement"> | ||
871 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
872 | <details key="name" value="EStructuralFeature"/> | ||
873 | <details key="kind" value="elementOnly"/> | ||
874 | </eAnnotations> | ||
875 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
876 | <details key="constraints" value="ValidDefaultValueLiteral"/> | ||
877 | </eAnnotations> | ||
878 | <eOperations name="getFeatureID" eType="#//EInt"/> | ||
879 | <eOperations name="getContainerClass"> | ||
880 | <eGenericType eClassifier="#//EJavaClass"> | ||
881 | <eTypeArguments/> | ||
882 | </eGenericType> | ||
883 | </eOperations> | ||
884 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="changeable" eType="#//EBoolean" | ||
885 | defaultValueLiteral="true"> | ||
886 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
887 | <details key="kind" value="attribute"/> | ||
888 | <details key="name" value="changeable"/> | ||
889 | </eAnnotations> | ||
890 | </eStructuralFeatures> | ||
891 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="#//EJavaObject" | ||
892 | changeable="false" volatile="true" transient="true" derived="true"> | ||
893 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
894 | <details key="kind" value="attribute"/> | ||
895 | <details key="name" value="defaultValue"/> | ||
896 | </eAnnotations> | ||
897 | </eStructuralFeatures> | ||
898 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValueLiteral" eType="#//EString"> | ||
899 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
900 | <details key="kind" value="attribute"/> | ||
901 | <details key="name" value="defaultValueLiteral"/> | ||
902 | </eAnnotations> | ||
903 | </eStructuralFeatures> | ||
904 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="derived" eType="#//EBoolean"> | ||
905 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
906 | <details key="kind" value="attribute"/> | ||
907 | <details key="name" value="derived"/> | ||
908 | </eAnnotations> | ||
909 | </eStructuralFeatures> | ||
910 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" eType="#//EBoolean"> | ||
911 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
912 | <details key="kind" value="attribute"/> | ||
913 | <details key="name" value="transient"/> | ||
914 | </eAnnotations> | ||
915 | </eStructuralFeatures> | ||
916 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="unsettable" eType="#//EBoolean"> | ||
917 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
918 | <details key="kind" value="attribute"/> | ||
919 | <details key="name" value="unsettable"/> | ||
920 | </eAnnotations> | ||
921 | </eStructuralFeatures> | ||
922 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="volatile" eType="#//EBoolean"> | ||
923 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
924 | <details key="kind" value="attribute"/> | ||
925 | <details key="name" value="volatile"/> | ||
926 | </eAnnotations> | ||
927 | </eStructuralFeatures> | ||
928 | <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingClass" eType="#//EClass" | ||
929 | transient="true" eOpposite="#//EClass/eStructuralFeatures"/> | ||
930 | </eClassifiers> | ||
931 | <eClassifiers xsi:type="ecore:EDataType" name="ETreeIterator" instanceClassName="org.eclipse.emf.common.util.TreeIterator" | ||
932 | serializable="false"> | ||
933 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
934 | <details key="name" value="ETreeIterator"/> | ||
935 | </eAnnotations> | ||
936 | <eTypeParameters name="E"/> | ||
937 | </eClassifiers> | ||
938 | <eClassifiers xsi:type="ecore:EClass" name="ETypedElement" abstract="true" eSuperTypes="#//ENamedElement"> | ||
939 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
940 | <details key="name" value="ETypedElement"/> | ||
941 | <details key="kind" value="elementOnly"/> | ||
942 | </eAnnotations> | ||
943 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
944 | <details key="constraints" value="ValidLowerBound ValidUpperBound ConsistentBounds ValidType"/> | ||
945 | </eAnnotations> | ||
946 | <eStructuralFeatures xsi:type="ecore:EReference" name="eGenericType" eType="#//EGenericType" | ||
947 | volatile="true" unsettable="true" containment="true" resolveProxies="false"> | ||
948 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
949 | <details key="kind" value="element"/> | ||
950 | <details key="name" value="eGenericType"/> | ||
951 | </eAnnotations> | ||
952 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
953 | <details key="suppressedIsSetVisibility" value="true"/> | ||
954 | <details key="suppressedUnsetVisibility" value="true"/> | ||
955 | </eAnnotations> | ||
956 | </eStructuralFeatures> | ||
957 | <eStructuralFeatures xsi:type="ecore:EReference" name="eType" eType="#//EClassifier" | ||
958 | volatile="true" unsettable="true"> | ||
959 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
960 | <details key="kind" value="attribute"/> | ||
961 | <details key="name" value="eType"/> | ||
962 | </eAnnotations> | ||
963 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
964 | <details key="suppressedIsSetVisibility" value="true"/> | ||
965 | <details key="suppressedUnsetVisibility" value="true"/> | ||
966 | </eAnnotations> | ||
967 | </eStructuralFeatures> | ||
968 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="#//EInt"> | ||
969 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
970 | <details key="kind" value="attribute"/> | ||
971 | <details key="name" value="lowerBound"/> | ||
972 | </eAnnotations> | ||
973 | </eStructuralFeatures> | ||
974 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="many" eType="#//EBoolean" | ||
975 | changeable="false" volatile="true" transient="true" derived="true"> | ||
976 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
977 | <details key="kind" value="attribute"/> | ||
978 | <details key="name" value="many"/> | ||
979 | </eAnnotations> | ||
980 | </eStructuralFeatures> | ||
981 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordered" eType="#//EBoolean" | ||
982 | defaultValueLiteral="true"> | ||
983 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
984 | <details key="kind" value="attribute"/> | ||
985 | <details key="name" value="ordered"/> | ||
986 | </eAnnotations> | ||
987 | </eStructuralFeatures> | ||
988 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="required" eType="#//EBoolean" | ||
989 | changeable="false" volatile="true" transient="true" derived="true"> | ||
990 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
991 | <details key="kind" value="attribute"/> | ||
992 | <details key="name" value="required"/> | ||
993 | </eAnnotations> | ||
994 | </eStructuralFeatures> | ||
995 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="#//EBoolean" | ||
996 | defaultValueLiteral="true"> | ||
997 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
998 | <details key="kind" value="attribute"/> | ||
999 | <details key="name" value="unique"/> | ||
1000 | </eAnnotations> | ||
1001 | </eStructuralFeatures> | ||
1002 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="#//EInt" | ||
1003 | defaultValueLiteral="1"> | ||
1004 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
1005 | <details key="kind" value="attribute"/> | ||
1006 | <details key="name" value="upperBound"/> | ||
1007 | </eAnnotations> | ||
1008 | </eStructuralFeatures> | ||
1009 | </eClassifiers> | ||
1010 | <eClassifiers xsi:type="ecore:EClass" name="ETypeParameter" eSuperTypes="#//ENamedElement"> | ||
1011 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
1012 | <details key="name" value="ETypeParameter"/> | ||
1013 | <details key="kind" value="elementOnly"/> | ||
1014 | </eAnnotations> | ||
1015 | <eStructuralFeatures xsi:type="ecore:EReference" name="eBounds" upperBound="-1" | ||
1016 | eType="#//EGenericType" containment="true" resolveProxies="false"> | ||
1017 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
1018 | <details key="kind" value="element"/> | ||
1019 | <details key="name" value="eBounds"/> | ||
1020 | </eAnnotations> | ||
1021 | </eStructuralFeatures> | ||
1022 | </eClassifiers> | ||
1023 | </ecore:EPackage> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ecore/.gitignore b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ecore/.gitignore new file mode 100644 index 00000000..c42ca056 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ecore/.gitignore | |||
@@ -0,0 +1,8 @@ | |||
1 | /.Ecore_pattern.java._trace | ||
2 | /.MoreThenFiveSuperTypes.java._trace | ||
3 | /.DirectSupertype.java._trace | ||
4 | /.Ecore.java._trace | ||
5 | /.LoopInInheritence.java._trace | ||
6 | /.NonSymmetricOpposite.java._trace | ||
7 | /.Opposite.java._trace | ||
8 | /.OppositeDifferentClass.java._trace | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/.DS_Store b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/.DS_Store new file mode 100644 index 00000000..85929cb0 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/.DS_Store | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/mpc_rep/2samplemodel41.githubmodel b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/mpc_rep/2samplemodel41.githubmodel new file mode 100644 index 00000000..f4a3233c --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/mpc_rep/2samplemodel41.githubmodel | |||
@@ -0,0 +1,105 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <github:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:github="sure.ghtorrent.github" creatd_at="2013-05-14T03:07:04.000-0400" updated_at="2016-11-02T06:05:30.000-0400" url="https://github.com/vert-x/mod-rxvertx"> | ||
3 | <issue created_at="2015-08-14T02:12:18.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/42"/> | ||
4 | <issue created_at="2015-06-22T09:29:32.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/41"/> | ||
5 | <issue created_at="2015-06-16T15:27:39.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/40"/> | ||
6 | <issue created_at="2015-06-16T15:19:14.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/39"/> | ||
7 | <issue created_at="2015-04-08T09:17:37.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/36"/> | ||
8 | <issue created_at="2015-03-02T15:41:55.000-0500" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/34"/> | ||
9 | <issue created_at="2014-11-21T17:36:28.000-0500" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/29"/> | ||
10 | <issue created_at="2014-11-19T09:48:31.000-0500" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/26"/> | ||
11 | <issue created_at="2014-06-06T13:52:26.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/18"/> | ||
12 | <issue created_at="2013-12-07T04:02:36.000-0500" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/10"/> | ||
13 | <issue created_at="2016-01-24T04:58:48.000-0500" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/43"> | ||
14 | <pullrequest url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/43"/> | ||
15 | </issue> | ||
16 | <issue created_at="2015-06-16T15:27:39.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/40"> | ||
17 | <pullrequest url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/40"/> | ||
18 | </issue> | ||
19 | <issue created_at="2015-03-06T11:23:22.000-0500" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/35"> | ||
20 | <pullrequest commit="//@commits.42" url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/35"/> | ||
21 | </issue> | ||
22 | <issue created_at="2014-11-21T17:40:46.000-0500" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/30"> | ||
23 | <pullrequest url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/30"/> | ||
24 | </issue> | ||
25 | <issue created_at="2014-08-28T07:38:52.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/21"> | ||
26 | <pullrequest url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/21"/> | ||
27 | </issue> | ||
28 | <issue created_at="2014-06-19T15:01:09.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/19"> | ||
29 | <pullrequest commit="//@commits.46" url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/19"/> | ||
30 | </issue> | ||
31 | <issue created_at="2014-05-11T00:43:58.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/17"> | ||
32 | <pullrequest commit="//@commits.47" url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/17"/> | ||
33 | </issue> | ||
34 | <issue created_at="2014-05-09T05:21:01.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/15"> | ||
35 | <pullrequest commit="//@commits.51" url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/15"/> | ||
36 | </issue> | ||
37 | <issue created_at="2013-07-07T20:58:26.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/3"> | ||
38 | <pullrequest commit="//@commits.20" url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/3"/> | ||
39 | </issue> | ||
40 | <issue created_at="2013-06-26T11:44:08.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/2"> | ||
41 | <pullrequest url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/2"/> | ||
42 | </issue> | ||
43 | <issue created_at="2013-06-16T00:13:08.000-0400" url="https://api.github.com/repos/vert-x/mod-rxvertx/issues/1"> | ||
44 | <pullrequest commit="//@commits.24" url="https://api.github.com/repos/vert-x/mod-rxvertx/pulls/1"/> | ||
45 | </issue> | ||
46 | <projectMembers url="https://api.github.com/users/petermd" name="petermd"/> | ||
47 | <projectMembers url="https://api.github.com/users/purplefox" name="purplefox"/> | ||
48 | <projectMembers url="https://api.github.com/users/sharathp" name="sharathp"/> | ||
49 | <projectMembers url="https://api.github.com/users/squaredfinancialit" name="squaredfinancialit"/> | ||
50 | <projectMembers url="https://api.github.com/users/ddossot" name="ddossot"/> | ||
51 | <projectMembers url="https://api.github.com/users/tavisrudd" name="tavisrudd"/> | ||
52 | <projectMembers url="https://api.github.com/users/vihangd" name="vihangd"/> | ||
53 | <commits committer="//@projectMembers.0" parents="//@commits.1" created_at="2013-12-02T05:47:09.000-0500" sha="ed99912edfd9f6f9e908a5325d2ab07d6e65e869" parents_sha="9a90507caa12d77bb7fc97514c9016e8c9d41676"/> | ||
54 | <commits committer="//@projectMembers.0" parents="//@commits.2 //@commits.5" created_at="2013-12-01T20:08:01.000-0500" sha="9a90507caa12d77bb7fc97514c9016e8c9d41676" parents_sha="dddb6bbe532afaf0983b9b2affea87d700c788fc ad41e6a602de2e145d1ba2b0da9bd046fb3e2467"/> | ||
55 | <commits committer="//@projectMembers.0" parents="//@commits.3" created_at="2013-12-01T20:06:25.000-0500" sha="dddb6bbe532afaf0983b9b2affea87d700c788fc" parents_sha="e704894753ef8f06f144071c493ae5ee0f077f33"/> | ||
56 | <commits committer="//@projectMembers.0" parents="//@commits.4" created_at="2013-12-01T20:05:38.000-0500" sha="e704894753ef8f06f144071c493ae5ee0f077f33" parents_sha="f6b983b4b88731f38fe1080a4235d2e6091107b0"/> | ||
57 | <commits committer="//@projectMembers.0" parents="//@commits.6" created_at="2013-12-01T20:05:12.000-0500" sha="f6b983b4b88731f38fe1080a4235d2e6091107b0" parents_sha="9298780fca8e25a33f49867f3025890fa7c7d7f2"/> | ||
58 | <commits committer="//@projectMembers.1" parents="//@commits.6" created_at="2013-12-01T05:58:35.000-0500" sha="ad41e6a602de2e145d1ba2b0da9bd046fb3e2467" parents_sha="9298780fca8e25a33f49867f3025890fa7c7d7f2"/> | ||
59 | <commits committer="//@projectMembers.0" parents="//@commits.7" created_at="2013-11-27T05:39:40.000-0500" sha="9298780fca8e25a33f49867f3025890fa7c7d7f2" parents_sha="6cd3659869c4b786e55640d2d137b12d18fb49a7"/> | ||
60 | <commits committer="//@projectMembers.0" parents="//@commits.8" created_at="2013-11-27T05:28:59.000-0500" sha="6cd3659869c4b786e55640d2d137b12d18fb49a7" parents_sha="937af378cf31503b77d0ce6ab011e5d022d57265"/> | ||
61 | <commits committer="//@projectMembers.0" parents="//@commits.9" created_at="2013-11-27T05:26:59.000-0500" sha="937af378cf31503b77d0ce6ab011e5d022d57265" parents_sha="f777d37b7fa1091c278848166dd7635728ac2a2f"/> | ||
62 | <commits committer="//@projectMembers.0" parents="//@commits.10" created_at="2013-11-19T08:26:58.000-0500" sha="f777d37b7fa1091c278848166dd7635728ac2a2f" parents_sha="bd3e62a14633df39d7124577126f5087b989db73"/> | ||
63 | <commits committer="//@projectMembers.0" parents="//@commits.11" created_at="2013-11-19T07:59:40.000-0500" sha="bd3e62a14633df39d7124577126f5087b989db73" parents_sha="b61d0a341119990de69b9fe4a8bfd468c6bddfef"/> | ||
64 | <commits committer="//@projectMembers.0" parents="//@commits.12" created_at="2013-11-19T07:55:41.000-0500" sha="b61d0a341119990de69b9fe4a8bfd468c6bddfef" parents_sha="3c98cc0a6e45fd558b1f808c76613c3eb2b0b936"/> | ||
65 | <commits committer="//@projectMembers.0" parents="//@commits.13" created_at="2013-11-19T07:54:46.000-0500" sha="3c98cc0a6e45fd558b1f808c76613c3eb2b0b936" parents_sha="049801ae6cedb220c2dfdf0fdaf4b6ba9339e1ad"/> | ||
66 | <commits committer="//@projectMembers.0" parents="//@commits.14" created_at="2013-11-14T19:17:38.000-0500" sha="049801ae6cedb220c2dfdf0fdaf4b6ba9339e1ad" parents_sha="80b5503fa7d92d6fc9d75ec9e0637e144b4b79e2"/> | ||
67 | <commits committer="//@projectMembers.0" parents="//@commits.15" created_at="2013-11-14T18:18:38.000-0500" sha="80b5503fa7d92d6fc9d75ec9e0637e144b4b79e2" parents_sha="063311036a271c4f51aab1e16cb01a273af40d59"/> | ||
68 | <commits committer="//@projectMembers.0" parents="//@commits.16" created_at="2013-11-14T18:18:12.000-0500" sha="063311036a271c4f51aab1e16cb01a273af40d59" parents_sha="d6a755666b19fb84f3ed3322abf4799e4e103401"/> | ||
69 | <commits committer="//@projectMembers.0" parents="//@commits.17" created_at="2013-11-07T22:29:23.000-0500" sha="d6a755666b19fb84f3ed3322abf4799e4e103401" parents_sha="1c07c332a76eb90b653c5a09e558fd0a1ded853a"/> | ||
70 | <commits committer="//@projectMembers.0" parents="//@commits.18" created_at="2013-08-03T19:29:42.000-0400" sha="1c07c332a76eb90b653c5a09e558fd0a1ded853a" parents_sha="2335b065397316f33f731f32904561f0565df822"/> | ||
71 | <commits committer="//@projectMembers.0" parents="//@commits.19 //@commits.20" created_at="2013-07-18T10:43:04.000-0400" sha="2335b065397316f33f731f32904561f0565df822" parents_sha="dcc26065160056d933cdf76281cdad6b3b287b0a 2bf992bcc00fec604758228eb73303a33184b188"/> | ||
72 | <commits committer="//@projectMembers.1" parents="//@commits.21" created_at="2013-07-09T08:56:55.000-0400" sha="dcc26065160056d933cdf76281cdad6b3b287b0a" parents_sha="846c3196db3a62e342ec84ac67edb172d37a8527"/> | ||
73 | <commits committer="//@projectMembers.2" parents="//@commits.24" pullrequest="//@issue.18/@pullrequest" created_at="2013-07-07T20:53:18.000-0400" sha="2bf992bcc00fec604758228eb73303a33184b188" parents_sha="5b8c63daa5c13c42dc8d46c0df099289abc8f3a3"/> | ||
74 | <commits committer="//@projectMembers.1" parents="//@commits.22" created_at="2013-06-28T07:59:05.000-0400" sha="846c3196db3a62e342ec84ac67edb172d37a8527" parents_sha="dd7f5a22e9e653d44906f17a8d2c8fe48213cc12"/> | ||
75 | <commits committer="//@projectMembers.1" parents="//@commits.23" created_at="2013-06-28T07:42:26.000-0400" sha="dd7f5a22e9e653d44906f17a8d2c8fe48213cc12" parents_sha="19558d07c7961aaf357828601d0efef0cf4e308e"/> | ||
76 | <commits committer="//@projectMembers.1" parents="//@commits.26" created_at="2013-06-28T07:34:41.000-0400" sha="19558d07c7961aaf357828601d0efef0cf4e308e" parents_sha="c7b0726d521b12a314d59d8a3fa6fa48415793d1"/> | ||
77 | <commits committer="//@projectMembers.2" parents="//@commits.25" pullrequest="//@issue.20/@pullrequest" created_at="2013-06-26T11:32:27.000-0400" sha="5b8c63daa5c13c42dc8d46c0df099289abc8f3a3" parents_sha="8668d48ce79bce03e04acc58dbff9bf578247f52"/> | ||
78 | <commits committer="//@projectMembers.2" parents="//@commits.26" created_at="2013-06-16T00:12:20.000-0400" sha="8668d48ce79bce03e04acc58dbff9bf578247f52" parents_sha="c7b0726d521b12a314d59d8a3fa6fa48415793d1"/> | ||
79 | <commits committer="//@projectMembers.1" parents="//@commits.27" created_at="2013-06-15T04:30:10.000-0400" sha="c7b0726d521b12a314d59d8a3fa6fa48415793d1" parents_sha="f9ddb55396f9ff2b14a8f8e66f15e31dd45ba07a"/> | ||
80 | <commits committer="//@projectMembers.1" parents="//@commits.28" created_at="2013-06-14T11:54:17.000-0400" sha="f9ddb55396f9ff2b14a8f8e66f15e31dd45ba07a" parents_sha="30413422c03344dc3683c0cfdefda2ede0891dbc"/> | ||
81 | <commits committer="//@projectMembers.0" parents="//@commits.29" created_at="2013-05-21T06:27:09.000-0400" sha="30413422c03344dc3683c0cfdefda2ede0891dbc" parents_sha="19f65f97a3cbdb466548e8c39310ed565d51991d"/> | ||
82 | <commits committer="//@projectMembers.0" parents="//@commits.30" created_at="2013-05-21T06:21:13.000-0400" sha="19f65f97a3cbdb466548e8c39310ed565d51991d" parents_sha="bf725977ceb0530cb439822cc3ec507595d0673b"/> | ||
83 | <commits committer="//@projectMembers.0" parents="//@commits.31" created_at="2013-05-21T06:19:38.000-0400" sha="bf725977ceb0530cb439822cc3ec507595d0673b" parents_sha="7da36f0b8423d24ad0c0fd82bb9a296bcd2731d4"/> | ||
84 | <commits committer="//@projectMembers.1" parents="//@commits.32" created_at="2013-05-21T05:18:23.000-0400" sha="7da36f0b8423d24ad0c0fd82bb9a296bcd2731d4" parents_sha="9d9ec8a1a0de65698deed0b7ce1e36e74960e410"/> | ||
85 | <commits committer="//@projectMembers.1" parents="//@commits.33" created_at="2013-05-21T05:16:17.000-0400" sha="9d9ec8a1a0de65698deed0b7ce1e36e74960e410" parents_sha="167cd263f39437ac197d0d75336b0e24cb590efa"/> | ||
86 | <commits committer="//@projectMembers.1" parents="//@commits.34" created_at="2013-05-20T09:24:04.000-0400" sha="167cd263f39437ac197d0d75336b0e24cb590efa" parents_sha="0ccd822e51126740fad7c7f7191127b99de663b6"/> | ||
87 | <commits committer="//@projectMembers.1" parents="//@commits.35" created_at="2013-05-20T06:21:45.000-0400" sha="0ccd822e51126740fad7c7f7191127b99de663b6" parents_sha="19036c7a96b1f71bc697a2f1a6def218267a0242"/> | ||
88 | <commits committer="//@projectMembers.1" parents="//@commits.36" created_at="2013-05-17T07:32:23.000-0400" sha="19036c7a96b1f71bc697a2f1a6def218267a0242" parents_sha="1f22c21855b7b161521f242ff1115ae8d8ab9313"/> | ||
89 | <commits committer="//@projectMembers.1" parents="//@commits.37" created_at="2013-05-16T16:30:51.000-0400" sha="1f22c21855b7b161521f242ff1115ae8d8ab9313" parents_sha="dd0f1a68e52e54b3ee10f3f429278369dd0975e6"/> | ||
90 | <commits committer="//@projectMembers.1" parents="//@commits.38" created_at="2013-05-15T05:04:15.000-0400" sha="dd0f1a68e52e54b3ee10f3f429278369dd0975e6" parents_sha="c9f01eaff5abcdce46788e9ed105829b2a063b40"/> | ||
91 | <commits committer="//@projectMembers.1" parents="//@commits.39" created_at="2013-05-14T13:07:02.000-0400" sha="c9f01eaff5abcdce46788e9ed105829b2a063b40" parents_sha="52f479adb604f6e5a373260a3acbe374afc52f25"/> | ||
92 | <commits committer="//@projectMembers.1" parents="//@commits.40" created_at="2013-05-14T08:48:12.000-0400" sha="52f479adb604f6e5a373260a3acbe374afc52f25" parents_sha="5d9e6dc68ff8f7de070bdfa3f897b1554caf2166"/> | ||
93 | <commits committer="//@projectMembers.1" created_at="2013-05-14T08:26:22.000-0400" sha="5d9e6dc68ff8f7de070bdfa3f897b1554caf2166" parents_sha="46109bd2797b2e80758056728ab371ec4339b5b5 0873fda3c6bd19363319a1f5d248ad60d24316e6"/> | ||
94 | <commits committer="//@projectMembers.3" created_at="2015-03-06T11:19:17.000-0500" sha="d22ad4be7c6bdab5d442155fa5fe4d79a0a60856" parents_sha="0de3f78d04a04612ab0f128eff9b6657ccf6d1b1"/> | ||
95 | <commits committer="//@projectMembers.3" pullrequest="//@issue.12/@pullrequest" created_at="2015-03-18T16:21:13.000-0400" sha="33a9c426bd04eba72cc3be3921c583beff2261b9" parents_sha="d22ad4be7c6bdab5d442155fa5fe4d79a0a60856"/> | ||
96 | <commits committer="//@projectMembers.4" created_at="2014-06-19T14:54:24.000-0400" sha="d34d78848522df8a43509ec206f18e8300cfa9ee" parents_sha="80562e9d30ecce390bd58a2077841a708bd2095f"/> | ||
97 | <commits committer="//@projectMembers.4" created_at="2014-06-19T14:56:28.000-0400" sha="a6ebd5a7acfcea32f09ff6dee5b020cefa11ad22" parents_sha="d34d78848522df8a43509ec206f18e8300cfa9ee"/> | ||
98 | <commits committer="//@projectMembers.4" created_at="2014-06-19T14:56:31.000-0400" sha="b3eed2ef580ee66c47f41e10b4da0257115ae684" parents_sha="a6ebd5a7acfcea32f09ff6dee5b020cefa11ad22"/> | ||
99 | <commits committer="//@projectMembers.4" pullrequest="//@issue.15/@pullrequest" created_at="2014-06-19T14:56:31.000-0400" sha="781c5e3d674b2e987b7affb3d6f3c24a3c54675a" parents_sha="b3eed2ef580ee66c47f41e10b4da0257115ae684"/> | ||
100 | <commits committer="//@projectMembers.5" pullrequest="//@issue.16/@pullrequest" created_at="2014-05-11T00:43:45.000-0400" sha="80562e9d30ecce390bd58a2077841a708bd2095f" parents_sha="8311666daccb78568071a8d835c8d5798f0808de"/> | ||
101 | <commits committer="//@projectMembers.0" created_at="2014-03-15T20:56:49.000-0400" sha="01a536a72c1b062da11b9ebf0610b5a628008163" parents_sha="ed99912edfd9f6f9e908a5325d2ab07d6e65e869"/> | ||
102 | <commits committer="//@projectMembers.0" created_at="2014-03-15T21:00:03.000-0400" sha="210c0ec94da299867167c1b8eaf58bb8f2342140" parents_sha="01a536a72c1b062da11b9ebf0610b5a628008163"/> | ||
103 | <commits committer="//@projectMembers.0" created_at="2014-03-18T11:52:38.000-0400" sha="8b511989e21d5fdd6be893c7320719d8a99c4834" parents_sha="210c0ec94da299867167c1b8eaf58bb8f2342140"/> | ||
104 | <commits committer="//@projectMembers.6" pullrequest="//@issue.17/@pullrequest" created_at="2014-05-09T05:07:45.000-0400" sha="e4131b497ffabbb03d71ac577d75add5c00caa41" parents_sha="8b511989e21d5fdd6be893c7320719d8a99c4834"/> | ||
105 | </github:Project> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/na_rep/.DS_Store b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/na_rep/.DS_Store new file mode 100644 index 00000000..5008ddfc --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/na_rep/.DS_Store | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/na_rep/2samplemodel65.githubmodel b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/na_rep/2samplemodel65.githubmodel new file mode 100644 index 00000000..c78f0175 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/na_rep/2samplemodel65.githubmodel | |||
@@ -0,0 +1,38 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <github:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:github="sure.ghtorrent.github" creatd_at="2012-01-15T22:30:37.000-0500" updated_at="2013-05-10T16:37:30.000-0400" url="https://github.com/i8ramin/fb-menu"> | ||
3 | <issue created_at="2013-08-05T20:37:26.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/9"/> | ||
4 | <issue created_at="2012-10-24T03:46:19.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/5"> | ||
5 | <pullrequest url="https://api.github.com/repos/i8ramin/fb-menu/pulls/5"/> | ||
6 | <issueevent user="//@projectMembers.0" action="CLOSED" created_at="2012-10-24T10:12:29.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
7 | </issue> | ||
8 | <issue created_at="2012-10-23T14:15:11.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/4"> | ||
9 | <pullrequest url="https://api.github.com/repos/i8ramin/fb-menu/pulls/4"/> | ||
10 | <issueevent user="//@projectMembers.0" action="CLOSED" created_at="2012-10-23T15:02:06.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
11 | <issueevent user="//@projectMembers.0" action="MERGED" created_at="2012-10-23T15:02:06.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
12 | <issueevent user="//@projectMembers.0" action="REFERENCED" created_at="2012-10-23T15:02:06.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
13 | </issue> | ||
14 | <issue created_at="2012-10-19T20:17:40.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/3"> | ||
15 | <pullrequest url="https://api.github.com/repos/i8ramin/fb-menu/pulls/3"/> | ||
16 | <issueevent user="//@projectMembers.0" action="CLOSED" created_at="2012-10-23T13:55:51.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
17 | <issueevent user="//@projectMembers.0" action="MERGED" created_at="2012-10-23T13:55:51.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
18 | <issueevent user="//@projectMembers.0" action="REFERENCED" created_at="2012-10-23T13:55:51.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
19 | </issue> | ||
20 | <issue created_at="2012-10-08T18:07:12.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/2"> | ||
21 | <pullrequest commit="//@commits.9" url="https://api.github.com/repos/i8ramin/fb-menu/pulls/2"/> | ||
22 | <issueevent user="//@projectMembers.0" action="CLOSED" created_at="2012-10-09T16:31:04.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
23 | <issueevent user="//@projectMembers.0" action="MERGED" created_at="2012-10-09T16:31:04.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
24 | <issueevent user="//@projectMembers.0" action="REFERENCED" created_at="2012-10-09T16:31:04.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
25 | </issue> | ||
26 | <projectMembers url="https://api.github.com/users/i8ramin" name="i8ramin"/> | ||
27 | <projectMembers url="https://api.github.com/users/jpbellona" name="jpbellona"/> | ||
28 | <commits committer="//@projectMembers.0" parents="//@commits.1" created_at="2012-04-22T13:06:09.000-0400" sha="edac411699e093ae17bb8e252801d169cf63386b" parents_sha="0c5479209926ba6e76531191c5cb0c49f124c573"/> | ||
29 | <commits committer="//@projectMembers.0" parents="//@commits.2" created_at="2012-01-16T00:05:29.000-0500" sha="0c5479209926ba6e76531191c5cb0c49f124c573" parents_sha="501c513efa4c4b58229004c9804320af218bc9c6"/> | ||
30 | <commits committer="//@projectMembers.0" parents="//@commits.3" created_at="2012-01-15T23:47:46.000-0500" sha="501c513efa4c4b58229004c9804320af218bc9c6" parents_sha="bc83b9b4e0bcf2e1d4fcc7f9129bba2976c05d66"/> | ||
31 | <commits committer="//@projectMembers.0" parents="//@commits.4" created_at="2012-01-15T23:26:24.000-0500" sha="bc83b9b4e0bcf2e1d4fcc7f9129bba2976c05d66" parents_sha="294bc004162f404b49ea3e336b1e17c16354c85f"/> | ||
32 | <commits committer="//@projectMembers.0" parents="//@commits.5" created_at="2012-01-15T23:17:32.000-0500" sha="294bc004162f404b49ea3e336b1e17c16354c85f" parents_sha="8a3b5f6c8e052638e97e42fd2a1e49141fe8b862"/> | ||
33 | <commits committer="//@projectMembers.0" parents="//@commits.6" created_at="2012-01-15T23:08:00.000-0500" sha="8a3b5f6c8e052638e97e42fd2a1e49141fe8b862" parents_sha="a84b34c420016181971a2512c38afcc5215c2b5a"/> | ||
34 | <commits committer="//@projectMembers.0" parents="//@commits.7" created_at="2012-01-15T23:00:14.000-0500" sha="a84b34c420016181971a2512c38afcc5215c2b5a" parents_sha="32a6f8d140ac6db5ee37a89082804ef57cbb12bb"/> | ||
35 | <commits committer="//@projectMembers.0" parents="//@commits.8" created_at="2012-01-15T22:48:36.000-0500" sha="32a6f8d140ac6db5ee37a89082804ef57cbb12bb" parents_sha="74aefd366c55ae8de122e20794a00b8c49b584cb"/> | ||
36 | <commits committer="//@projectMembers.0" created_at="2012-01-15T22:31:19.000-0500" sha="74aefd366c55ae8de122e20794a00b8c49b584cb" parents_sha=""/> | ||
37 | <commits committer="//@projectMembers.1" pullrequest="//@issue.4/@pullrequest" created_at="2012-10-08T18:05:07.000-0400" sha="dfd5c4d9818c405cc262870515c6e5d8f71ba4a9" parents_sha="edac411699e093ae17bb8e252801d169cf63386b"/> | ||
38 | </github:Project> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/out_d_rep/.DS_Store b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/out_d_rep/.DS_Store new file mode 100644 index 00000000..5008ddfc --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/out_d_rep/.DS_Store | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/out_d_rep/samplemodel62.githubmodel b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/out_d_rep/samplemodel62.githubmodel new file mode 100644 index 00000000..c78f0175 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/data/Github/out_d_rep/samplemodel62.githubmodel | |||
@@ -0,0 +1,38 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <github:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:github="sure.ghtorrent.github" creatd_at="2012-01-15T22:30:37.000-0500" updated_at="2013-05-10T16:37:30.000-0400" url="https://github.com/i8ramin/fb-menu"> | ||
3 | <issue created_at="2013-08-05T20:37:26.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/9"/> | ||
4 | <issue created_at="2012-10-24T03:46:19.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/5"> | ||
5 | <pullrequest url="https://api.github.com/repos/i8ramin/fb-menu/pulls/5"/> | ||
6 | <issueevent user="//@projectMembers.0" action="CLOSED" created_at="2012-10-24T10:12:29.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
7 | </issue> | ||
8 | <issue created_at="2012-10-23T14:15:11.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/4"> | ||
9 | <pullrequest url="https://api.github.com/repos/i8ramin/fb-menu/pulls/4"/> | ||
10 | <issueevent user="//@projectMembers.0" action="CLOSED" created_at="2012-10-23T15:02:06.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
11 | <issueevent user="//@projectMembers.0" action="MERGED" created_at="2012-10-23T15:02:06.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
12 | <issueevent user="//@projectMembers.0" action="REFERENCED" created_at="2012-10-23T15:02:06.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
13 | </issue> | ||
14 | <issue created_at="2012-10-19T20:17:40.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/3"> | ||
15 | <pullrequest url="https://api.github.com/repos/i8ramin/fb-menu/pulls/3"/> | ||
16 | <issueevent user="//@projectMembers.0" action="CLOSED" created_at="2012-10-23T13:55:51.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
17 | <issueevent user="//@projectMembers.0" action="MERGED" created_at="2012-10-23T13:55:51.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
18 | <issueevent user="//@projectMembers.0" action="REFERENCED" created_at="2012-10-23T13:55:51.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
19 | </issue> | ||
20 | <issue created_at="2012-10-08T18:07:12.000-0400" url="https://api.github.com/repos/i8ramin/fb-menu/issues/2"> | ||
21 | <pullrequest commit="//@commits.9" url="https://api.github.com/repos/i8ramin/fb-menu/pulls/2"/> | ||
22 | <issueevent user="//@projectMembers.0" action="CLOSED" created_at="2012-10-09T16:31:04.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
23 | <issueevent user="//@projectMembers.0" action="MERGED" created_at="2012-10-09T16:31:04.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
24 | <issueevent user="//@projectMembers.0" action="REFERENCED" created_at="2012-10-09T16:31:04.000-0400" actor_url="https://api.github.com/users/i8ramin"/> | ||
25 | </issue> | ||
26 | <projectMembers url="https://api.github.com/users/i8ramin" name="i8ramin"/> | ||
27 | <projectMembers url="https://api.github.com/users/jpbellona" name="jpbellona"/> | ||
28 | <commits committer="//@projectMembers.0" parents="//@commits.1" created_at="2012-04-22T13:06:09.000-0400" sha="edac411699e093ae17bb8e252801d169cf63386b" parents_sha="0c5479209926ba6e76531191c5cb0c49f124c573"/> | ||
29 | <commits committer="//@projectMembers.0" parents="//@commits.2" created_at="2012-01-16T00:05:29.000-0500" sha="0c5479209926ba6e76531191c5cb0c49f124c573" parents_sha="501c513efa4c4b58229004c9804320af218bc9c6"/> | ||
30 | <commits committer="//@projectMembers.0" parents="//@commits.3" created_at="2012-01-15T23:47:46.000-0500" sha="501c513efa4c4b58229004c9804320af218bc9c6" parents_sha="bc83b9b4e0bcf2e1d4fcc7f9129bba2976c05d66"/> | ||
31 | <commits committer="//@projectMembers.0" parents="//@commits.4" created_at="2012-01-15T23:26:24.000-0500" sha="bc83b9b4e0bcf2e1d4fcc7f9129bba2976c05d66" parents_sha="294bc004162f404b49ea3e336b1e17c16354c85f"/> | ||
32 | <commits committer="//@projectMembers.0" parents="//@commits.5" created_at="2012-01-15T23:17:32.000-0500" sha="294bc004162f404b49ea3e336b1e17c16354c85f" parents_sha="8a3b5f6c8e052638e97e42fd2a1e49141fe8b862"/> | ||
33 | <commits committer="//@projectMembers.0" parents="//@commits.6" created_at="2012-01-15T23:08:00.000-0500" sha="8a3b5f6c8e052638e97e42fd2a1e49141fe8b862" parents_sha="a84b34c420016181971a2512c38afcc5215c2b5a"/> | ||
34 | <commits committer="//@projectMembers.0" parents="//@commits.7" created_at="2012-01-15T23:00:14.000-0500" sha="a84b34c420016181971a2512c38afcc5215c2b5a" parents_sha="32a6f8d140ac6db5ee37a89082804ef57cbb12bb"/> | ||
35 | <commits committer="//@projectMembers.0" parents="//@commits.8" created_at="2012-01-15T22:48:36.000-0500" sha="32a6f8d140ac6db5ee37a89082804ef57cbb12bb" parents_sha="74aefd366c55ae8de122e20794a00b8c49b584cb"/> | ||
36 | <commits committer="//@projectMembers.0" created_at="2012-01-15T22:31:19.000-0500" sha="74aefd366c55ae8de122e20794a00b8c49b584cb" parents_sha=""/> | ||
37 | <commits committer="//@projectMembers.1" pullrequest="//@issue.4/@pullrequest" created_at="2012-10-08T18:05:07.000-0400" sha="dfd5c4d9818c405cc262870515c6e5d8f71ba4a9" parents_sha="edac411699e093ae17bb8e252801d169cf63386b"/> | ||
38 | </github:Project> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt index fb05996a..27d00bd9 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt | |||
@@ -1,15 +1,13 @@ | |||
1 | Error occured (NullPointerException): | 1 | Error occured (DiagnosticWrappedException): java.io.FileNotFoundException: C:\Users\chenp\eclipse-workspace\VIATRA-Generator\Metrics\Metrics-Calculation\SocialNetwork_plugin\inputs\github.xmi (The system cannot find the file specified) |
2 | hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder.toTypeReference(LogicProblemBuilder.java:302) | 2 | org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319) |
3 | hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder.lambda$11(LogicProblemBuilder.java:313) | 3 | org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278) |
4 | org.eclipse.xtext.xbase.lib.ObjectExtensions.operator_doubleArrow(ObjectExtensions.java:139) | 4 | org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:265) |
5 | hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder.createVar(LogicProblemBuilder.java:315) | 5 | org.eclipse.xtext.resource.SynchronizedXtextResourceSet.getResource(SynchronizedXtextResourceSet.java:25) |
6 | hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic.transformBody(Viatra2Logic.java:335) | 6 | hu.bme.mit.inf.dslreasoner.application.execution.ModelLoader.loadModel(ModelLoader.java:41) |
7 | hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic.transformQuerySpecification(Viatra2Logic.java:237) | 7 | hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:174) |
8 | hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic.transformQueries(Viatra2Logic.java:149) | 8 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:137) |
9 | hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:196) | 9 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:346) |
10 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:129) | 10 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:115) |
11 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:338) | ||
12 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:110) | ||
13 | hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:149) | 11 | hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:149) |
14 | ca.mcgill.ecse.socialnetwork.runner.Main.runWithPath(Main.java:25) | 12 | ca.mcgill.ecse.socialnetwork.runner.Main.runWithPath(Main.java:25) |
15 | ca.mcgill.ecse.socialnetwork.runner.Main.main(Main.java:38) | 13 | ca.mcgill.ecse.socialnetwork.runner.Main.main(Main.java:38) |
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig b/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig index ff9155a4..e63095e1 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | import viatra "./queries/queries/Ecore.vql" | 1 | import viatra "./queries/queries/Ecore.vql" |
2 | import epackage "http://www.eclipse.org/emf/2002/Ecore" | 2 | import epackage "http://www.eclipse.org/emf/2002/Ecore" |
3 | 3 | ||
4 | // Copy this for different model sizes | ||
4 | generate { | 5 | generate { |
5 | metamodel = {package ecore excluding{EClassifier.instanceClass, EClassifier.defaultValue, | 6 | metamodel = {package ecore excluding{EClassifier.instanceClass, EClassifier.defaultValue, |
6 | EEnumLiteral.instance, EStructuralFeature.defaultValue, EStructuralFeature.changeable, | 7 | EEnumLiteral.instance, EStructuralFeature.defaultValue, EStructuralFeature.changeable, |
@@ -27,20 +28,23 @@ generate { | |||
27 | 28 | ||
28 | solver = ViatraSolver | 29 | solver = ViatraSolver |
29 | 30 | ||
31 | //median run time | ||
30 | scope = { | 32 | scope = { |
31 | #node = 100 | 33 | #node = 10 // (warm-up: 10) 30, 50, 80, 100, 120 .... |
32 | } | 34 | } |
33 | 35 | ||
34 | number = 1 | 36 | number = 1 |
35 | runs = 30 | 37 | runs = 5 |
36 | config = { | 38 | config = { |
37 | log-level = none, | 39 | log-level = none, |
38 | "optional-wf" = "true", | 40 | runtime = 300, // the runtime is in seconds, want to set is to 5 mins |
41 | "optional-wf" = "false", | ||
39 | "realistic-guidance" = "Composite", | 42 | "realistic-guidance" = "Composite", |
40 | "allow-must-violations" = "true", | 43 | "allow-must-violations" = "false", |
41 | "domain" = "Ecore" | 44 | "domain" = "Ecore" |
42 | } | 45 | } |
43 | 46 | ||
44 | debug = "debug" | 47 | debug = "debug" |
45 | output = "output/Ecore/" | 48 | statistics = "statistics/Ecore/warmup.csv" //give different set up different filenames |
46 | } \ No newline at end of file | 49 | output = "output/Ecore/run_time/" |
50 | } | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig b/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig new file mode 100644 index 00000000..1e1ee05a --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig | |||
@@ -0,0 +1,212 @@ | |||
1 | import epackage "../../../Domains/github-graph/model/github.ecore" | ||
2 | import viatra "../../../Domains/github-graph/queries/queries/github.vql" | ||
3 | |||
4 | generate { | ||
5 | metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, | ||
6 | Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, | ||
7 | IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} | ||
8 | partial-model = { "inputs/github.xmi"} | ||
9 | constraints = { package queries } | ||
10 | |||
11 | |||
12 | solver = ViatraSolver | ||
13 | |||
14 | scope = { | ||
15 | #node = 10 | ||
16 | } | ||
17 | |||
18 | number = 1 | ||
19 | runs = 5 | ||
20 | config = { | ||
21 | log-level = none, | ||
22 | runtime = 300, | ||
23 | "optional-wf" = "true", | ||
24 | "realistic-guidance" = "Composite", | ||
25 | "allow-must-violations" = "true", | ||
26 | "domain" = "Github" | ||
27 | } | ||
28 | |||
29 | debug = "debug" | ||
30 | statistics = "statistics/Github/warmup.csv" | ||
31 | output = "output/Github/Composite" | ||
32 | } | ||
33 | |||
34 | generate { | ||
35 | metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, | ||
36 | Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, | ||
37 | IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} | ||
38 | partial-model = { "inputs/github.xmi"} | ||
39 | constraints = { package queries } | ||
40 | |||
41 | |||
42 | solver = ViatraSolver | ||
43 | |||
44 | scope = { | ||
45 | #node = 30 | ||
46 | } | ||
47 | |||
48 | number = 1 | ||
49 | runs = 20 | ||
50 | config = { | ||
51 | log-level = none, | ||
52 | runtime = 300, | ||
53 | "optional-wf" = "true", | ||
54 | "realistic-guidance" = "Composite", | ||
55 | "allow-must-violations" = "true", | ||
56 | "domain" = "Github" | ||
57 | } | ||
58 | |||
59 | debug = "debug" | ||
60 | statistics = "statistics/Github/30.csv" | ||
61 | output = "output/Github/Composite" | ||
62 | } | ||
63 | |||
64 | generate { | ||
65 | metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, | ||
66 | Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, | ||
67 | IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} | ||
68 | partial-model = { "inputs/github.xmi"} | ||
69 | constraints = { package queries } | ||
70 | |||
71 | |||
72 | solver = ViatraSolver | ||
73 | |||
74 | scope = { | ||
75 | #node = 50 | ||
76 | } | ||
77 | |||
78 | number = 1 | ||
79 | runs = 20 | ||
80 | config = { | ||
81 | log-level = none, | ||
82 | runtime = 300, | ||
83 | "optional-wf" = "true", | ||
84 | "realistic-guidance" = "Composite", | ||
85 | "allow-must-violations" = "true", | ||
86 | "domain" = "Github" | ||
87 | } | ||
88 | |||
89 | debug = "debug" | ||
90 | statistics = "statistics/Github/50.csv" | ||
91 | output = "output/Github/Composite" | ||
92 | } | ||
93 | |||
94 | generate { | ||
95 | metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, | ||
96 | Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, | ||
97 | IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} | ||
98 | partial-model = { "inputs/github.xmi"} | ||
99 | constraints = { package queries } | ||
100 | |||
101 | |||
102 | solver = ViatraSolver | ||
103 | |||
104 | scope = { | ||
105 | #node = 80 | ||
106 | } | ||
107 | |||
108 | number = 1 | ||
109 | runs = 20 | ||
110 | config = { | ||
111 | log-level = none, | ||
112 | runtime = 300, | ||
113 | "optional-wf" = "true", | ||
114 | "realistic-guidance" = "Composite", | ||
115 | "allow-must-violations" = "true", | ||
116 | "domain" = "Github" | ||
117 | } | ||
118 | |||
119 | debug = "debug" | ||
120 | statistics = "statistics/Github/80.csv" | ||
121 | output = "output/Github/Composite" | ||
122 | } | ||
123 | |||
124 | generate { | ||
125 | metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, | ||
126 | Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, | ||
127 | IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} | ||
128 | partial-model = { "inputs/github.xmi"} | ||
129 | constraints = { package queries } | ||
130 | |||
131 | |||
132 | solver = ViatraSolver | ||
133 | |||
134 | scope = { | ||
135 | #node = 100 | ||
136 | } | ||
137 | |||
138 | number = 1 | ||
139 | runs = 20 | ||
140 | config = { | ||
141 | log-level = none, | ||
142 | runtime = 300, | ||
143 | "optional-wf" = "true", | ||
144 | "realistic-guidance" = "Composite", | ||
145 | "allow-must-violations" = "true", | ||
146 | "domain" = "Github" | ||
147 | } | ||
148 | |||
149 | debug = "debug" | ||
150 | statistics = "statistics/Github/100.csv" | ||
151 | output = "output/Github/Composite" | ||
152 | } | ||
153 | |||
154 | generate { | ||
155 | metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, | ||
156 | Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, | ||
157 | IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} | ||
158 | partial-model = { "inputs/github.xmi"} | ||
159 | constraints = { package queries } | ||
160 | |||
161 | |||
162 | solver = ViatraSolver | ||
163 | |||
164 | scope = { | ||
165 | #node = 120 | ||
166 | } | ||
167 | |||
168 | number = 1 | ||
169 | runs = 20 | ||
170 | config = { | ||
171 | log-level = none, | ||
172 | runtime = 300, | ||
173 | "optional-wf" = "true", | ||
174 | "realistic-guidance" = "Composite", | ||
175 | "allow-must-violations" = "true", | ||
176 | "domain" = "Github" | ||
177 | } | ||
178 | |||
179 | debug = "debug" | ||
180 | statistics = "statistics/Github/120.csv" | ||
181 | output = "output/Github/Composite" | ||
182 | } | ||
183 | |||
184 | generate { | ||
185 | metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, | ||
186 | Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, | ||
187 | IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} | ||
188 | partial-model = { "inputs/github.xmi"} | ||
189 | constraints = { package queries } | ||
190 | |||
191 | |||
192 | solver = ViatraSolver | ||
193 | |||
194 | scope = { | ||
195 | #node = 140 | ||
196 | } | ||
197 | |||
198 | number = 1 | ||
199 | runs = 20 | ||
200 | config = { | ||
201 | log-level = none, | ||
202 | runtime = 300, | ||
203 | "optional-wf" = "true", | ||
204 | "realistic-guidance" = "Composite", | ||
205 | "allow-must-violations" = "true", | ||
206 | "domain" = "Github" | ||
207 | } | ||
208 | |||
209 | debug = "debug" | ||
210 | statistics = "statistics/Github/140.csv" | ||
211 | output = "output/Github/Composite" | ||
212 | } \ No newline at end of file | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/.gitignore b/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/.gitignore deleted file mode 100644 index 17126b28..00000000 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/.gitignore +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | # ignore everything in this folder except for this folder it self | ||
2 | |||
3 | * | ||
4 | !.gitignore \ No newline at end of file | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/ecore.xmi b/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/ecore.xmi new file mode 100644 index 00000000..c5721309 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/ecore.xmi | |||
@@ -0,0 +1,5 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"> | ||
4 | |||
5 | </ecore:EPackage> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/github.xmi b/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/github.xmi new file mode 100644 index 00000000..ad497607 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/github.xmi | |||
@@ -0,0 +1,3 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <github:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:github="sure.ghtorrent.github"> | ||
3 | </github:Project> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/start.xmi b/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/start.xmi new file mode 100644 index 00000000..f9a2a185 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/start.xmi | |||
@@ -0,0 +1,2 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <hu.bme.mit.inf.yakindumm:Statechart xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hu.bme.mit.inf.yakindumm="hu.bme.mit.inf.yakindumm" xsi:schemaLocation="hu.bme.mit.inf.yakindumm ../VIATRA-Generator/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore"/> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/output.txt b/Metrics/Metrics-Calculation/SocialNetwork_plugin/output.txt deleted file mode 100644 index f027494d..00000000 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/output.txt +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | 1 | ||
2 | 3 | ||
3 | 1 | ||
4 | 3 | ||
5 | 3 | ||
6 | 5 | ||
7 | 3 | ||
8 | 1 | ||
9 | 2 | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/plugin.xml b/Metrics/Metrics-Calculation/SocialNetwork_plugin/plugin.xml index 269d4b7b..86211808 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/plugin.xml +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/plugin.xml | |||
@@ -4,6 +4,14 @@ | |||
4 | <!-- @generated socialnetwork --> | 4 | <!-- @generated socialnetwork --> |
5 | <package class="socialnetwork.SocialnetworkPackage" genModel="model/socialnetwork.genmodel" uri="http://ecse.mcgill.ca/socialnetwork"/> | 5 | <package class="socialnetwork.SocialnetworkPackage" genModel="model/socialnetwork.genmodel" uri="http://ecse.mcgill.ca/socialnetwork"/> |
6 | </extension> | 6 | </extension> |
7 | <extension id="ca.mcgill.ecse.socialnetwork.plugin.Queries" point="org.eclipse.viatra.query.runtime.queryspecification"> | ||
8 | <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:ca.mcgill.ecse.socialnetwork.plugin.Queries" id="ca.mcgill.ecse.socialnetwork.plugin.Queries"> | ||
9 | <query-specification fqn="ca.mcgill.ecse.socialnetwork.plugin.singleFriendship"/> | ||
10 | <query-specification fqn="ca.mcgill.ecse.socialnetwork.plugin.noFriend"/> | ||
11 | <query-specification fqn="ca.mcgill.ecse.socialnetwork.plugin.selfFriend"/> | ||
12 | <query-specification fqn="ca.mcgill.ecse.socialnetwork.plugin.friendship"/> | ||
13 | </group> | ||
14 | </extension> | ||
7 | <extension id="queries.Ecore" point="org.eclipse.viatra.query.runtime.queryspecification"> | 15 | <extension id="queries.Ecore" point="org.eclipse.viatra.query.runtime.queryspecification"> |
8 | <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:queries.Ecore" id="queries.Ecore"> | 16 | <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:queries.Ecore" id="queries.Ecore"> |
9 | <query-specification fqn="queries.directSupertype"/> | 17 | <query-specification fqn="queries.directSupertype"/> |
@@ -12,7 +20,6 @@ | |||
12 | <query-specification fqn="queries.oppositeDifferentClass"/> | 20 | <query-specification fqn="queries.oppositeDifferentClass"/> |
13 | <query-specification fqn="queries.nonSymmetricOpposite"/> | 21 | <query-specification fqn="queries.nonSymmetricOpposite"/> |
14 | <query-specification fqn="queries.superTypes"/> | 22 | <query-specification fqn="queries.superTypes"/> |
15 | <query-specification fqn="queries.moreThenFiveSuperTypes"/> | ||
16 | </group> | 23 | </group> |
17 | </extension> | 24 | </extension> |
18 | </plugin> | 25 | </plugin> |
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/Ecore.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/Ecore.java index ebafb74b..adfa5cf8 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/Ecore.java +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/Ecore.java | |||
@@ -7,7 +7,6 @@ import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | |||
7 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; | 7 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; |
8 | import queries.DirectSupertype; | 8 | import queries.DirectSupertype; |
9 | import queries.LoopInInheritence; | 9 | import queries.LoopInInheritence; |
10 | import queries.MoreThenFiveSuperTypes; | ||
11 | import queries.NonSymmetricOpposite; | 10 | import queries.NonSymmetricOpposite; |
12 | import queries.Opposite; | 11 | import queries.Opposite; |
13 | import queries.OppositeDifferentClass; | 12 | import queries.OppositeDifferentClass; |
@@ -27,7 +26,6 @@ import queries.SuperTypes; | |||
27 | * <li>oppositeDifferentClass</li> | 26 | * <li>oppositeDifferentClass</li> |
28 | * <li>nonSymmetricOpposite</li> | 27 | * <li>nonSymmetricOpposite</li> |
29 | * <li>superTypes</li> | 28 | * <li>superTypes</li> |
30 | * <li>moreThenFiveSuperTypes</li> | ||
31 | * </ul> | 29 | * </ul> |
32 | * | 30 | * |
33 | * @see IQueryGroup | 31 | * @see IQueryGroup |
@@ -58,7 +56,6 @@ public final class Ecore extends BaseGeneratedPatternGroup { | |||
58 | querySpecifications.add(OppositeDifferentClass.instance()); | 56 | querySpecifications.add(OppositeDifferentClass.instance()); |
59 | querySpecifications.add(NonSymmetricOpposite.instance()); | 57 | querySpecifications.add(NonSymmetricOpposite.instance()); |
60 | querySpecifications.add(SuperTypes.instance()); | 58 | querySpecifications.add(SuperTypes.instance()); |
61 | querySpecifications.add(MoreThenFiveSuperTypes.instance()); | ||
62 | } | 59 | } |
63 | 60 | ||
64 | public DirectSupertype getDirectSupertype() { | 61 | public DirectSupertype getDirectSupertype() { |
@@ -108,12 +105,4 @@ public final class Ecore extends BaseGeneratedPatternGroup { | |||
108 | public SuperTypes.Matcher getSuperTypes(final ViatraQueryEngine engine) { | 105 | public SuperTypes.Matcher getSuperTypes(final ViatraQueryEngine engine) { |
109 | return SuperTypes.Matcher.on(engine); | 106 | return SuperTypes.Matcher.on(engine); |
110 | } | 107 | } |
111 | |||
112 | public MoreThenFiveSuperTypes getMoreThenFiveSuperTypes() { | ||
113 | return MoreThenFiveSuperTypes.instance(); | ||
114 | } | ||
115 | |||
116 | public MoreThenFiveSuperTypes.Matcher getMoreThenFiveSuperTypes(final ViatraQueryEngine engine) { | ||
117 | return MoreThenFiveSuperTypes.Matcher.on(engine); | ||
118 | } | ||
119 | } | 108 | } |
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/MoreThenFiveSuperTypes.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/MoreThenFiveSuperTypes.java deleted file mode 100644 index 867ffd01..00000000 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/MoreThenFiveSuperTypes.java +++ /dev/null | |||
@@ -1,611 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/SocialNetwork_plugin/queries/queries/Ecore.vql | ||
3 | */ | ||
4 | package queries; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.Collection; | ||
8 | import java.util.LinkedHashSet; | ||
9 | import java.util.List; | ||
10 | import java.util.Objects; | ||
11 | import java.util.Optional; | ||
12 | import java.util.Set; | ||
13 | import java.util.function.Consumer; | ||
14 | import java.util.stream.Collectors; | ||
15 | import java.util.stream.Stream; | ||
16 | import org.apache.log4j.Logger; | ||
17 | import org.eclipse.emf.ecore.EClass; | ||
18 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
19 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
20 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
21 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
25 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
26 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
27 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
40 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
41 | import queries.SuperTypes; | ||
42 | |||
43 | /** | ||
44 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
45 | * | ||
46 | * <p>Original source: | ||
47 | * <code><pre> | ||
48 | * {@literal @}Constraint(severity="error", message="error", key = {c}) | ||
49 | * pattern moreThenFiveSuperTypes(c: EClass){ | ||
50 | * find superTypes(c1, s1); | ||
51 | * find superTypes(c1, s2); | ||
52 | * find superTypes(c1, s3); | ||
53 | * find superTypes(c1, s4); | ||
54 | * find superTypes(c1, s5); | ||
55 | * s1 != s2; | ||
56 | * s1 != s3; | ||
57 | * s1 != s4; | ||
58 | * s1 != s5; | ||
59 | * s2 != s3; | ||
60 | * s2 != s4; | ||
61 | * s2 != s5; | ||
62 | * s3 != s4; | ||
63 | * s3 != s5; | ||
64 | * s4 != s5; | ||
65 | * } | ||
66 | * </pre></code> | ||
67 | * | ||
68 | * @see Matcher | ||
69 | * @see Match | ||
70 | * | ||
71 | */ | ||
72 | @SuppressWarnings("all") | ||
73 | public final class MoreThenFiveSuperTypes extends BaseGeneratedEMFQuerySpecification<MoreThenFiveSuperTypes.Matcher> { | ||
74 | /** | ||
75 | * Pattern-specific match representation of the queries.moreThenFiveSuperTypes pattern, | ||
76 | * to be used in conjunction with {@link Matcher}. | ||
77 | * | ||
78 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
79 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
80 | * usable to represent a match of the pattern in the result of a query, | ||
81 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
82 | * | ||
83 | * @see Matcher | ||
84 | * | ||
85 | */ | ||
86 | public static abstract class Match extends BasePatternMatch { | ||
87 | private EClass fC; | ||
88 | |||
89 | private static List<String> parameterNames = makeImmutableList("c"); | ||
90 | |||
91 | private Match(final EClass pC) { | ||
92 | this.fC = pC; | ||
93 | } | ||
94 | |||
95 | @Override | ||
96 | public Object get(final String parameterName) { | ||
97 | if ("c".equals(parameterName)) return this.fC; | ||
98 | return null; | ||
99 | } | ||
100 | |||
101 | public EClass getC() { | ||
102 | return this.fC; | ||
103 | } | ||
104 | |||
105 | @Override | ||
106 | public boolean set(final String parameterName, final Object newValue) { | ||
107 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
108 | if ("c".equals(parameterName) ) { | ||
109 | this.fC = (EClass) newValue; | ||
110 | return true; | ||
111 | } | ||
112 | return false; | ||
113 | } | ||
114 | |||
115 | public void setC(final EClass pC) { | ||
116 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
117 | this.fC = pC; | ||
118 | } | ||
119 | |||
120 | @Override | ||
121 | public String patternName() { | ||
122 | return "queries.moreThenFiveSuperTypes"; | ||
123 | } | ||
124 | |||
125 | @Override | ||
126 | public List<String> parameterNames() { | ||
127 | return MoreThenFiveSuperTypes.Match.parameterNames; | ||
128 | } | ||
129 | |||
130 | @Override | ||
131 | public Object[] toArray() { | ||
132 | return new Object[]{fC}; | ||
133 | } | ||
134 | |||
135 | @Override | ||
136 | public MoreThenFiveSuperTypes.Match toImmutable() { | ||
137 | return isMutable() ? newMatch(fC) : this; | ||
138 | } | ||
139 | |||
140 | @Override | ||
141 | public String prettyPrint() { | ||
142 | StringBuilder result = new StringBuilder(); | ||
143 | result.append("\"c\"=" + prettyPrintValue(fC)); | ||
144 | return result.toString(); | ||
145 | } | ||
146 | |||
147 | @Override | ||
148 | public int hashCode() { | ||
149 | return Objects.hash(fC); | ||
150 | } | ||
151 | |||
152 | @Override | ||
153 | public boolean equals(final Object obj) { | ||
154 | if (this == obj) | ||
155 | return true; | ||
156 | if (obj == null) { | ||
157 | return false; | ||
158 | } | ||
159 | if ((obj instanceof MoreThenFiveSuperTypes.Match)) { | ||
160 | MoreThenFiveSuperTypes.Match other = (MoreThenFiveSuperTypes.Match) obj; | ||
161 | return Objects.equals(fC, other.fC); | ||
162 | } else { | ||
163 | // this should be infrequent | ||
164 | if (!(obj instanceof IPatternMatch)) { | ||
165 | return false; | ||
166 | } | ||
167 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
168 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
169 | } | ||
170 | } | ||
171 | |||
172 | @Override | ||
173 | public MoreThenFiveSuperTypes specification() { | ||
174 | return MoreThenFiveSuperTypes.instance(); | ||
175 | } | ||
176 | |||
177 | /** | ||
178 | * Returns an empty, mutable match. | ||
179 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
180 | * | ||
181 | * @return the empty match. | ||
182 | * | ||
183 | */ | ||
184 | public static MoreThenFiveSuperTypes.Match newEmptyMatch() { | ||
185 | return new Mutable(null); | ||
186 | } | ||
187 | |||
188 | /** | ||
189 | * Returns a mutable (partial) match. | ||
190 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
191 | * | ||
192 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
193 | * @return the new, mutable (partial) match object. | ||
194 | * | ||
195 | */ | ||
196 | public static MoreThenFiveSuperTypes.Match newMutableMatch(final EClass pC) { | ||
197 | return new Mutable(pC); | ||
198 | } | ||
199 | |||
200 | /** | ||
201 | * Returns a new (partial) match. | ||
202 | * This can be used e.g. to call the matcher with a partial match. | ||
203 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
204 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
205 | * @return the (partial) match object. | ||
206 | * | ||
207 | */ | ||
208 | public static MoreThenFiveSuperTypes.Match newMatch(final EClass pC) { | ||
209 | return new Immutable(pC); | ||
210 | } | ||
211 | |||
212 | private static final class Mutable extends MoreThenFiveSuperTypes.Match { | ||
213 | Mutable(final EClass pC) { | ||
214 | super(pC); | ||
215 | } | ||
216 | |||
217 | @Override | ||
218 | public boolean isMutable() { | ||
219 | return true; | ||
220 | } | ||
221 | } | ||
222 | |||
223 | private static final class Immutable extends MoreThenFiveSuperTypes.Match { | ||
224 | Immutable(final EClass pC) { | ||
225 | super(pC); | ||
226 | } | ||
227 | |||
228 | @Override | ||
229 | public boolean isMutable() { | ||
230 | return false; | ||
231 | } | ||
232 | } | ||
233 | } | ||
234 | |||
235 | /** | ||
236 | * Generated pattern matcher API of the queries.moreThenFiveSuperTypes pattern, | ||
237 | * providing pattern-specific query methods. | ||
238 | * | ||
239 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
240 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
241 | * | ||
242 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
243 | * | ||
244 | * <p>Original source: | ||
245 | * <code><pre> | ||
246 | * {@literal @}Constraint(severity="error", message="error", key = {c}) | ||
247 | * pattern moreThenFiveSuperTypes(c: EClass){ | ||
248 | * find superTypes(c1, s1); | ||
249 | * find superTypes(c1, s2); | ||
250 | * find superTypes(c1, s3); | ||
251 | * find superTypes(c1, s4); | ||
252 | * find superTypes(c1, s5); | ||
253 | * s1 != s2; | ||
254 | * s1 != s3; | ||
255 | * s1 != s4; | ||
256 | * s1 != s5; | ||
257 | * s2 != s3; | ||
258 | * s2 != s4; | ||
259 | * s2 != s5; | ||
260 | * s3 != s4; | ||
261 | * s3 != s5; | ||
262 | * s4 != s5; | ||
263 | * } | ||
264 | * </pre></code> | ||
265 | * | ||
266 | * @see Match | ||
267 | * @see MoreThenFiveSuperTypes | ||
268 | * | ||
269 | */ | ||
270 | public static class Matcher extends BaseMatcher<MoreThenFiveSuperTypes.Match> { | ||
271 | /** | ||
272 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
273 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
274 | * | ||
275 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
276 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
277 | * | ||
278 | */ | ||
279 | public static MoreThenFiveSuperTypes.Matcher on(final ViatraQueryEngine engine) { | ||
280 | // check if matcher already exists | ||
281 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
282 | if (matcher == null) { | ||
283 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
284 | } | ||
285 | return matcher; | ||
286 | } | ||
287 | |||
288 | /** | ||
289 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
290 | * @return an initialized matcher | ||
291 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
292 | * | ||
293 | */ | ||
294 | public static MoreThenFiveSuperTypes.Matcher create() { | ||
295 | return new Matcher(); | ||
296 | } | ||
297 | |||
298 | private static final int POSITION_C = 0; | ||
299 | |||
300 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(MoreThenFiveSuperTypes.Matcher.class); | ||
301 | |||
302 | /** | ||
303 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
304 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
305 | * | ||
306 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
307 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
308 | * | ||
309 | */ | ||
310 | private Matcher() { | ||
311 | super(querySpecification()); | ||
312 | } | ||
313 | |||
314 | /** | ||
315 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
316 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
317 | * @return matches represented as a Match object. | ||
318 | * | ||
319 | */ | ||
320 | public Collection<MoreThenFiveSuperTypes.Match> getAllMatches(final EClass pC) { | ||
321 | return rawStreamAllMatches(new Object[]{pC}).collect(Collectors.toSet()); | ||
322 | } | ||
323 | |||
324 | /** | ||
325 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
326 | * </p> | ||
327 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
328 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
329 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
330 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
331 | * @return a stream of matches represented as a Match object. | ||
332 | * | ||
333 | */ | ||
334 | public Stream<MoreThenFiveSuperTypes.Match> streamAllMatches(final EClass pC) { | ||
335 | return rawStreamAllMatches(new Object[]{pC}); | ||
336 | } | ||
337 | |||
338 | /** | ||
339 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
340 | * Neither determinism nor randomness of selection is guaranteed. | ||
341 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
342 | * @return a match represented as a Match object, or null if no match is found. | ||
343 | * | ||
344 | */ | ||
345 | public Optional<MoreThenFiveSuperTypes.Match> getOneArbitraryMatch(final EClass pC) { | ||
346 | return rawGetOneArbitraryMatch(new Object[]{pC}); | ||
347 | } | ||
348 | |||
349 | /** | ||
350 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
351 | * under any possible substitution of the unspecified parameters (if any). | ||
352 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
353 | * @return true if the input is a valid (partial) match of the pattern. | ||
354 | * | ||
355 | */ | ||
356 | public boolean hasMatch(final EClass pC) { | ||
357 | return rawHasMatch(new Object[]{pC}); | ||
358 | } | ||
359 | |||
360 | /** | ||
361 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
362 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
363 | * @return the number of pattern matches found. | ||
364 | * | ||
365 | */ | ||
366 | public int countMatches(final EClass pC) { | ||
367 | return rawCountMatches(new Object[]{pC}); | ||
368 | } | ||
369 | |||
370 | /** | ||
371 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
372 | * Neither determinism nor randomness of selection is guaranteed. | ||
373 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
374 | * @param processor the action that will process the selected match. | ||
375 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
376 | * | ||
377 | */ | ||
378 | public boolean forOneArbitraryMatch(final EClass pC, final Consumer<? super MoreThenFiveSuperTypes.Match> processor) { | ||
379 | return rawForOneArbitraryMatch(new Object[]{pC}, processor); | ||
380 | } | ||
381 | |||
382 | /** | ||
383 | * Returns a new (partial) match. | ||
384 | * This can be used e.g. to call the matcher with a partial match. | ||
385 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
386 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
387 | * @return the (partial) match object. | ||
388 | * | ||
389 | */ | ||
390 | public MoreThenFiveSuperTypes.Match newMatch(final EClass pC) { | ||
391 | return MoreThenFiveSuperTypes.Match.newMatch(pC); | ||
392 | } | ||
393 | |||
394 | /** | ||
395 | * Retrieve the set of values that occur in matches for c. | ||
396 | * @return the Set of all values or empty set if there are no matches | ||
397 | * | ||
398 | */ | ||
399 | protected Stream<EClass> rawStreamAllValuesOfc(final Object[] parameters) { | ||
400 | return rawStreamAllValues(POSITION_C, parameters).map(EClass.class::cast); | ||
401 | } | ||
402 | |||
403 | /** | ||
404 | * Retrieve the set of values that occur in matches for c. | ||
405 | * @return the Set of all values or empty set if there are no matches | ||
406 | * | ||
407 | */ | ||
408 | public Set<EClass> getAllValuesOfc() { | ||
409 | return rawStreamAllValuesOfc(emptyArray()).collect(Collectors.toSet()); | ||
410 | } | ||
411 | |||
412 | /** | ||
413 | * Retrieve the set of values that occur in matches for c. | ||
414 | * @return the Set of all values or empty set if there are no matches | ||
415 | * | ||
416 | */ | ||
417 | public Stream<EClass> streamAllValuesOfc() { | ||
418 | return rawStreamAllValuesOfc(emptyArray()); | ||
419 | } | ||
420 | |||
421 | @Override | ||
422 | protected MoreThenFiveSuperTypes.Match tupleToMatch(final Tuple t) { | ||
423 | try { | ||
424 | return MoreThenFiveSuperTypes.Match.newMatch((EClass) t.get(POSITION_C)); | ||
425 | } catch(ClassCastException e) { | ||
426 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
427 | return null; | ||
428 | } | ||
429 | } | ||
430 | |||
431 | @Override | ||
432 | protected MoreThenFiveSuperTypes.Match arrayToMatch(final Object[] match) { | ||
433 | try { | ||
434 | return MoreThenFiveSuperTypes.Match.newMatch((EClass) match[POSITION_C]); | ||
435 | } catch(ClassCastException e) { | ||
436 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
437 | return null; | ||
438 | } | ||
439 | } | ||
440 | |||
441 | @Override | ||
442 | protected MoreThenFiveSuperTypes.Match arrayToMatchMutable(final Object[] match) { | ||
443 | try { | ||
444 | return MoreThenFiveSuperTypes.Match.newMutableMatch((EClass) match[POSITION_C]); | ||
445 | } catch(ClassCastException e) { | ||
446 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
447 | return null; | ||
448 | } | ||
449 | } | ||
450 | |||
451 | /** | ||
452 | * @return the singleton instance of the query specification of this pattern | ||
453 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
454 | * | ||
455 | */ | ||
456 | public static IQuerySpecification<MoreThenFiveSuperTypes.Matcher> querySpecification() { | ||
457 | return MoreThenFiveSuperTypes.instance(); | ||
458 | } | ||
459 | } | ||
460 | |||
461 | private MoreThenFiveSuperTypes() { | ||
462 | super(GeneratedPQuery.INSTANCE); | ||
463 | } | ||
464 | |||
465 | /** | ||
466 | * @return the singleton instance of the query specification | ||
467 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
468 | * | ||
469 | */ | ||
470 | public static MoreThenFiveSuperTypes instance() { | ||
471 | try{ | ||
472 | return LazyHolder.INSTANCE; | ||
473 | } catch (ExceptionInInitializerError err) { | ||
474 | throw processInitializerError(err); | ||
475 | } | ||
476 | } | ||
477 | |||
478 | @Override | ||
479 | protected MoreThenFiveSuperTypes.Matcher instantiate(final ViatraQueryEngine engine) { | ||
480 | return MoreThenFiveSuperTypes.Matcher.on(engine); | ||
481 | } | ||
482 | |||
483 | @Override | ||
484 | public MoreThenFiveSuperTypes.Matcher instantiate() { | ||
485 | return MoreThenFiveSuperTypes.Matcher.create(); | ||
486 | } | ||
487 | |||
488 | @Override | ||
489 | public MoreThenFiveSuperTypes.Match newEmptyMatch() { | ||
490 | return MoreThenFiveSuperTypes.Match.newEmptyMatch(); | ||
491 | } | ||
492 | |||
493 | @Override | ||
494 | public MoreThenFiveSuperTypes.Match newMatch(final Object... parameters) { | ||
495 | return MoreThenFiveSuperTypes.Match.newMatch((org.eclipse.emf.ecore.EClass) parameters[0]); | ||
496 | } | ||
497 | |||
498 | /** | ||
499 | * Inner class allowing the singleton instance of {@link JvmGenericType: queries.MoreThenFiveSuperTypes (visibility: PUBLIC, simpleName: MoreThenFiveSuperTypes, identifier: queries.MoreThenFiveSuperTypes, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
500 | * <b>not</b> at the class load time of the outer class, | ||
501 | * but rather at the first call to {@link JvmGenericType: queries.MoreThenFiveSuperTypes (visibility: PUBLIC, simpleName: MoreThenFiveSuperTypes, identifier: queries.MoreThenFiveSuperTypes, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
502 | * | ||
503 | * <p> This workaround is required e.g. to support recursion. | ||
504 | * | ||
505 | */ | ||
506 | private static class LazyHolder { | ||
507 | private static final MoreThenFiveSuperTypes INSTANCE = new MoreThenFiveSuperTypes(); | ||
508 | |||
509 | /** | ||
510 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
511 | * This initialization order is required to support indirect recursion. | ||
512 | * | ||
513 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
514 | * | ||
515 | */ | ||
516 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
517 | |||
518 | public static Object ensureInitialized() { | ||
519 | INSTANCE.ensureInitializedInternal(); | ||
520 | return null; | ||
521 | } | ||
522 | } | ||
523 | |||
524 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
525 | private static final MoreThenFiveSuperTypes.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
526 | |||
527 | private final PParameter parameter_c = new PParameter("c", "org.eclipse.emf.ecore.EClass", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.eclipse.org/emf/2002/Ecore", "EClass")), PParameterDirection.INOUT); | ||
528 | |||
529 | private final List<PParameter> parameters = Arrays.asList(parameter_c); | ||
530 | |||
531 | private GeneratedPQuery() { | ||
532 | super(PVisibility.PUBLIC); | ||
533 | } | ||
534 | |||
535 | @Override | ||
536 | public String getFullyQualifiedName() { | ||
537 | return "queries.moreThenFiveSuperTypes"; | ||
538 | } | ||
539 | |||
540 | @Override | ||
541 | public List<String> getParameterNames() { | ||
542 | return Arrays.asList("c"); | ||
543 | } | ||
544 | |||
545 | @Override | ||
546 | public List<PParameter> getParameters() { | ||
547 | return parameters; | ||
548 | } | ||
549 | |||
550 | @Override | ||
551 | public Set<PBody> doGetContainedBodies() { | ||
552 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
553 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
554 | { | ||
555 | PBody body = new PBody(this); | ||
556 | PVariable var_c = body.getOrCreateVariableByName("c"); | ||
557 | PVariable var_c1 = body.getOrCreateVariableByName("c1"); | ||
558 | PVariable var_s1 = body.getOrCreateVariableByName("s1"); | ||
559 | PVariable var_s2 = body.getOrCreateVariableByName("s2"); | ||
560 | PVariable var_s3 = body.getOrCreateVariableByName("s3"); | ||
561 | PVariable var_s4 = body.getOrCreateVariableByName("s4"); | ||
562 | PVariable var_s5 = body.getOrCreateVariableByName("s5"); | ||
563 | new TypeConstraint(body, Tuples.flatTupleOf(var_c), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EClass"))); | ||
564 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
565 | new ExportedParameter(body, var_c, parameter_c) | ||
566 | )); | ||
567 | // find superTypes(c1, s1) | ||
568 | new PositivePatternCall(body, Tuples.flatTupleOf(var_c1, var_s1), SuperTypes.instance().getInternalQueryRepresentation()); | ||
569 | // find superTypes(c1, s2) | ||
570 | new PositivePatternCall(body, Tuples.flatTupleOf(var_c1, var_s2), SuperTypes.instance().getInternalQueryRepresentation()); | ||
571 | // find superTypes(c1, s3) | ||
572 | new PositivePatternCall(body, Tuples.flatTupleOf(var_c1, var_s3), SuperTypes.instance().getInternalQueryRepresentation()); | ||
573 | // find superTypes(c1, s4) | ||
574 | new PositivePatternCall(body, Tuples.flatTupleOf(var_c1, var_s4), SuperTypes.instance().getInternalQueryRepresentation()); | ||
575 | // find superTypes(c1, s5) | ||
576 | new PositivePatternCall(body, Tuples.flatTupleOf(var_c1, var_s5), SuperTypes.instance().getInternalQueryRepresentation()); | ||
577 | // s1 != s2 | ||
578 | new Inequality(body, var_s1, var_s2); | ||
579 | // s1 != s3 | ||
580 | new Inequality(body, var_s1, var_s3); | ||
581 | // s1 != s4 | ||
582 | new Inequality(body, var_s1, var_s4); | ||
583 | // s1 != s5 | ||
584 | new Inequality(body, var_s1, var_s5); | ||
585 | // s2 != s3 | ||
586 | new Inequality(body, var_s2, var_s3); | ||
587 | // s2 != s4 | ||
588 | new Inequality(body, var_s2, var_s4); | ||
589 | // s2 != s5 | ||
590 | new Inequality(body, var_s2, var_s5); | ||
591 | // s3 != s4 | ||
592 | new Inequality(body, var_s3, var_s4); | ||
593 | // s3 != s5 | ||
594 | new Inequality(body, var_s3, var_s5); | ||
595 | // s4 != s5 | ||
596 | new Inequality(body, var_s4, var_s5); | ||
597 | bodies.add(body); | ||
598 | } | ||
599 | { | ||
600 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
601 | annotation.addAttribute("severity", "error"); | ||
602 | annotation.addAttribute("message", "error"); | ||
603 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
604 | new ParameterReference("c") | ||
605 | })); | ||
606 | addAnnotation(annotation); | ||
607 | } | ||
608 | return bodies; | ||
609 | } | ||
610 | } | ||
611 | } | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/100.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/100.csv new file mode 100644 index 00000000..fd1af09c --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/100.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,_Solution0FoundAt | ||
2 | 5,1,InsuficientResourcesResultImpl,26,1815,305292,1000,16140,15,12210,260570,0,0, | ||
3 | 5,2,InsuficientResourcesResultImpl,26,1237,301846,700,14659,0,12249,259139,0,0, | ||
4 | 5,3,InsuficientResourcesResultImpl,26,1218,301687,600,15765,0,12876,256432,0,0, | ||
5 | 5,4,InsuficientResourcesResultImpl,26,1294,302248,800,18015,0,11131,255608,0,0, | ||
6 | 5,5,InsuficientResourcesResultImpl,26,1290,300894,900,14893,0,11118,259377,0,0, | ||
7 | 5,6,InsuficientResourcesResultImpl,26,1184,302351,900,16463,0,11499,258946,0,0, | ||
8 | 5,7,ModelResultImpl,26,1180,289935,35396400,17823,0,14375,240465,0,4,287519 | ||
9 | 5,8,InsuficientResourcesResultImpl,26,1298,304757,700,12762,0,10686,266461,0,0, | ||
10 | 5,9,ModelResultImpl,26,1166,287620,35860800,17055,0,15050,237850,0,1,285304 | ||
11 | 5,10,ModelResultImpl,26,1185,168322,32789700,15059,0,9955,132727,0,0,166044 | ||
12 | 5,11,InsuficientResourcesResultImpl,26,1176,302293,900,12773,0,10338,264930,0,0, | ||
13 | 5,12,InsuficientResourcesResultImpl,26,1200,300206,600,14139,0,11334,260462,0,0, | ||
14 | 5,13,InsuficientResourcesResultImpl,26,1199,305554,500,12939,0,11144,266919,0,0, | ||
15 | 5,14,InsuficientResourcesResultImpl,26,1193,300864,700,18895,0,14266,250111,0,0, | ||
16 | 5,15,InsuficientResourcesResultImpl,26,1197,303894,700,14501,0,12313,262474,0,0, | ||
17 | 5,16,InsuficientResourcesResultImpl,26,1171,303003,700,13178,0,11827,263585,0,0, | ||
18 | 5,17,InsuficientResourcesResultImpl,26,1169,305501,600,13479,0,11788,265540,0,0, | ||
19 | 5,18,InsuficientResourcesResultImpl,26,1175,301967,700,13531,0,11415,262420,0,0, | ||
20 | 5,19,InsuficientResourcesResultImpl,26,1274,300241,800,13254,0,11607,260895,0,0, | ||
21 | 5,20,ModelResultImpl,26,1166,269530,42362900,17007,0,13440,223316,0,1,267245 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/30.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/30.csv new file mode 100644 index 00000000..0022e984 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/30.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 2,1,ModelResultImpl,19,1721,35221,15771300,32311,7042,34,1895,16580,0,1 | ||
3 | 2,2,ModelResultImpl,19,1610,35749,11651300,32635,6745,1,1736,18895,0,1 | ||
4 | 2,3,ModelResultImpl,19,1640,27258,16117300,24303,6429,0,1323,12286,0,1 | ||
5 | 2,4,ModelResultImpl,19,1634,35933,20450700,33223,6381,0,1605,20611,0,2 | ||
6 | 2,5,ModelResultImpl,19,1612,23612,11651100,19721,6887,0,1099,8730,0,0 | ||
7 | 2,6,ModelResultImpl,19,1319,22727,9964000,20364,4974,0,1147,11737,0,0 | ||
8 | 2,7,ModelResultImpl,19,1278,22340,12342400,19967,4711,0,1078,11660,0,0 | ||
9 | 2,8,ModelResultImpl,19,1292,20551,10731500,18317,4260,0,1007,11070,0,0 | ||
10 | 2,9,ModelResultImpl,19,1378,18306,12922900,15874,4176,0,928,8796,0,1 | ||
11 | 2,10,ModelResultImpl,19,1330,25726,10084700,23254,6531,0,1345,10615,0,0 | ||
12 | 2,11,ModelResultImpl,19,1229,33084,12002300,30734,5309,0,1584,19392,0,0 | ||
13 | 2,12,ModelResultImpl,19,1240,24555,9818800,22179,5967,1,1405,10083,0,0 | ||
14 | 2,13,ModelResultImpl,19,1264,28275,11451700,25939,5692,0,1395,14547,0,0 | ||
15 | 2,14,ModelResultImpl,19,1276,36197,10007300,33900,5461,0,1659,22219,0,0 | ||
16 | 2,15,ModelResultImpl,19,1230,30436,9231400,28100,5354,0,1488,16718,0,0 | ||
17 | 2,16,ModelResultImpl,19,1217,22614,8885000,20287,6795,0,1371,7299,0,0 | ||
18 | 2,17,ModelResultImpl,19,1262,29600,12922400,27253,5298,0,1528,15895,0,0 | ||
19 | 2,18,ModelResultImpl,19,1243,28214,10765500,25879,5412,0,1292,15319,0,0 | ||
20 | 2,19,ModelResultImpl,19,1299,20845,11064400,18336,5327,0,1048,8903,0,0 | ||
21 | 2,20,ModelResultImpl,19,1280,26352,10670800,23901,6709,0,1454,11410,0,1 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/50.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/50.csv new file mode 100644 index 00000000..1ea0ccaf --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/50.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 3,1,ModelResultImpl,7,1300,78258,16468500,75732,13071,7,4896,46003,0,2 | ||
3 | 3,2,ModelResultImpl,7,1255,72729,15062600,70201,10011,0,4148,48760,0,0 | ||
4 | 3,3,ModelResultImpl,7,1284,85751,18952400,83381,10015,0,4783,59452,0,0 | ||
5 | 3,4,ModelResultImpl,7,1312,80702,18255000,78055,9873,0,3766,56886,0,1 | ||
6 | 3,5,ModelResultImpl,7,2192,111362,20902300,108184,12705,0,5062,79232,0,0 | ||
7 | 3,6,ModelResultImpl,7,1275,88255,20727400,85645,9667,0,3925,64755,0,0 | ||
8 | 3,7,ModelResultImpl,7,1228,95312,23184200,92818,9763,0,4466,69648,0,1 | ||
9 | 3,8,ModelResultImpl,7,1421,102160,16746000,99564,13923,0,5149,68705,0,1 | ||
10 | 3,9,ModelResultImpl,7,1542,74130,15142300,71709,10116,0,4021,50574,0,0 | ||
11 | 3,10,ModelResultImpl,7,1370,106586,18544500,103524,11809,0,4614,78092,0,1 | ||
12 | 3,11,ModelResultImpl,7,1977,81554,14689300,78988,9059,0,4109,58293,0,1 | ||
13 | 3,12,ModelResultImpl,7,1282,80592,17114200,77924,10654,0,4120,55221,0,0 | ||
14 | 3,13,ModelResultImpl,7,1470,50749,14006900,47249,7112,0,2464,34560,0,0 | ||
15 | 3,14,ModelResultImpl,7,1189,96780,16081900,94561,8346,0,4262,74850,0,0 | ||
16 | 3,15,ModelResultImpl,7,1187,104866,17029000,102503,8484,0,4673,81148,0,0 | ||
17 | 3,16,ModelResultImpl,7,1192,83407,19208900,81122,8548,0,4154,61175,0,1 | ||
18 | 3,17,ModelResultImpl,7,1291,84064,18326300,81220,10675,0,4308,57616,0,0 | ||
19 | 3,18,ModelResultImpl,7,1924,92524,20324400,89145,9764,0,4238,66918,0,1 | ||
20 | 3,19,ModelResultImpl,7,1284,85575,14840500,82932,10403,0,4104,60536,0,0 | ||
21 | 3,20,ModelResultImpl,7,1239,78254,21057200,75918,9173,0,3958,55242,0,0 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/80.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/80.csv new file mode 100644 index 00000000..034a2048 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/80.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 4,1,ModelResultImpl,10,1339,187225,43638100,184585,14565,8,8893,149868,0,0 | ||
3 | 4,2,ModelResultImpl,10,1336,258364,34407600,255655,14281,1,9835,217586,0,0 | ||
4 | 4,3,InsuficientResourcesResultImpl,10,1321,302464,3900,,14999,0,10218,258608,0,0 | ||
5 | 4,4,ModelResultImpl,10,1569,272300,28546600,269342,14187,0,9965,231046,0,0 | ||
6 | 4,5,ModelResultImpl,10,1315,244950,39639300,242286,14765,0,10575,202813,0,0 | ||
7 | 4,6,ModelResultImpl,10,1223,185629,34348900,183286,14074,0,9227,147910,0,0 | ||
8 | 4,7,ModelResultImpl,10,1271,243243,28619100,240866,16030,0,10594,199605,0,1 | ||
9 | 4,8,ModelResultImpl,10,1229,247712,31642900,244834,14393,0,9543,207278,0,0 | ||
10 | 4,9,ModelResultImpl,10,1284,209619,24479700,207199,18848,0,10225,164689,0,0 | ||
11 | 4,10,ModelResultImpl,10,1240,252740,36766100,250104,15959,0,10730,208822,0,1 | ||
12 | 4,11,ModelResultImpl,10,1315,192678,27966300,190097,15350,0,9230,152579,0,1 | ||
13 | 4,12,ModelResultImpl,10,1767,199644,24666200,195878,16171,0,9709,158015,0,1 | ||
14 | 4,13,ModelResultImpl,10,1411,209397,29226100,206486,17127,0,10334,164735,0,0 | ||
15 | 4,14,InsuficientResourcesResultImpl,10,1292,300133,800,,13558,0,10569,258303,0,0 | ||
16 | 4,15,ModelResultImpl,10,1188,277607,29611300,275175,13898,0,11204,234760,0,0 | ||
17 | 4,16,ModelResultImpl,10,1383,257815,41453700,255328,13012,0,10666,216491,0,1 | ||
18 | 4,17,ModelResultImpl,10,1335,217424,30586300,214754,15737,0,9889,176416,0,0 | ||
19 | 4,18,ModelResultImpl,10,1317,214706,28448000,211898,15332,0,9390,175241,0,1 | ||
20 | 4,19,ModelResultImpl,10,1429,235982,26350500,233087,15836,0,10258,192499,0,1 | ||
21 | 4,20,InsuficientResourcesResultImpl,10,1150,302957,1100,,16272,0,12639,253942,0,0 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv new file mode 100644 index 00000000..ad791735 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv | |||
@@ -0,0 +1,7 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 1,1,ModelResultImpl,1470,4786,7771,66116800,3921,1682,480,154,550,0,3 | ||
3 | 1,2,ModelResultImpl,1470,2113,8817,10699700,5927,1993,3,300,1326,0,1 | ||
4 | 1,3,ModelResultImpl,1470,1856,6810,12033700,3907,1602,1,111,692,0,1 | ||
5 | 1,4,ModelResultImpl,1470,2441,6387,8147100,3326,1412,2,100,427,0,1 | ||
6 | 1,5,ModelResultImpl,1470,1705,6328,8393300,2039,1123,0,56,190,0,1 | ||
7 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/30.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/30.csv new file mode 100644 index 00000000..d1ec723b --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/30.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 2,1,ModelResultImpl,5,753,17109,13399400,16654,1789,9,696,11984,0,0 | ||
3 | 2,2,ModelResultImpl,5,628,17801,12301800,17369,1678,0,715,12727,0,0 | ||
4 | 2,3,ModelResultImpl,5,610,15430,13989100,14970,1285,0,586,11377,0,0 | ||
5 | 2,4,ModelResultImpl,5,803,14781,11475500,14220,1483,0,640,10196,0,0 | ||
6 | 2,5,ModelResultImpl,5,581,22641,12669300,22193,1558,0,707,17778,0,0 | ||
7 | 2,6,ModelResultImpl,5,611,22649,11553300,22203,1508,0,660,17965,0,0 | ||
8 | 2,7,ModelResultImpl,5,548,12438,10128400,12033,1584,0,616,7995,0,0 | ||
9 | 2,8,ModelResultImpl,5,655,17624,10593200,17198,1404,0,619,13273,0,0 | ||
10 | 2,9,ModelResultImpl,5,596,16946,10102500,16528,1717,0,705,11847,0,0 | ||
11 | 2,10,ModelResultImpl,5,537,17896,10038000,17507,1414,0,626,13625,0,0 | ||
12 | 2,11,ModelResultImpl,5,535,13771,11741600,13353,1411,0,613,9547,0,0 | ||
13 | 2,12,ModelResultImpl,5,531,16728,11768600,16257,1448,0,635,12199,0,0 | ||
14 | 2,13,ModelResultImpl,5,549,14647,11546900,14254,1201,0,573,10920,0,0 | ||
15 | 2,14,ModelResultImpl,5,552,15942,10918300,15492,1502,0,610,11459,0,0 | ||
16 | 2,15,ModelResultImpl,5,563,15196,12483700,14773,1389,0,574,11130,0,0 | ||
17 | 2,16,ModelResultImpl,5,566,10267,10445100,9864,1364,0,523,6468,0,0 | ||
18 | 2,17,ModelResultImpl,5,600,15595,8099800,15147,1341,0,624,11381,0,0 | ||
19 | 2,18,ModelResultImpl,5,561,11172,9144100,10776,1167,0,487,7740,0,0 | ||
20 | 2,19,ModelResultImpl,5,548,14818,9372000,14441,1565,0,658,10261,0,0 | ||
21 | 2,20,ModelResultImpl,5,559,17497,9881500,17059,1532,0,651,12811,0,0 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/50.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/50.csv new file mode 100644 index 00000000..7ed016e0 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/50.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 4,1,ModelResultImpl,11,730,72467,34401400,71866,4026,10,1998,59824,0,0 | ||
3 | 4,2,ModelResultImpl,11,761,67853,11838400,67382,3819,0,1957,55882,0,0 | ||
4 | 4,3,ModelResultImpl,11,734,45541,10393700,45056,3529,0,1779,34849,0,0 | ||
5 | 4,4,ModelResultImpl,11,619,55697,17081600,55167,3617,0,1898,44356,0,0 | ||
6 | 4,5,ModelResultImpl,11,726,64846,29758900,64208,3905,0,2030,52466,0,0 | ||
7 | 4,6,ModelResultImpl,11,712,65893,13089200,65423,3972,0,2029,53618,0,0 | ||
8 | 4,7,ModelResultImpl,11,742,50982,16405400,50469,3638,0,1857,39804,0,0 | ||
9 | 4,8,ModelResultImpl,11,590,50309,15985400,49731,3572,0,1877,39187,0,0 | ||
10 | 4,9,ModelResultImpl,11,761,65533,23499900,65008,3890,0,2000,53225,0,0 | ||
11 | 4,10,ModelResultImpl,11,688,44853,23629200,44348,3255,0,1695,34758,0,0 | ||
12 | 4,11,ModelResultImpl,11,626,59167,38070600,58611,3942,0,1864,47290,0,0 | ||
13 | 4,12,ModelResultImpl,11,642,66860,18966400,66364,3732,0,1987,54960,0,0 | ||
14 | 4,13,ModelResultImpl,11,622,65317,12053900,64842,3176,0,1633,55177,0,1 | ||
15 | 4,14,ModelResultImpl,11,687,45481,79001300,44944,3485,0,1661,35036,0,0 | ||
16 | 4,15,ModelResultImpl,11,881,74988,14027700,74444,4150,0,2191,61881,0,0 | ||
17 | 4,16,ModelResultImpl,11,691,56609,11960900,56125,3776,0,1943,45015,0,0 | ||
18 | 4,17,ModelResultImpl,11,631,103459,26319900,102823,4720,0,2390,88314,0,1 | ||
19 | 4,18,ModelResultImpl,11,2263,61989,12371400,61101,3751,0,1902,50076,0,0 | ||
20 | 4,19,ModelResultImpl,11,575,75135,19514700,74621,4810,0,2552,60068,0,1 | ||
21 | 4,20,ModelResultImpl,11,1069,94884,21924000,94062,5623,0,3121,77010,0,1 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/80.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/80.csv new file mode 100644 index 00000000..257b7ddb --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/80.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,_Solution0FoundAt | ||
2 | 5,1,InsuficientResourcesResultImpl,8,1163,301236,6700,11611,7,8030,261757,0,0, | ||
3 | 5,2,ModelResultImpl,8,1125,214262,41193500,10675,0,7433,179009,0,1,213284 | ||
4 | 5,3,InsuficientResourcesResultImpl,8,1097,301100,1400,10110,0,6697,266325,0,0, | ||
5 | 5,4,ModelResultImpl,8,1202,243793,34411800,11329,0,7710,206562,0,0,242815 | ||
6 | 5,5,ModelResultImpl,8,1130,266540,38153400,12190,0,8455,225879,0,1,265458 | ||
7 | 5,6,ModelResultImpl,8,1136,244077,43614700,10925,0,7347,207698,0,0,243138 | ||
8 | 5,7,ModelResultImpl,8,1263,270364,44901700,10715,0,7520,233664,0,0,269383 | ||
9 | 5,8,ModelResultImpl,8,1062,228653,36320200,11042,0,7673,191829,0,0,227652 | ||
10 | 5,9,ModelResultImpl,8,1060,284484,38198200,12105,0,8129,244192,0,1,283520 | ||
11 | 5,10,ModelResultImpl,8,1087,245757,38745600,10898,0,7835,208781,0,0,244833 | ||
12 | 5,11,InsuficientResourcesResultImpl,8,1003,302539,1700,9666,0,6798,267961,0,0, | ||
13 | 5,12,ModelResultImpl,8,657,143583,35565200,6948,0,4448,120639,0,0,142951 | ||
14 | 5,13,ModelResultImpl,8,1061,292041,44607000,12010,0,8656,250579,0,1,291061 | ||
15 | 5,14,ModelResultImpl,8,1034,255307,37454100,11242,0,7789,217397,0,0,254393 | ||
16 | 5,15,InsuficientResourcesResultImpl,8,1194,300839,1500,9997,0,7300,265245,0,0, | ||
17 | 5,16,ModelResultImpl,8,1070,274358,38762800,11730,0,7864,235472,0,1,273383 | ||
18 | 5,17,ModelResultImpl,8,1099,259378,84148300,11340,0,7784,221204,0,0,258553 | ||
19 | 5,18,ModelResultImpl,8,1084,255262,38991800,11989,0,7795,215829,0,1,254328 | ||
20 | 5,19,ModelResultImpl,8,1111,293515,47026100,12037,0,8609,252172,0,1,292504 | ||
21 | 5,20,ModelResultImpl,8,1106,278558,32886300,12080,0,8000,237985,0,1,277745 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/warmup.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/warmup.csv new file mode 100644 index 00000000..989c2411 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/warmup.csv | |||
@@ -0,0 +1,7 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 1,1,ModelResultImpl,1483,2558,3108,60043900,1609,456,424,87,272,0,1 | ||
3 | 1,2,ModelResultImpl,1483,1126,1487,9020100,931,292,1,60,256,0,1 | ||
4 | 1,3,ModelResultImpl,1483,927,1424,9739900,827,263,0,51,217,0,0 | ||
5 | 1,4,ModelResultImpl,1483,886,1069,8613600,495,208,1,25,97,0,0 | ||
6 | 1,5,ModelResultImpl,1483,768,1268,9369800,856,262,0,35,223,0,0 | ||
7 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/100.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/100.csv new file mode 100644 index 00000000..a2628ad1 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/100.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 5,1,ModelResultImpl,12,865,91787,64960700,91078,17340,6,2469,61497,0,3 | ||
3 | 5,2,ModelResultImpl,12,956,118267,65616400,117553,16353,0,2810,85627,0,1 | ||
4 | 5,3,ModelResultImpl,12,900,116093,69616600,115364,17281,0,2800,82376,0,0 | ||
5 | 5,4,ModelResultImpl,12,907,96027,78796000,95287,19233,0,2643,63089,0,0 | ||
6 | 5,5,ModelResultImpl,12,961,133615,61595600,132840,17098,0,2970,99041,0,0 | ||
7 | 5,6,ModelResultImpl,12,917,120673,61159000,119930,18320,0,2889,85737,0,0 | ||
8 | 5,7,ModelResultImpl,12,941,101988,69310400,101183,18258,0,2694,69616,0,0 | ||
9 | 5,8,ModelResultImpl,12,910,117121,58731900,116373,16751,0,2954,83990,0,1 | ||
10 | 5,9,ModelResultImpl,12,939,98738,60204200,97988,15671,0,2643,69051,0,0 | ||
11 | 5,10,ModelResultImpl,12,907,109216,62901700,108450,18563,0,2855,74361,0,0 | ||
12 | 5,11,ModelResultImpl,12,989,101313,70288400,100570,19059,0,2653,68951,0,0 | ||
13 | 5,12,ModelResultImpl,12,847,110986,71960700,110229,20031,0,2484,77376,0,0 | ||
14 | 5,13,ModelResultImpl,12,924,99847,65101400,99083,18276,0,2732,67006,0,0 | ||
15 | 5,14,ModelResultImpl,12,908,113484,61073000,112675,20588,0,2760,77595,0,0 | ||
16 | 5,15,ModelResultImpl,12,859,107243,118083900,106494,16814,0,2826,74774,0,0 | ||
17 | 5,16,ModelResultImpl,12,896,101005,60113300,100198,16591,0,2670,70482,0,0 | ||
18 | 5,17,ModelResultImpl,12,909,150888,90178000,150032,18804,0,3644,112370,0,2 | ||
19 | 5,18,ModelResultImpl,12,1988,224882,111051700,223272,35288,0,5245,160716,0,2 | ||
20 | 5,19,ModelResultImpl,12,1710,180301,103042800,178853,31026,0,4421,125609,0,1 | ||
21 | 5,20,ModelResultImpl,12,2294,236789,120962500,234776,34043,0,4964,172403,0,1 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/120.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/120.csv new file mode 100644 index 00000000..03ee084b --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/120.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 2,1,ModelResultImpl,11,1049,149253,202983100,148329,21687,8,3820,108113,0,4 | ||
3 | 2,2,ModelResultImpl,11,1131,173214,111640800,172206,24930,0,3926,128120,0,1 | ||
4 | 2,3,ModelResultImpl,11,1027,157782,120804000,157006,19292,0,3948,119012,0,1 | ||
5 | 2,4,ModelResultImpl,11,1063,169577,126195200,168692,22819,0,4027,126643,0,1 | ||
6 | 2,5,ModelResultImpl,11,984,164004,93016300,163235,23449,0,3830,121474,0,1 | ||
7 | 2,6,ModelResultImpl,11,1005,146874,94077300,146111,20382,0,3734,108542,0,1 | ||
8 | 2,7,ModelResultImpl,11,904,148997,92734800,148172,19769,0,3763,111141,0,1 | ||
9 | 2,8,ModelResultImpl,11,911,145947,99103000,145197,21375,0,3757,106317,0,1 | ||
10 | 2,9,ModelResultImpl,11,911,154022,91420700,153225,21687,0,3781,113566,0,1 | ||
11 | 2,10,ModelResultImpl,11,994,144253,105623000,143479,19514,0,3736,106547,0,1 | ||
12 | 2,11,ModelResultImpl,11,943,146057,85565700,145235,20168,0,3830,107696,0,1 | ||
13 | 2,12,ModelResultImpl,11,933,153728,93877000,152956,18549,0,4136,115265,0,0 | ||
14 | 2,13,ModelResultImpl,11,989,135785,101796800,135043,19930,0,3590,98576,0,1 | ||
15 | 2,14,ModelResultImpl,11,942,158905,115031700,158150,21663,0,3796,118239,0,0 | ||
16 | 2,15,ModelResultImpl,11,897,138727,116266900,137918,19116,1,3652,102641,0,0 | ||
17 | 2,16,ModelResultImpl,11,851,145221,95232500,144453,18026,0,3913,108945,0,0 | ||
18 | 2,17,ModelResultImpl,11,928,154148,88476300,153396,21053,0,3827,113763,0,0 | ||
19 | 2,18,ModelResultImpl,11,859,166408,95546600,165666,22619,0,3922,123707,0,1 | ||
20 | 2,19,ModelResultImpl,11,909,136564,91353600,135766,17841,0,3665,101835,0,0 | ||
21 | 2,20,ModelResultImpl,11,873,147664,91153300,146866,17705,0,3874,111410,0,0 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/140.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/140.csv new file mode 100644 index 00000000..2ea01c80 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/140.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 2,1,ModelResultImpl,28,1125,232547,238441100,231464,32513,30,5381,174058,0,3 | ||
3 | 2,2,ModelResultImpl,28,932,262316,161173500,261382,26096,0,5936,207379,0,1 | ||
4 | 2,3,ModelResultImpl,28,1227,292535,143575400,291587,32776,0,5863,228470,0,1 | ||
5 | 2,4,ModelResultImpl,28,1048,291142,138985400,290250,31729,1,6141,227996,0,1 | ||
6 | 2,5,ModelResultImpl,28,962,226481,144946000,225670,28211,0,5305,172447,0,1 | ||
7 | 2,6,ModelResultImpl,28,913,236598,135164100,235765,24945,0,5586,184729,0,1 | ||
8 | 2,7,ModelResultImpl,28,885,234174,143088000,233346,27412,0,5184,182189,0,1 | ||
9 | 2,8,ModelResultImpl,28,879,205042,135824000,204263,25417,0,4926,157017,0,1 | ||
10 | 2,9,ModelResultImpl,28,975,237992,154320900,237160,26181,0,5287,185721,0,0 | ||
11 | 2,10,ModelResultImpl,28,908,213258,140980300,212461,28371,0,5041,161035,0,1 | ||
12 | 2,11,ModelResultImpl,28,868,220191,146847500,219407,29612,0,4923,167193,0,1 | ||
13 | 2,12,ModelResultImpl,28,986,217681,137838200,216908,27339,0,4956,166377,0,1 | ||
14 | 2,13,ModelResultImpl,28,930,228167,126599800,227404,30279,0,5075,174085,0,0 | ||
15 | 2,14,ModelResultImpl,28,878,246742,128511700,245938,21629,0,5670,199512,0,0 | ||
16 | 2,15,ModelResultImpl,28,903,212514,141892400,211665,31163,0,4913,158072,0,0 | ||
17 | 2,16,ModelResultImpl,28,928,233910,127925600,233102,23749,0,5410,184087,0,0 | ||
18 | 2,17,ModelResultImpl,28,901,248732,134197200,247867,25543,0,5436,198007,0,1 | ||
19 | 2,18,ModelResultImpl,28,926,277407,128580900,276418,27387,0,5841,220797,0,1 | ||
20 | 2,19,ModelResultImpl,28,1090,272687,171318300,271352,29653,0,5675,212248,0,1 | ||
21 | 2,20,ModelResultImpl,28,971,259569,148475200,258629,28250,0,5574,204259,0,2 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/30.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/30.csv new file mode 100644 index 00000000..ec0afb94 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/30.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 2,1,ModelResultImpl,37,1267,42409,28515700,41220,5066,11,614,29095,0,1 | ||
3 | 2,2,ModelResultImpl,37,1919,14164,22580700,12518,3986,2,344,5463,0,2 | ||
4 | 2,3,ModelResultImpl,37,1916,41597,31164300,40290,5050,1,614,28209,0,1 | ||
5 | 2,4,ModelResultImpl,37,2023,41518,20216100,40199,5825,0,549,27332,0,1 | ||
6 | 2,5,ModelResultImpl,37,2052,21630,32282400,20128,4713,0,456,10817,0,1 | ||
7 | 2,6,ModelResultImpl,37,2070,40984,24514000,39602,5997,0,528,26649,0,2 | ||
8 | 2,7,ModelResultImpl,37,2249,40677,22780300,39309,4977,0,600,27410,0,1 | ||
9 | 2,8,ModelResultImpl,37,1887,34102,17897400,32571,5103,0,524,21184,0,1 | ||
10 | 2,9,ModelResultImpl,37,1826,11685,12854100,10430,3316,0,298,4382,0,1 | ||
11 | 2,10,ModelResultImpl,37,1795,20933,19823700,19703,4431,0,435,10642,0,1 | ||
12 | 2,11,ModelResultImpl,37,1849,33111,18648500,31757,5743,0,375,20404,0,1 | ||
13 | 2,12,ModelResultImpl,37,1829,36099,18177300,34869,5689,0,525,22643,0,1 | ||
14 | 2,13,ModelResultImpl,37,1875,36431,20140100,35116,5371,0,500,23462,0,1 | ||
15 | 2,14,ModelResultImpl,37,1796,32322,24371800,31185,4939,0,493,20307,0,1 | ||
16 | 2,15,ModelResultImpl,37,1961,43764,24819800,42470,6248,0,593,27586,0,1 | ||
17 | 2,16,ModelResultImpl,37,1737,16231,16437300,14995,3805,0,388,7679,0,0 | ||
18 | 2,17,ModelResultImpl,37,1685,14223,36835700,12964,3783,0,338,6108,0,1 | ||
19 | 2,18,ModelResultImpl,37,1910,30550,21296200,29359,4813,0,517,18691,0,1 | ||
20 | 2,19,ModelResultImpl,37,1622,30723,17831800,29572,5299,0,560,18198,0,1 | ||
21 | 2,20,ModelResultImpl,37,1915,15410,15827800,14223,3856,0,353,7093,0,1 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/50.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/50.csv new file mode 100644 index 00000000..80122e3d --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/50.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 3,1,ModelResultImpl,16,1695,34619,47365200,33379,7951,23,1005,19203,0,0 | ||
3 | 3,2,ModelResultImpl,16,1952,66272,40194500,65033,10142,0,1381,45195,0,1 | ||
4 | 3,3,ModelResultImpl,16,1882,50684,57411900,49392,9412,0,1181,31167,0,2 | ||
5 | 3,4,ModelResultImpl,16,1835,52174,29585500,50841,9443,0,1265,32497,0,1 | ||
6 | 3,5,ModelResultImpl,16,1817,37087,24158900,35809,8374,0,1106,20620,0,1 | ||
7 | 3,6,ModelResultImpl,16,1822,96082,35393500,94837,10814,0,1314,71854,0,1 | ||
8 | 3,7,ModelResultImpl,16,1845,65727,37723300,64268,10857,0,1392,42620,0,1 | ||
9 | 3,8,ModelResultImpl,16,1715,36063,56419600,34810,8195,0,1065,19928,0,2 | ||
10 | 3,9,ModelResultImpl,16,1814,53418,68855200,52040,9364,0,1248,33127,0,1 | ||
11 | 3,10,ModelResultImpl,16,1688,146193,34004300,144953,23393,0,2677,96521,0,2 | ||
12 | 3,11,ModelResultImpl,16,1887,56839,38787000,55478,11029,0,1309,34905,0,1 | ||
13 | 3,12,ModelResultImpl,16,1852,43970,32684100,42779,10114,0,1121,25234,0,1 | ||
14 | 3,13,ModelResultImpl,16,1766,68078,29662000,66581,12700,0,1445,42619,0,1 | ||
15 | 3,14,ModelResultImpl,16,2033,137006,39601900,135475,10041,0,1736,110352,0,1 | ||
16 | 3,15,ModelResultImpl,16,1792,36929,30425200,35576,8499,0,1112,19855,0,1 | ||
17 | 3,16,ModelResultImpl,16,1861,79893,19417500,78581,10278,0,1253,56995,0,0 | ||
18 | 3,17,ModelResultImpl,16,1651,34149,32888300,33294,8334,0,1016,18514,0,1 | ||
19 | 3,18,ModelResultImpl,16,1799,51965,35639300,50624,11417,0,1355,29874,0,0 | ||
20 | 3,19,ModelResultImpl,16,2032,46469,44756500,45006,10308,0,1323,25809,0,1 | ||
21 | 3,20,ModelResultImpl,16,1839,75448,32863500,74051,11465,0,1499,50558,0,1 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/80.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/80.csv new file mode 100644 index 00000000..ae7f7ca1 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/80.csv | |||
@@ -0,0 +1,22 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 4,1,ModelResultImpl,20,2105,122193,47975800,120819,22172,21,3111,81933,0,0 | ||
3 | 4,2,ModelResultImpl,20,948,71430,38366700,70718,10799,0,1803,49089,0,0 | ||
4 | 4,3,ModelResultImpl,20,907,71011,42371700,70320,12614,0,1751,47228,0,0 | ||
5 | 4,4,ModelResultImpl,20,888,57574,43253600,56870,10097,0,1721,37819,0,0 | ||
6 | 4,5,ModelResultImpl,20,918,50961,39099900,50235,9718,0,1667,31881,0,0 | ||
7 | 4,6,ModelResultImpl,20,929,54262,48948700,53554,10095,0,1701,35294,0,0 | ||
8 | 4,7,ModelResultImpl,20,914,69271,42306400,68596,12610,0,1788,45775,0,0 | ||
9 | 4,8,ModelResultImpl,20,887,58304,42858800,57604,10861,0,1641,37653,0,0 | ||
10 | 4,9,ModelResultImpl,20,923,61436,40388600,60755,11478,0,1812,38983,0,0 | ||
11 | 4,10,ModelResultImpl,20,950,51010,44099800,50294,11361,0,1496,30951,0,1 | ||
12 | 4,11,ModelResultImpl,20,879,56153,40079800,55455,11776,0,1587,35227,0,0 | ||
13 | 4,12,ModelResultImpl,20,939,55164,41385200,54450,9786,0,1675,35778,0,0 | ||
14 | 4,13,ModelResultImpl,20,947,59424,49539400,58684,10955,0,1776,38126,0,0 | ||
15 | 4,14,ModelResultImpl,20,973,61843,36537600,61086,10883,0,1685,40830,0,0 | ||
16 | 4,15,ModelResultImpl,20,867,54362,38663100,53666,10015,0,1611,35234,0,0 | ||
17 | 4,16,ModelResultImpl,20,915,108777,49507000,108033,20987,0,2938,71959,0,1 | ||
18 | 4,17,ModelResultImpl,20,922,55218,41448600,54548,9665,0,1657,36387,0,0 | ||
19 | 4,18,ModelResultImpl,20,921,57210,60622400,56526,10429,0,1747,36425,0,0 | ||
20 | 4,19,ModelResultImpl,20,911,70900,47211300,70230,11669,0,1714,48547,0,0 | ||
21 | 4,20,ModelResultImpl,20,887,74363,36468500,73658,12552,0,1800,50208,0,0 | ||
22 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv new file mode 100644 index 00000000..94da3ec9 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv | |||
@@ -0,0 +1,7 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | ||
2 | 1,1,ModelResultImpl,494,2798,2766,45079800,1362,547,125,46,190,0,3 | ||
3 | 1,2,ModelResultImpl,494,1544,1988,11110900,1033,357,0,30,249,0,1 | ||
4 | 1,3,ModelResultImpl,494,1366,1867,7926900,1060,364,2,24,258,0,1 | ||
5 | 1,4,ModelResultImpl,494,1233,1588,8919800,863,312,0,19,146,0,1 | ||
6 | 1,5,ModelResultImpl,494,1253,1434,7416800,681,268,1,17,133,0,0 | ||
7 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/file.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/file.csv new file mode 100644 index 00000000..c3c77053 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/file.csv | |||
@@ -0,0 +1,4 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,_Solution0FoundAt | ||
2 | 1,1,InsuficientResourcesResultImpl,453,3378,5255,7500,1236,131,79,245,0,0, | ||
3 | 1,2,ModelResultImpl,453,1965,4628,31696400,1014,3,58,307,0,1,1957 | ||
4 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig b/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig index 04351a6e..721d506a 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig | |||
@@ -9,11 +9,11 @@ generate { | |||
9 | solver = ViatraSolver | 9 | solver = ViatraSolver |
10 | 10 | ||
11 | scope = { | 11 | scope = { |
12 | #node = 30 | 12 | #node = 10 |
13 | } | 13 | } |
14 | 14 | ||
15 | number = 1 | 15 | number = 1 |
16 | runs = 100 | 16 | runs = 5 |
17 | config = { | 17 | config = { |
18 | log-level = none, | 18 | log-level = none, |
19 | "optional-wf" = "false", | 19 | "optional-wf" = "false", |
@@ -22,6 +22,85 @@ generate { | |||
22 | "domain" = "Yakindumm" | 22 | "domain" = "Yakindumm" |
23 | } | 23 | } |
24 | 24 | ||
25 | statistics = "statistics/Yakindu/warmup.csv" //give different set up different filenames | ||
25 | debug = "debug" | 26 | debug = "debug" |
26 | output = "output/real_30+v/" | 27 | output = "output/Yakindu/run_time/" |
28 | } | ||
29 | |||
30 | generate { | ||
31 | metamodel = { package yakindumm excluding { Synchronization}} | ||
32 | constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu } | ||
33 | partial-model = { "inputs/start.xmi"} | ||
34 | |||
35 | solver = ViatraSolver | ||
36 | |||
37 | scope = { | ||
38 | #node = 140 | ||
39 | } | ||
40 | |||
41 | number = 1 | ||
42 | runs = 20 | ||
43 | config = { | ||
44 | log-level = none, | ||
45 | "optional-wf" = "false", | ||
46 | "realistic-guidance" = "Composite", | ||
47 | "allow-must-violations" = "false", | ||
48 | "domain" = "Yakindumm" | ||
49 | } | ||
50 | |||
51 | statistics = "statistics/Yakindu/140.csv" //give different set up different filenames | ||
52 | debug = "debug" | ||
53 | output = "output/Yakindu/run_time/" | ||
54 | } | ||
55 | |||
56 | generate { | ||
57 | metamodel = { package yakindumm excluding { Synchronization}} | ||
58 | constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu } | ||
59 | partial-model = { "inputs/start.xmi"} | ||
60 | |||
61 | solver = ViatraSolver | ||
62 | |||
63 | scope = { | ||
64 | #node = 160 | ||
65 | } | ||
66 | |||
67 | number = 1 | ||
68 | runs = 20 | ||
69 | config = { | ||
70 | log-level = none, | ||
71 | "optional-wf" = "false", | ||
72 | "realistic-guidance" = "Composite", | ||
73 | "allow-must-violations" = "false", | ||
74 | "domain" = "Yakindumm" | ||
75 | } | ||
76 | |||
77 | statistics = "statistics/Yakindu/160.csv" //give different set up different filenames | ||
78 | debug = "debug" | ||
79 | output = "output/Yakindu/run_time/" | ||
80 | } | ||
81 | |||
82 | generate { | ||
83 | metamodel = { package yakindumm excluding { Synchronization}} | ||
84 | constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu } | ||
85 | partial-model = { "inputs/start.xmi"} | ||
86 | |||
87 | solver = ViatraSolver | ||
88 | |||
89 | scope = { | ||
90 | #node = 180 | ||
91 | } | ||
92 | |||
93 | number = 1 | ||
94 | runs = 20 | ||
95 | config = { | ||
96 | log-level = none, | ||
97 | "optional-wf" = "false", | ||
98 | "realistic-guidance" = "Composite", | ||
99 | "allow-must-violations" = "false", | ||
100 | "domain" = "Yakindumm" | ||
101 | } | ||
102 | |||
103 | statistics = "statistics/Yakindu/180.csv" //give different set up different filenames | ||
104 | debug = "debug" | ||
105 | output = "output/Yakindu/run_time/" | ||
27 | } \ No newline at end of file | 106 | } \ No newline at end of file |
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/.settings/org.eclipse.wst.validation.prefs b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/.settings/org.eclipse.wst.validation.prefs new file mode 100644 index 00000000..b0a80408 --- /dev/null +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/.settings/org.eclipse.wst.validation.prefs | |||
@@ -0,0 +1,10 @@ | |||
1 | DELEGATES_PREFERENCE=delegateValidatorList | ||
2 | USER_BUILD_PREFERENCE=enabledBuildValidatorList | ||
3 | USER_MANUAL_PREFERENCE=enabledManualValidatorList | ||
4 | USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.701.v201810290944 | ||
5 | eclipse.preferences.version=1 | ||
6 | override=true | ||
7 | suspend=false | ||
8 | vals/org.eclipse.wst.xml.core.xml/global=FF03 | ||
9 | vals/org.eclipse.wst.xsd.core.xsd/global=FF02162org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator | ||
10 | vf.version=3 | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/META-INF/MANIFEST.MF b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/META-INF/MANIFEST.MF index 71eeb2c4..eacce276 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/META-INF/MANIFEST.MF +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/META-INF/MANIFEST.MF | |||
@@ -19,7 +19,8 @@ Require-Bundle: com.google.guava, | |||
19 | org.eclipse.viatra.addon.validation.core;bundle-version="2.1.2", | 19 | org.eclipse.viatra.addon.validation.core;bundle-version="2.1.2", |
20 | org.eclipse.collections;bundle-version="9.2.0", | 20 | org.eclipse.collections;bundle-version="9.2.0", |
21 | org.eclipse.viatra.query.runtime.localsearch;bundle-version="2.1.2", | 21 | org.eclipse.viatra.query.runtime.localsearch;bundle-version="2.1.2", |
22 | org.apache.log4j;bundle-version="1.2.15" | 22 | org.apache.log4j;bundle-version="1.2.15", |
23 | github-graph;bundle-version="0.1.0" | ||
23 | Export-Package: ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app, | 24 | Export-Package: ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app, |
24 | ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance, | 25 | ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance, |
25 | ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph, | 26 | ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph, |
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/LoopInInheritenceConstraint0.java b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/LoopInInheritenceConstraint0.java new file mode 100644 index 00000000..c31e59e7 --- /dev/null +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/LoopInInheritenceConstraint0.java | |||
@@ -0,0 +1,79 @@ | |||
1 | /** | ||
2 | Generated from platform:/resource/SocialNetwork_plugin/queries/queries/Ecore.vql | ||
3 | */ | ||
4 | package constraints.ecore; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.HashMap; | ||
8 | import java.util.HashSet; | ||
9 | import java.util.List; | ||
10 | import java.util.Map; | ||
11 | import java.util.Set; | ||
12 | |||
13 | import org.eclipse.viatra.addon.validation.core.api.IConstraintSpecification; | ||
14 | import org.eclipse.viatra.addon.validation.core.api.Severity; | ||
15 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
16 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
17 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; | ||
18 | |||
19 | import ecore.LoopInInheritence; | ||
20 | |||
21 | public class LoopInInheritenceConstraint0 implements IConstraintSpecification { | ||
22 | |||
23 | private LoopInInheritence querySpecification; | ||
24 | |||
25 | public LoopInInheritenceConstraint0() { | ||
26 | querySpecification = LoopInInheritence.instance(); | ||
27 | } | ||
28 | |||
29 | @Override | ||
30 | public String getMessageFormat() { | ||
31 | return "error"; | ||
32 | } | ||
33 | |||
34 | |||
35 | @Override | ||
36 | public Map<String,Object> getKeyObjects(IPatternMatch signature) { | ||
37 | Map<String,Object> map = new HashMap<>(); | ||
38 | map.put("a",signature.get("a")); | ||
39 | return map; | ||
40 | } | ||
41 | |||
42 | @Override | ||
43 | public List<String> getKeyNames() { | ||
44 | List<String> keyNames = Arrays.asList( | ||
45 | "a" | ||
46 | ); | ||
47 | return keyNames; | ||
48 | } | ||
49 | |||
50 | @Override | ||
51 | public List<String> getPropertyNames() { | ||
52 | List<String> propertyNames = Arrays.asList( | ||
53 | ); | ||
54 | return propertyNames; | ||
55 | } | ||
56 | |||
57 | @Override | ||
58 | public Set<List<String>> getSymmetricPropertyNames() { | ||
59 | Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(); | ||
60 | return symmetricPropertyNamesSet; | ||
61 | } | ||
62 | |||
63 | @Override | ||
64 | public Set<List<String>> getSymmetricKeyNames() { | ||
65 | Set<List<String>> symmetricKeyNamesSet = new HashSet<>(); | ||
66 | return symmetricKeyNamesSet; | ||
67 | } | ||
68 | |||
69 | @Override | ||
70 | public Severity getSeverity() { | ||
71 | return Severity.ERROR; | ||
72 | } | ||
73 | |||
74 | @Override | ||
75 | public IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> getQuerySpecification() { | ||
76 | return querySpecification; | ||
77 | } | ||
78 | |||
79 | } | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/NonSymmetricOppositeConstraint0.java b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/NonSymmetricOppositeConstraint0.java new file mode 100644 index 00000000..29b35552 --- /dev/null +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/NonSymmetricOppositeConstraint0.java | |||
@@ -0,0 +1,80 @@ | |||
1 | /** | ||
2 | Generated from platform:/resource/SocialNetwork_plugin/queries/queries/Ecore.vql | ||
3 | */ | ||
4 | package constraints.ecore; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.HashMap; | ||
8 | import java.util.HashSet; | ||
9 | import java.util.List; | ||
10 | import java.util.Map; | ||
11 | import java.util.Set; | ||
12 | |||
13 | import org.eclipse.viatra.addon.validation.core.api.IConstraintSpecification; | ||
14 | import org.eclipse.viatra.addon.validation.core.api.Severity; | ||
15 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
16 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
17 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; | ||
18 | |||
19 | import ecore.NonSymmetricOpposite; | ||
20 | |||
21 | public class NonSymmetricOppositeConstraint0 implements IConstraintSpecification { | ||
22 | |||
23 | private NonSymmetricOpposite querySpecification; | ||
24 | |||
25 | public NonSymmetricOppositeConstraint0() { | ||
26 | querySpecification = NonSymmetricOpposite.instance(); | ||
27 | } | ||
28 | |||
29 | @Override | ||
30 | public String getMessageFormat() { | ||
31 | return "error"; | ||
32 | } | ||
33 | |||
34 | |||
35 | @Override | ||
36 | public Map<String,Object> getKeyObjects(IPatternMatch signature) { | ||
37 | Map<String,Object> map = new HashMap<>(); | ||
38 | map.put("a",signature.get("a")); | ||
39 | return map; | ||
40 | } | ||
41 | |||
42 | @Override | ||
43 | public List<String> getKeyNames() { | ||
44 | List<String> keyNames = Arrays.asList( | ||
45 | "a" | ||
46 | ); | ||
47 | return keyNames; | ||
48 | } | ||
49 | |||
50 | @Override | ||
51 | public List<String> getPropertyNames() { | ||
52 | List<String> propertyNames = Arrays.asList( | ||
53 | "b" | ||
54 | ); | ||
55 | return propertyNames; | ||
56 | } | ||
57 | |||
58 | @Override | ||
59 | public Set<List<String>> getSymmetricPropertyNames() { | ||
60 | Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(); | ||
61 | return symmetricPropertyNamesSet; | ||
62 | } | ||
63 | |||
64 | @Override | ||
65 | public Set<List<String>> getSymmetricKeyNames() { | ||
66 | Set<List<String>> symmetricKeyNamesSet = new HashSet<>(); | ||
67 | return symmetricKeyNamesSet; | ||
68 | } | ||
69 | |||
70 | @Override | ||
71 | public Severity getSeverity() { | ||
72 | return Severity.ERROR; | ||
73 | } | ||
74 | |||
75 | @Override | ||
76 | public IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> getQuerySpecification() { | ||
77 | return querySpecification; | ||
78 | } | ||
79 | |||
80 | } | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/MoreThenFiveSuperTypesConstraint0.java b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/OppositeDifferentClassConstraint0.java index 5243b104..9ef4e35e 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/MoreThenFiveSuperTypesConstraint0.java +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/constraints/ecore/OppositeDifferentClassConstraint0.java | |||
@@ -1,5 +1,5 @@ | |||
1 | /** | 1 | /** |
2 | Generated from platform:/resource/SocialNetwork_plugin/queries/queries/ecore_pattern.vql | 2 | Generated from platform:/resource/SocialNetwork_plugin/queries/queries/Ecore.vql |
3 | */ | 3 | */ |
4 | package constraints.ecore; | 4 | package constraints.ecore; |
5 | 5 | ||
@@ -16,14 +16,14 @@ import org.eclipse.viatra.query.runtime.api.IPatternMatch; | |||
16 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | 16 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; |
17 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; | 17 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; |
18 | 18 | ||
19 | import ecore.MoreThenFiveSuperTypes; | 19 | import ecore.OppositeDifferentClass; |
20 | 20 | ||
21 | public class MoreThenFiveSuperTypesConstraint0 implements IConstraintSpecification { | 21 | public class OppositeDifferentClassConstraint0 implements IConstraintSpecification { |
22 | 22 | ||
23 | private MoreThenFiveSuperTypes querySpecification; | 23 | private OppositeDifferentClass querySpecification; |
24 | 24 | ||
25 | public MoreThenFiveSuperTypesConstraint0() { | 25 | public OppositeDifferentClassConstraint0() { |
26 | querySpecification = MoreThenFiveSuperTypes.instance(); | 26 | querySpecification = OppositeDifferentClass.instance(); |
27 | } | 27 | } |
28 | 28 | ||
29 | @Override | 29 | @Override |
@@ -35,14 +35,14 @@ public class MoreThenFiveSuperTypesConstraint0 implements IConstraintSpecificati | |||
35 | @Override | 35 | @Override |
36 | public Map<String,Object> getKeyObjects(IPatternMatch signature) { | 36 | public Map<String,Object> getKeyObjects(IPatternMatch signature) { |
37 | Map<String,Object> map = new HashMap<>(); | 37 | Map<String,Object> map = new HashMap<>(); |
38 | map.put("c",signature.get("c")); | 38 | map.put("a",signature.get("a")); |
39 | return map; | 39 | return map; |
40 | } | 40 | } |
41 | 41 | ||
42 | @Override | 42 | @Override |
43 | public List<String> getKeyNames() { | 43 | public List<String> getKeyNames() { |
44 | List<String> keyNames = Arrays.asList( | 44 | List<String> keyNames = Arrays.asList( |
45 | "c" | 45 | "a" |
46 | ); | 46 | ); |
47 | return keyNames; | 47 | return keyNames; |
48 | } | 48 | } |
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/ecore/Ecore_pattern.java b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/ecore/Ecore_pattern.java deleted file mode 100644 index 6da94486..00000000 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/ecore/Ecore_pattern.java +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/SocialNetwork_plugin/queries/ecore/ecore_pattern.vql | ||
3 | */ | ||
4 | package ecore; | ||
5 | |||
6 | import ecore.MoreThenFiveSuperTypes; | ||
7 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
8 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; | ||
9 | |||
10 | /** | ||
11 | * A pattern group formed of all public patterns defined in ecore_pattern.vql. | ||
12 | * | ||
13 | * <p>Use the static instance as any {@link interface org.eclipse.viatra.query.runtime.api.IQueryGroup}, to conveniently prepare | ||
14 | * a VIATRA Query engine for matching all patterns originally defined in file ecore_pattern.vql, | ||
15 | * in order to achieve better performance than one-by-one on-demand matcher initialization. | ||
16 | * | ||
17 | * <p> From package ecore, the group contains the definition of the following patterns: <ul> | ||
18 | * <li>moreThenFiveSuperTypes</li> | ||
19 | * </ul> | ||
20 | * | ||
21 | * @see IQueryGroup | ||
22 | * | ||
23 | */ | ||
24 | @SuppressWarnings("all") | ||
25 | public final class Ecore_pattern extends BaseGeneratedPatternGroup { | ||
26 | /** | ||
27 | * Access the pattern group. | ||
28 | * | ||
29 | * @return the singleton instance of the group | ||
30 | * @throws ViatraQueryRuntimeException if there was an error loading the generated code of pattern specifications | ||
31 | * | ||
32 | */ | ||
33 | public static Ecore_pattern instance() { | ||
34 | if (INSTANCE == null) { | ||
35 | INSTANCE = new Ecore_pattern(); | ||
36 | } | ||
37 | return INSTANCE; | ||
38 | } | ||
39 | |||
40 | private static Ecore_pattern INSTANCE; | ||
41 | |||
42 | private Ecore_pattern() { | ||
43 | querySpecifications.add(MoreThenFiveSuperTypes.instance()); | ||
44 | } | ||
45 | |||
46 | public MoreThenFiveSuperTypes getMoreThenFiveSuperTypes() { | ||
47 | return MoreThenFiveSuperTypes.instance(); | ||
48 | } | ||
49 | |||
50 | public MoreThenFiveSuperTypes.Matcher getMoreThenFiveSuperTypes(final ViatraQueryEngine engine) { | ||
51 | return MoreThenFiveSuperTypes.Matcher.on(engine); | ||
52 | } | ||
53 | } | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/ecore/MoreThenFiveSuperTypes.java b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/ecore/MoreThenFiveSuperTypes.java deleted file mode 100644 index da64d899..00000000 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/constraints/ecore/MoreThenFiveSuperTypes.java +++ /dev/null | |||
@@ -1,621 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/SocialNetwork_plugin/queries/ecore/ecore_pattern.vql | ||
3 | */ | ||
4 | package ecore; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.Collection; | ||
8 | import java.util.Collections; | ||
9 | import java.util.LinkedHashSet; | ||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | import java.util.Optional; | ||
13 | import java.util.Set; | ||
14 | import java.util.function.Consumer; | ||
15 | import java.util.stream.Collectors; | ||
16 | import java.util.stream.Stream; | ||
17 | import org.apache.log4j.Logger; | ||
18 | import org.eclipse.emf.ecore.EClass; | ||
19 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
21 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
25 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
26 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
27 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternMatchCounter; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
40 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
41 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
42 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
43 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
44 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
45 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
46 | |||
47 | /** | ||
48 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
49 | * | ||
50 | * <p>Original source: | ||
51 | * <code><pre> | ||
52 | * {@literal @}Constraint(severity="error", message="error", key = {c}) | ||
53 | * pattern moreThenFiveSuperTypes(c: EClass){ | ||
54 | * m == count EClass.eSuperTypes(c,_); | ||
55 | * check(m {@literal >}= 5); | ||
56 | * } | ||
57 | * </pre></code> | ||
58 | * | ||
59 | * @see Matcher | ||
60 | * @see Match | ||
61 | * | ||
62 | */ | ||
63 | @SuppressWarnings("all") | ||
64 | public final class MoreThenFiveSuperTypes extends BaseGeneratedEMFQuerySpecification<MoreThenFiveSuperTypes.Matcher> { | ||
65 | /** | ||
66 | * Pattern-specific match representation of the ecore.moreThenFiveSuperTypes pattern, | ||
67 | * to be used in conjunction with {@link Matcher}. | ||
68 | * | ||
69 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
70 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
71 | * usable to represent a match of the pattern in the result of a query, | ||
72 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
73 | * | ||
74 | * @see Matcher | ||
75 | * | ||
76 | */ | ||
77 | public static abstract class Match extends BasePatternMatch { | ||
78 | private EClass fC; | ||
79 | |||
80 | private static List<String> parameterNames = makeImmutableList("c"); | ||
81 | |||
82 | private Match(final EClass pC) { | ||
83 | this.fC = pC; | ||
84 | } | ||
85 | |||
86 | @Override | ||
87 | public Object get(final String parameterName) { | ||
88 | if ("c".equals(parameterName)) return this.fC; | ||
89 | return null; | ||
90 | } | ||
91 | |||
92 | public EClass getC() { | ||
93 | return this.fC; | ||
94 | } | ||
95 | |||
96 | @Override | ||
97 | public boolean set(final String parameterName, final Object newValue) { | ||
98 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
99 | if ("c".equals(parameterName) ) { | ||
100 | this.fC = (EClass) newValue; | ||
101 | return true; | ||
102 | } | ||
103 | return false; | ||
104 | } | ||
105 | |||
106 | public void setC(final EClass pC) { | ||
107 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
108 | this.fC = pC; | ||
109 | } | ||
110 | |||
111 | @Override | ||
112 | public String patternName() { | ||
113 | return "ecore.moreThenFiveSuperTypes"; | ||
114 | } | ||
115 | |||
116 | @Override | ||
117 | public List<String> parameterNames() { | ||
118 | return MoreThenFiveSuperTypes.Match.parameterNames; | ||
119 | } | ||
120 | |||
121 | @Override | ||
122 | public Object[] toArray() { | ||
123 | return new Object[]{fC}; | ||
124 | } | ||
125 | |||
126 | @Override | ||
127 | public MoreThenFiveSuperTypes.Match toImmutable() { | ||
128 | return isMutable() ? newMatch(fC) : this; | ||
129 | } | ||
130 | |||
131 | @Override | ||
132 | public String prettyPrint() { | ||
133 | StringBuilder result = new StringBuilder(); | ||
134 | result.append("\"c\"=" + prettyPrintValue(fC)); | ||
135 | return result.toString(); | ||
136 | } | ||
137 | |||
138 | @Override | ||
139 | public int hashCode() { | ||
140 | return Objects.hash(fC); | ||
141 | } | ||
142 | |||
143 | @Override | ||
144 | public boolean equals(final Object obj) { | ||
145 | if (this == obj) | ||
146 | return true; | ||
147 | if (obj == null) { | ||
148 | return false; | ||
149 | } | ||
150 | if ((obj instanceof MoreThenFiveSuperTypes.Match)) { | ||
151 | MoreThenFiveSuperTypes.Match other = (MoreThenFiveSuperTypes.Match) obj; | ||
152 | return Objects.equals(fC, other.fC); | ||
153 | } else { | ||
154 | // this should be infrequent | ||
155 | if (!(obj instanceof IPatternMatch)) { | ||
156 | return false; | ||
157 | } | ||
158 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
159 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
160 | } | ||
161 | } | ||
162 | |||
163 | @Override | ||
164 | public MoreThenFiveSuperTypes specification() { | ||
165 | return MoreThenFiveSuperTypes.instance(); | ||
166 | } | ||
167 | |||
168 | /** | ||
169 | * Returns an empty, mutable match. | ||
170 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
171 | * | ||
172 | * @return the empty match. | ||
173 | * | ||
174 | */ | ||
175 | public static MoreThenFiveSuperTypes.Match newEmptyMatch() { | ||
176 | return new Mutable(null); | ||
177 | } | ||
178 | |||
179 | /** | ||
180 | * Returns a mutable (partial) match. | ||
181 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
182 | * | ||
183 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
184 | * @return the new, mutable (partial) match object. | ||
185 | * | ||
186 | */ | ||
187 | public static MoreThenFiveSuperTypes.Match newMutableMatch(final EClass pC) { | ||
188 | return new Mutable(pC); | ||
189 | } | ||
190 | |||
191 | /** | ||
192 | * Returns a new (partial) match. | ||
193 | * This can be used e.g. to call the matcher with a partial match. | ||
194 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
195 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
196 | * @return the (partial) match object. | ||
197 | * | ||
198 | */ | ||
199 | public static MoreThenFiveSuperTypes.Match newMatch(final EClass pC) { | ||
200 | return new Immutable(pC); | ||
201 | } | ||
202 | |||
203 | private static final class Mutable extends MoreThenFiveSuperTypes.Match { | ||
204 | Mutable(final EClass pC) { | ||
205 | super(pC); | ||
206 | } | ||
207 | |||
208 | @Override | ||
209 | public boolean isMutable() { | ||
210 | return true; | ||
211 | } | ||
212 | } | ||
213 | |||
214 | private static final class Immutable extends MoreThenFiveSuperTypes.Match { | ||
215 | Immutable(final EClass pC) { | ||
216 | super(pC); | ||
217 | } | ||
218 | |||
219 | @Override | ||
220 | public boolean isMutable() { | ||
221 | return false; | ||
222 | } | ||
223 | } | ||
224 | } | ||
225 | |||
226 | /** | ||
227 | * Generated pattern matcher API of the ecore.moreThenFiveSuperTypes pattern, | ||
228 | * providing pattern-specific query methods. | ||
229 | * | ||
230 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
231 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
232 | * | ||
233 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
234 | * | ||
235 | * <p>Original source: | ||
236 | * <code><pre> | ||
237 | * {@literal @}Constraint(severity="error", message="error", key = {c}) | ||
238 | * pattern moreThenFiveSuperTypes(c: EClass){ | ||
239 | * m == count EClass.eSuperTypes(c,_); | ||
240 | * check(m {@literal >}= 5); | ||
241 | * } | ||
242 | * </pre></code> | ||
243 | * | ||
244 | * @see Match | ||
245 | * @see MoreThenFiveSuperTypes | ||
246 | * | ||
247 | */ | ||
248 | public static class Matcher extends BaseMatcher<MoreThenFiveSuperTypes.Match> { | ||
249 | /** | ||
250 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
251 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
252 | * | ||
253 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
254 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
255 | * | ||
256 | */ | ||
257 | public static MoreThenFiveSuperTypes.Matcher on(final ViatraQueryEngine engine) { | ||
258 | // check if matcher already exists | ||
259 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
260 | if (matcher == null) { | ||
261 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
262 | } | ||
263 | return matcher; | ||
264 | } | ||
265 | |||
266 | /** | ||
267 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
268 | * @return an initialized matcher | ||
269 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
270 | * | ||
271 | */ | ||
272 | public static MoreThenFiveSuperTypes.Matcher create() { | ||
273 | return new Matcher(); | ||
274 | } | ||
275 | |||
276 | private static final int POSITION_C = 0; | ||
277 | |||
278 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(MoreThenFiveSuperTypes.Matcher.class); | ||
279 | |||
280 | /** | ||
281 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
282 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
283 | * | ||
284 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
285 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
286 | * | ||
287 | */ | ||
288 | private Matcher() { | ||
289 | super(querySpecification()); | ||
290 | } | ||
291 | |||
292 | /** | ||
293 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
294 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
295 | * @return matches represented as a Match object. | ||
296 | * | ||
297 | */ | ||
298 | public Collection<MoreThenFiveSuperTypes.Match> getAllMatches(final EClass pC) { | ||
299 | return rawStreamAllMatches(new Object[]{pC}).collect(Collectors.toSet()); | ||
300 | } | ||
301 | |||
302 | /** | ||
303 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
304 | * </p> | ||
305 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
306 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
307 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
308 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
309 | * @return a stream of matches represented as a Match object. | ||
310 | * | ||
311 | */ | ||
312 | public Stream<MoreThenFiveSuperTypes.Match> streamAllMatches(final EClass pC) { | ||
313 | return rawStreamAllMatches(new Object[]{pC}); | ||
314 | } | ||
315 | |||
316 | /** | ||
317 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
318 | * Neither determinism nor randomness of selection is guaranteed. | ||
319 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
320 | * @return a match represented as a Match object, or null if no match is found. | ||
321 | * | ||
322 | */ | ||
323 | public Optional<MoreThenFiveSuperTypes.Match> getOneArbitraryMatch(final EClass pC) { | ||
324 | return rawGetOneArbitraryMatch(new Object[]{pC}); | ||
325 | } | ||
326 | |||
327 | /** | ||
328 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
329 | * under any possible substitution of the unspecified parameters (if any). | ||
330 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
331 | * @return true if the input is a valid (partial) match of the pattern. | ||
332 | * | ||
333 | */ | ||
334 | public boolean hasMatch(final EClass pC) { | ||
335 | return rawHasMatch(new Object[]{pC}); | ||
336 | } | ||
337 | |||
338 | /** | ||
339 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
340 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
341 | * @return the number of pattern matches found. | ||
342 | * | ||
343 | */ | ||
344 | public int countMatches(final EClass pC) { | ||
345 | return rawCountMatches(new Object[]{pC}); | ||
346 | } | ||
347 | |||
348 | /** | ||
349 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
350 | * Neither determinism nor randomness of selection is guaranteed. | ||
351 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
352 | * @param processor the action that will process the selected match. | ||
353 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
354 | * | ||
355 | */ | ||
356 | public boolean forOneArbitraryMatch(final EClass pC, final Consumer<? super MoreThenFiveSuperTypes.Match> processor) { | ||
357 | return rawForOneArbitraryMatch(new Object[]{pC}, processor); | ||
358 | } | ||
359 | |||
360 | /** | ||
361 | * Returns a new (partial) match. | ||
362 | * This can be used e.g. to call the matcher with a partial match. | ||
363 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
364 | * @param pC the fixed value of pattern parameter c, or null if not bound. | ||
365 | * @return the (partial) match object. | ||
366 | * | ||
367 | */ | ||
368 | public MoreThenFiveSuperTypes.Match newMatch(final EClass pC) { | ||
369 | return MoreThenFiveSuperTypes.Match.newMatch(pC); | ||
370 | } | ||
371 | |||
372 | /** | ||
373 | * Retrieve the set of values that occur in matches for c. | ||
374 | * @return the Set of all values or empty set if there are no matches | ||
375 | * | ||
376 | */ | ||
377 | protected Stream<EClass> rawStreamAllValuesOfc(final Object[] parameters) { | ||
378 | return rawStreamAllValues(POSITION_C, parameters).map(EClass.class::cast); | ||
379 | } | ||
380 | |||
381 | /** | ||
382 | * Retrieve the set of values that occur in matches for c. | ||
383 | * @return the Set of all values or empty set if there are no matches | ||
384 | * | ||
385 | */ | ||
386 | public Set<EClass> getAllValuesOfc() { | ||
387 | return rawStreamAllValuesOfc(emptyArray()).collect(Collectors.toSet()); | ||
388 | } | ||
389 | |||
390 | /** | ||
391 | * Retrieve the set of values that occur in matches for c. | ||
392 | * @return the Set of all values or empty set if there are no matches | ||
393 | * | ||
394 | */ | ||
395 | public Stream<EClass> streamAllValuesOfc() { | ||
396 | return rawStreamAllValuesOfc(emptyArray()); | ||
397 | } | ||
398 | |||
399 | @Override | ||
400 | protected MoreThenFiveSuperTypes.Match tupleToMatch(final Tuple t) { | ||
401 | try { | ||
402 | return MoreThenFiveSuperTypes.Match.newMatch((EClass) t.get(POSITION_C)); | ||
403 | } catch(ClassCastException e) { | ||
404 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
405 | return null; | ||
406 | } | ||
407 | } | ||
408 | |||
409 | @Override | ||
410 | protected MoreThenFiveSuperTypes.Match arrayToMatch(final Object[] match) { | ||
411 | try { | ||
412 | return MoreThenFiveSuperTypes.Match.newMatch((EClass) match[POSITION_C]); | ||
413 | } catch(ClassCastException e) { | ||
414 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
415 | return null; | ||
416 | } | ||
417 | } | ||
418 | |||
419 | @Override | ||
420 | protected MoreThenFiveSuperTypes.Match arrayToMatchMutable(final Object[] match) { | ||
421 | try { | ||
422 | return MoreThenFiveSuperTypes.Match.newMutableMatch((EClass) match[POSITION_C]); | ||
423 | } catch(ClassCastException e) { | ||
424 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
425 | return null; | ||
426 | } | ||
427 | } | ||
428 | |||
429 | /** | ||
430 | * @return the singleton instance of the query specification of this pattern | ||
431 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
432 | * | ||
433 | */ | ||
434 | public static IQuerySpecification<MoreThenFiveSuperTypes.Matcher> querySpecification() { | ||
435 | return MoreThenFiveSuperTypes.instance(); | ||
436 | } | ||
437 | } | ||
438 | |||
439 | private MoreThenFiveSuperTypes() { | ||
440 | super(GeneratedPQuery.INSTANCE); | ||
441 | } | ||
442 | |||
443 | /** | ||
444 | * @return the singleton instance of the query specification | ||
445 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
446 | * | ||
447 | */ | ||
448 | public static MoreThenFiveSuperTypes instance() { | ||
449 | try{ | ||
450 | return LazyHolder.INSTANCE; | ||
451 | } catch (ExceptionInInitializerError err) { | ||
452 | throw processInitializerError(err); | ||
453 | } | ||
454 | } | ||
455 | |||
456 | @Override | ||
457 | protected MoreThenFiveSuperTypes.Matcher instantiate(final ViatraQueryEngine engine) { | ||
458 | return MoreThenFiveSuperTypes.Matcher.on(engine); | ||
459 | } | ||
460 | |||
461 | @Override | ||
462 | public MoreThenFiveSuperTypes.Matcher instantiate() { | ||
463 | return MoreThenFiveSuperTypes.Matcher.create(); | ||
464 | } | ||
465 | |||
466 | @Override | ||
467 | public MoreThenFiveSuperTypes.Match newEmptyMatch() { | ||
468 | return MoreThenFiveSuperTypes.Match.newEmptyMatch(); | ||
469 | } | ||
470 | |||
471 | @Override | ||
472 | public MoreThenFiveSuperTypes.Match newMatch(final Object... parameters) { | ||
473 | return MoreThenFiveSuperTypes.Match.newMatch((org.eclipse.emf.ecore.EClass) parameters[0]); | ||
474 | } | ||
475 | |||
476 | /** | ||
477 | * Inner class allowing the singleton instance of {@link JvmGenericType: ecore.MoreThenFiveSuperTypes (visibility: PUBLIC, simpleName: MoreThenFiveSuperTypes, identifier: ecore.MoreThenFiveSuperTypes, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ecore) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
478 | * <b>not</b> at the class load time of the outer class, | ||
479 | * but rather at the first call to {@link JvmGenericType: ecore.MoreThenFiveSuperTypes (visibility: PUBLIC, simpleName: MoreThenFiveSuperTypes, identifier: ecore.MoreThenFiveSuperTypes, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ecore) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
480 | * | ||
481 | * <p> This workaround is required e.g. to support recursion. | ||
482 | * | ||
483 | */ | ||
484 | private static class LazyHolder { | ||
485 | private static final MoreThenFiveSuperTypes INSTANCE = new MoreThenFiveSuperTypes(); | ||
486 | |||
487 | /** | ||
488 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
489 | * This initialization order is required to support indirect recursion. | ||
490 | * | ||
491 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
492 | * | ||
493 | */ | ||
494 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
495 | |||
496 | public static Object ensureInitialized() { | ||
497 | INSTANCE.ensureInitializedInternal(); | ||
498 | return null; | ||
499 | } | ||
500 | } | ||
501 | |||
502 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
503 | private static final MoreThenFiveSuperTypes.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
504 | |||
505 | private final PParameter parameter_c = new PParameter("c", "org.eclipse.emf.ecore.EClass", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.eclipse.org/emf/2002/Ecore", "EClass")), PParameterDirection.INOUT); | ||
506 | |||
507 | private final List<PParameter> parameters = Arrays.asList(parameter_c); | ||
508 | |||
509 | private class Embedded_1_EClass_eSuperTypes extends BaseGeneratedEMFPQuery { | ||
510 | private final PParameter parameter_p0 = new PParameter("p0", "org.eclipse.emf.ecore.EClass", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.eclipse.org/emf/2002/Ecore", "EClass")), PParameterDirection.INOUT); | ||
511 | |||
512 | private final PParameter parameter_p1 = new PParameter("p1", "org.eclipse.emf.ecore.EClass", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.eclipse.org/emf/2002/Ecore", "EClass")), PParameterDirection.INOUT); | ||
513 | |||
514 | private final List<PParameter> embeddedParameters = Arrays.asList(parameter_p0, parameter_p1); | ||
515 | |||
516 | public Embedded_1_EClass_eSuperTypes() { | ||
517 | super(PVisibility.EMBEDDED); | ||
518 | } | ||
519 | |||
520 | @Override | ||
521 | public String getFullyQualifiedName() { | ||
522 | return GeneratedPQuery.this.getFullyQualifiedName() + "$Embedded_1_EClass_eSuperTypes"; | ||
523 | } | ||
524 | |||
525 | @Override | ||
526 | public List<PParameter> getParameters() { | ||
527 | return embeddedParameters; | ||
528 | } | ||
529 | |||
530 | @Override | ||
531 | public Set<PBody> doGetContainedBodies() { | ||
532 | PBody body = new PBody(this); | ||
533 | PVariable var_p0 = body.getOrCreateVariableByName("p0"); | ||
534 | PVariable var_p1 = body.getOrCreateVariableByName("p1"); | ||
535 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
536 | new ExportedParameter(body, var_p0, parameter_p0), | ||
537 | new ExportedParameter(body, var_p1, parameter_p1) | ||
538 | )); | ||
539 | // EClass.eSuperTypes(c,_) | ||
540 | new TypeConstraint(body, Tuples.flatTupleOf(var_p0), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EClass"))); | ||
541 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
542 | new TypeConstraint(body, Tuples.flatTupleOf(var_p0, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.eclipse.org/emf/2002/Ecore", "EClass", "eSuperTypes"))); | ||
543 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EClass"))); | ||
544 | new Equality(body, var__virtual_0_, var_p1); | ||
545 | return Collections.singleton(body); | ||
546 | } | ||
547 | } | ||
548 | |||
549 | private GeneratedPQuery() { | ||
550 | super(PVisibility.PUBLIC); | ||
551 | } | ||
552 | |||
553 | @Override | ||
554 | public String getFullyQualifiedName() { | ||
555 | return "ecore.moreThenFiveSuperTypes"; | ||
556 | } | ||
557 | |||
558 | @Override | ||
559 | public List<String> getParameterNames() { | ||
560 | return Arrays.asList("c"); | ||
561 | } | ||
562 | |||
563 | @Override | ||
564 | public List<PParameter> getParameters() { | ||
565 | return parameters; | ||
566 | } | ||
567 | |||
568 | @Override | ||
569 | public Set<PBody> doGetContainedBodies() { | ||
570 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
571 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
572 | { | ||
573 | PBody body = new PBody(this); | ||
574 | PVariable var_c = body.getOrCreateVariableByName("c"); | ||
575 | PVariable var_m = body.getOrCreateVariableByName("m"); | ||
576 | PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); | ||
577 | new TypeConstraint(body, Tuples.flatTupleOf(var_c), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EClass"))); | ||
578 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
579 | new ExportedParameter(body, var_c, parameter_c) | ||
580 | )); | ||
581 | // m == count EClass.eSuperTypes(c,_) | ||
582 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
583 | new PatternMatchCounter(body, Tuples.flatTupleOf(var_c, var___0_), new MoreThenFiveSuperTypes.GeneratedPQuery.Embedded_1_EClass_eSuperTypes(), var__virtual_0_); | ||
584 | new Equality(body, var_m, var__virtual_0_); | ||
585 | // check(m >= 5) | ||
586 | new ExpressionEvaluation(body, new IExpressionEvaluator() { | ||
587 | |||
588 | @Override | ||
589 | public String getShortDescription() { | ||
590 | return "Expression evaluation from pattern moreThenFiveSuperTypes"; | ||
591 | } | ||
592 | |||
593 | @Override | ||
594 | public Iterable<String> getInputParameterNames() { | ||
595 | return Arrays.asList("m");} | ||
596 | |||
597 | @Override | ||
598 | public Object evaluateExpression(IValueProvider provider) throws Exception { | ||
599 | Integer m = (Integer) provider.getValue("m"); | ||
600 | return evaluateExpression_1_1(m); | ||
601 | } | ||
602 | }, null); | ||
603 | bodies.add(body); | ||
604 | } | ||
605 | { | ||
606 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
607 | annotation.addAttribute("severity", "error"); | ||
608 | annotation.addAttribute("message", "error"); | ||
609 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
610 | new ParameterReference("c") | ||
611 | })); | ||
612 | addAnnotation(annotation); | ||
613 | } | ||
614 | return bodies; | ||
615 | } | ||
616 | } | ||
617 | |||
618 | private static boolean evaluateExpression_1_1(final Integer m) { | ||
619 | return ((m).intValue() >= 5); | ||
620 | } | ||
621 | } | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/ecore.ecore b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/ecore.ecore new file mode 100644 index 00000000..e7dc2768 --- /dev/null +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/ecore.ecore | |||
@@ -0,0 +1,1016 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="ecore" nsURI="http://www.eclipse.org/emf/2002/Ecore" nsPrefix="ecore"> | ||
4 | <eClassifiers xsi:type="ecore:EClass" name="EAnnotation" eSuperTypes="#//EModelElement"> | ||
5 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
6 | <details key="name" value="EAnnotation"/> | ||
7 | <details key="kind" value="elementOnly"/> | ||
8 | </eAnnotations> | ||
9 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
10 | <details key="constraints" value="WellFormedSourceURI"/> | ||
11 | </eAnnotations> | ||
12 | <eStructuralFeatures xsi:type="ecore:EReference" name="details" upperBound="-1" | ||
13 | eType="#//EStringToStringMapEntry" containment="true" resolveProxies="false"> | ||
14 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
15 | <details key="kind" value="element"/> | ||
16 | <details key="name" value="details"/> | ||
17 | </eAnnotations> | ||
18 | </eStructuralFeatures> | ||
19 | <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1" | ||
20 | eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" containment="true" | ||
21 | resolveProxies="false"> | ||
22 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
23 | <details key="kind" value="element"/> | ||
24 | <details key="name" value="contents"/> | ||
25 | </eAnnotations> | ||
26 | </eStructuralFeatures> | ||
27 | <eStructuralFeatures xsi:type="ecore:EReference" name="references" upperBound="-1" | ||
28 | eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"> | ||
29 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
30 | <details key="kind" value="attribute"/> | ||
31 | <details key="name" value="references"/> | ||
32 | </eAnnotations> | ||
33 | </eStructuralFeatures> | ||
34 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="#//EString"> | ||
35 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
36 | <details key="kind" value="attribute"/> | ||
37 | <details key="name" value="source"/> | ||
38 | </eAnnotations> | ||
39 | </eStructuralFeatures> | ||
40 | <eStructuralFeatures xsi:type="ecore:EReference" name="eModelElement" eType="#//EModelElement" | ||
41 | transient="true" eOpposite="#//EModelElement/eAnnotations"/> | ||
42 | </eClassifiers> | ||
43 | <eClassifiers xsi:type="ecore:EClass" name="EAttribute" eSuperTypes="#//EStructuralFeature"> | ||
44 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
45 | <details key="name" value="EAttribute"/> | ||
46 | <details key="kind" value="elementOnly"/> | ||
47 | </eAnnotations> | ||
48 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
49 | <details key="constraints" value="ConsistentTransient"/> | ||
50 | </eAnnotations> | ||
51 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAttributeType" lowerBound="1" | ||
52 | eType="#//EDataType" changeable="false" volatile="true" transient="true" derived="true"> | ||
53 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
54 | <details key="kind" value="attribute"/> | ||
55 | <details key="name" value="eAttributeType"/> | ||
56 | </eAnnotations> | ||
57 | </eStructuralFeatures> | ||
58 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="iD" eType="#//EBoolean"> | ||
59 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
60 | <details key="kind" value="attribute"/> | ||
61 | <details key="name" value="iD"/> | ||
62 | </eAnnotations> | ||
63 | </eStructuralFeatures> | ||
64 | </eClassifiers> | ||
65 | <eClassifiers xsi:type="ecore:EDataType" name="EBigDecimal" instanceClassName="java.math.BigDecimal"> | ||
66 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
67 | <details key="name" value="EBigDecimal"/> | ||
68 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#decimal"/> | ||
69 | </eAnnotations> | ||
70 | </eClassifiers> | ||
71 | <eClassifiers xsi:type="ecore:EDataType" name="EBigInteger" instanceClassName="java.math.BigInteger"> | ||
72 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
73 | <details key="name" value="EBigInteger"/> | ||
74 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#integer"/> | ||
75 | </eAnnotations> | ||
76 | </eClassifiers> | ||
77 | <eClassifiers xsi:type="ecore:EDataType" name="EBoolean" instanceClassName="boolean"> | ||
78 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
79 | <details key="name" value="EBoolean"/> | ||
80 | </eAnnotations> | ||
81 | </eClassifiers> | ||
82 | <eClassifiers xsi:type="ecore:EDataType" name="EBooleanObject" instanceClassName="java.lang.Boolean"> | ||
83 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
84 | <details key="name" value="EBoolean:Object"/> | ||
85 | <details key="baseType" value="EBoolean"/> | ||
86 | </eAnnotations> | ||
87 | </eClassifiers> | ||
88 | <eClassifiers xsi:type="ecore:EDataType" name="EByte" instanceClassName="byte"> | ||
89 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
90 | <details key="name" value="EByte"/> | ||
91 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#byte"/> | ||
92 | </eAnnotations> | ||
93 | </eClassifiers> | ||
94 | <eClassifiers xsi:type="ecore:EDataType" name="EByteArray" instanceClassName="byte[]"> | ||
95 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
96 | <details key="name" value="EByteArray"/> | ||
97 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#hexBinary"/> | ||
98 | </eAnnotations> | ||
99 | </eClassifiers> | ||
100 | <eClassifiers xsi:type="ecore:EDataType" name="EByteObject" instanceClassName="java.lang.Byte"> | ||
101 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
102 | <details key="name" value="EByte:Object"/> | ||
103 | <details key="baseType" value="EByte"/> | ||
104 | </eAnnotations> | ||
105 | </eClassifiers> | ||
106 | <eClassifiers xsi:type="ecore:EDataType" name="EChar" instanceClassName="char"> | ||
107 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
108 | <details key="name" value="EChar"/> | ||
109 | </eAnnotations> | ||
110 | </eClassifiers> | ||
111 | <eClassifiers xsi:type="ecore:EDataType" name="ECharacterObject" instanceClassName="java.lang.Character"> | ||
112 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
113 | <details key="name" value="EChar:Object"/> | ||
114 | <details key="baseType" value="EChar"/> | ||
115 | </eAnnotations> | ||
116 | </eClassifiers> | ||
117 | <eClassifiers xsi:type="ecore:EClass" name="EClass" eSuperTypes="#//EClassifier"> | ||
118 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
119 | <details key="name" value="EClass"/> | ||
120 | <details key="kind" value="elementOnly"/> | ||
121 | </eAnnotations> | ||
122 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
123 | <details key="constraints" value="InterfaceIsAbstract AtMostOneID UniqueFeatureNames UniqueOperationSignatures NoCircularSuperTypes WellFormedMapEntryClass ConsistentSuperTypes DisjointFeatureAndOperationSignatures"/> | ||
124 | </eAnnotations> | ||
125 | <eOperations name="isSuperTypeOf" eType="#//EBoolean"> | ||
126 | <eParameters name="someClass" eType="#//EClass"/> | ||
127 | </eOperations> | ||
128 | <eOperations name="getFeatureCount" eType="#//EInt"/> | ||
129 | <eOperations name="getEStructuralFeature" eType="#//EStructuralFeature"> | ||
130 | <eParameters name="featureID" eType="#//EInt"/> | ||
131 | </eOperations> | ||
132 | <eOperations name="getFeatureID" eType="#//EInt"> | ||
133 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
134 | </eOperations> | ||
135 | <eOperations name="getEStructuralFeature" eType="#//EStructuralFeature"> | ||
136 | <eParameters name="featureName" eType="#//EString"/> | ||
137 | </eOperations> | ||
138 | <eOperations name="getOperationCount" eType="#//EInt"/> | ||
139 | <eOperations name="getEOperation" eType="#//EOperation"> | ||
140 | <eParameters name="operationID" eType="#//EInt"/> | ||
141 | </eOperations> | ||
142 | <eOperations name="getOperationID" eType="#//EInt"> | ||
143 | <eParameters name="operation" eType="#//EOperation"/> | ||
144 | </eOperations> | ||
145 | <eOperations name="getOverride" eType="#//EOperation"> | ||
146 | <eParameters name="operation" eType="#//EOperation"/> | ||
147 | </eOperations> | ||
148 | <eStructuralFeatures xsi:type="ecore:EReference" name="eOperations" upperBound="-1" | ||
149 | eType="#//EOperation" containment="true" resolveProxies="false" eOpposite="#//EOperation/eContainingClass"> | ||
150 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
151 | <details key="kind" value="element"/> | ||
152 | <details key="name" value="eOperations"/> | ||
153 | </eAnnotations> | ||
154 | </eStructuralFeatures> | ||
155 | <eStructuralFeatures xsi:type="ecore:EReference" name="eStructuralFeatures" upperBound="-1" | ||
156 | eType="#//EStructuralFeature" containment="true" resolveProxies="false" eOpposite="#//EStructuralFeature/eContainingClass"> | ||
157 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
158 | <details key="kind" value="element"/> | ||
159 | <details key="name" value="eStructuralFeatures"/> | ||
160 | </eAnnotations> | ||
161 | </eStructuralFeatures> | ||
162 | <eStructuralFeatures xsi:type="ecore:EReference" name="eGenericSuperTypes" upperBound="-1" | ||
163 | eType="#//EGenericType" unsettable="true" containment="true" resolveProxies="false"> | ||
164 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
165 | <details key="kind" value="element"/> | ||
166 | <details key="name" value="eGenericSuperTypes"/> | ||
167 | </eAnnotations> | ||
168 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
169 | <details key="suppressedIsSetVisibility" value="true"/> | ||
170 | <details key="suppressedUnsetVisibility" value="true"/> | ||
171 | </eAnnotations> | ||
172 | </eStructuralFeatures> | ||
173 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="#//EBoolean"> | ||
174 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
175 | <details key="kind" value="attribute"/> | ||
176 | <details key="name" value="abstract"/> | ||
177 | </eAnnotations> | ||
178 | </eStructuralFeatures> | ||
179 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllAttributes" upperBound="-1" | ||
180 | eType="#//EAttribute" changeable="false" volatile="true" transient="true" | ||
181 | derived="true"> | ||
182 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
183 | <details key="kind" value="attribute"/> | ||
184 | <details key="name" value="eAllAttributes"/> | ||
185 | </eAnnotations> | ||
186 | </eStructuralFeatures> | ||
187 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllContainments" upperBound="-1" | ||
188 | eType="#//EReference" changeable="false" volatile="true" transient="true" | ||
189 | derived="true"> | ||
190 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
191 | <details key="kind" value="attribute"/> | ||
192 | <details key="name" value="eAllContainments"/> | ||
193 | </eAnnotations> | ||
194 | </eStructuralFeatures> | ||
195 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllGenericSuperTypes" | ||
196 | upperBound="-1" eType="#//EGenericType" changeable="false" volatile="true" | ||
197 | transient="true" derived="true"> | ||
198 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
199 | <details key="kind" value="attribute"/> | ||
200 | <details key="name" value="eAllGenericSuperTypes"/> | ||
201 | </eAnnotations> | ||
202 | </eStructuralFeatures> | ||
203 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllOperations" upperBound="-1" | ||
204 | eType="#//EOperation" changeable="false" volatile="true" transient="true" | ||
205 | derived="true"> | ||
206 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
207 | <details key="kind" value="attribute"/> | ||
208 | <details key="name" value="eAllOperations"/> | ||
209 | </eAnnotations> | ||
210 | </eStructuralFeatures> | ||
211 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllReferences" upperBound="-1" | ||
212 | eType="#//EReference" changeable="false" volatile="true" transient="true" | ||
213 | derived="true"> | ||
214 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
215 | <details key="kind" value="attribute"/> | ||
216 | <details key="name" value="eAllReferences"/> | ||
217 | </eAnnotations> | ||
218 | </eStructuralFeatures> | ||
219 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllStructuralFeatures" | ||
220 | upperBound="-1" eType="#//EStructuralFeature" changeable="false" volatile="true" | ||
221 | transient="true" derived="true"> | ||
222 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
223 | <details key="kind" value="attribute"/> | ||
224 | <details key="name" value="eAllStructuralFeatures"/> | ||
225 | </eAnnotations> | ||
226 | </eStructuralFeatures> | ||
227 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAllSuperTypes" upperBound="-1" | ||
228 | eType="#//EClass" changeable="false" volatile="true" transient="true" derived="true"> | ||
229 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
230 | <details key="kind" value="attribute"/> | ||
231 | <details key="name" value="eAllSuperTypes"/> | ||
232 | </eAnnotations> | ||
233 | </eStructuralFeatures> | ||
234 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAttributes" upperBound="-1" | ||
235 | eType="#//EAttribute" changeable="false" volatile="true" transient="true" | ||
236 | derived="true"> | ||
237 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
238 | <details key="kind" value="attribute"/> | ||
239 | <details key="name" value="eAttributes"/> | ||
240 | </eAnnotations> | ||
241 | </eStructuralFeatures> | ||
242 | <eStructuralFeatures xsi:type="ecore:EReference" name="eIDAttribute" eType="#//EAttribute" | ||
243 | changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false"> | ||
244 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
245 | <details key="kind" value="attribute"/> | ||
246 | <details key="name" value="eIDAttribute"/> | ||
247 | </eAnnotations> | ||
248 | </eStructuralFeatures> | ||
249 | <eStructuralFeatures xsi:type="ecore:EReference" name="eReferences" upperBound="-1" | ||
250 | eType="#//EReference" changeable="false" volatile="true" transient="true" | ||
251 | derived="true"> | ||
252 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
253 | <details key="kind" value="attribute"/> | ||
254 | <details key="name" value="eReferences"/> | ||
255 | </eAnnotations> | ||
256 | </eStructuralFeatures> | ||
257 | <eStructuralFeatures xsi:type="ecore:EReference" name="eSuperTypes" upperBound="-1" | ||
258 | eType="#//EClass" unsettable="true"> | ||
259 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
260 | <details key="kind" value="attribute"/> | ||
261 | <details key="name" value="eSuperTypes"/> | ||
262 | </eAnnotations> | ||
263 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
264 | <details key="suppressedIsSetVisibility" value="true"/> | ||
265 | <details key="suppressedUnsetVisibility" value="true"/> | ||
266 | </eAnnotations> | ||
267 | </eStructuralFeatures> | ||
268 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="interface" eType="#//EBoolean"> | ||
269 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
270 | <details key="kind" value="attribute"/> | ||
271 | <details key="name" value="interface"/> | ||
272 | </eAnnotations> | ||
273 | </eStructuralFeatures> | ||
274 | </eClassifiers> | ||
275 | <eClassifiers xsi:type="ecore:EClass" name="EClassifier" abstract="true" eSuperTypes="#//ENamedElement"> | ||
276 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
277 | <details key="name" value="EClassifier"/> | ||
278 | <details key="kind" value="elementOnly"/> | ||
279 | </eAnnotations> | ||
280 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
281 | <details key="constraints" value="WellFormedInstanceTypeName UniqueTypeParameterNames"/> | ||
282 | </eAnnotations> | ||
283 | <eOperations name="isInstance" eType="#//EBoolean"> | ||
284 | <eParameters name="object" eType="#//EJavaObject"/> | ||
285 | </eOperations> | ||
286 | <eOperations name="getClassifierID" eType="#//EInt"/> | ||
287 | <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameters" upperBound="-1" | ||
288 | eType="#//ETypeParameter" containment="true"> | ||
289 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
290 | <details key="kind" value="element"/> | ||
291 | <details key="name" value="eTypeParameters"/> | ||
292 | </eAnnotations> | ||
293 | </eStructuralFeatures> | ||
294 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="#//EJavaObject" | ||
295 | changeable="false" volatile="true" transient="true" derived="true"> | ||
296 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
297 | <details key="kind" value="attribute"/> | ||
298 | <details key="name" value="defaultValue"/> | ||
299 | </eAnnotations> | ||
300 | </eStructuralFeatures> | ||
301 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClass" changeable="false" | ||
302 | volatile="true" transient="true" derived="true"> | ||
303 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
304 | <details key="kind" value="attribute"/> | ||
305 | <details key="name" value="instanceClass"/> | ||
306 | </eAnnotations> | ||
307 | <eGenericType eClassifier="#//EJavaClass"> | ||
308 | <eTypeArguments/> | ||
309 | </eGenericType> | ||
310 | </eStructuralFeatures> | ||
311 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClassName" eType="#//EString" | ||
312 | volatile="true" unsettable="true"> | ||
313 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
314 | <details key="kind" value="attribute"/> | ||
315 | <details key="name" value="instanceClassName"/> | ||
316 | </eAnnotations> | ||
317 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
318 | <details key="suppressedIsSetVisibility" value="true"/> | ||
319 | <details key="suppressedUnsetVisibility" value="true"/> | ||
320 | </eAnnotations> | ||
321 | </eStructuralFeatures> | ||
322 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceTypeName" eType="#//EString" | ||
323 | volatile="true" unsettable="true"> | ||
324 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
325 | <details key="kind" value="attribute"/> | ||
326 | <details key="name" value="instanceTypeName"/> | ||
327 | </eAnnotations> | ||
328 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
329 | <details key="suppressedIsSetVisibility" value="true"/> | ||
330 | <details key="suppressedUnsetVisibility" value="true"/> | ||
331 | </eAnnotations> | ||
332 | </eStructuralFeatures> | ||
333 | <eStructuralFeatures xsi:type="ecore:EReference" name="ePackage" eType="#//EPackage" | ||
334 | transient="true" eOpposite="#//EPackage/eClassifiers"/> | ||
335 | </eClassifiers> | ||
336 | <eClassifiers xsi:type="ecore:EClass" name="EDataType" eSuperTypes="#//EClassifier"> | ||
337 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
338 | <details key="name" value="EDataType"/> | ||
339 | <details key="kind" value="elementOnly"/> | ||
340 | </eAnnotations> | ||
341 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="serializable" eType="#//EBoolean" | ||
342 | defaultValueLiteral="true"> | ||
343 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
344 | <details key="kind" value="attribute"/> | ||
345 | <details key="name" value="serializable"/> | ||
346 | </eAnnotations> | ||
347 | </eStructuralFeatures> | ||
348 | </eClassifiers> | ||
349 | <eClassifiers xsi:type="ecore:EDataType" name="EDate" instanceClassName="java.util.Date"> | ||
350 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
351 | <details key="name" value="EDate"/> | ||
352 | </eAnnotations> | ||
353 | </eClassifiers> | ||
354 | <eClassifiers xsi:type="ecore:EDataType" name="EDiagnosticChain" instanceClassName="org.eclipse.emf.common.util.DiagnosticChain" | ||
355 | serializable="false"> | ||
356 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
357 | <details key="name" value="EDiagnosticChain"/> | ||
358 | </eAnnotations> | ||
359 | </eClassifiers> | ||
360 | <eClassifiers xsi:type="ecore:EDataType" name="EDouble" instanceClassName="double"> | ||
361 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
362 | <details key="name" value="EDouble"/> | ||
363 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#double"/> | ||
364 | </eAnnotations> | ||
365 | </eClassifiers> | ||
366 | <eClassifiers xsi:type="ecore:EDataType" name="EDoubleObject" instanceClassName="java.lang.Double"> | ||
367 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
368 | <details key="name" value="EDouble:Object"/> | ||
369 | <details key="baseType" value="EDouble"/> | ||
370 | </eAnnotations> | ||
371 | </eClassifiers> | ||
372 | <eClassifiers xsi:type="ecore:EDataType" name="EEList" instanceClassName="org.eclipse.emf.common.util.EList" | ||
373 | serializable="false"> | ||
374 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
375 | <details key="name" value="EEList"/> | ||
376 | </eAnnotations> | ||
377 | <eTypeParameters name="E"/> | ||
378 | </eClassifiers> | ||
379 | <eClassifiers xsi:type="ecore:EClass" name="EEnum" eSuperTypes="#//EDataType"> | ||
380 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
381 | <details key="name" value="EEnum"/> | ||
382 | <details key="kind" value="elementOnly"/> | ||
383 | </eAnnotations> | ||
384 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
385 | <details key="constraints" value="UniqueEnumeratorNames UniqueEnumeratorLiterals"/> | ||
386 | </eAnnotations> | ||
387 | <eOperations name="getEEnumLiteral" eType="#//EEnumLiteral"> | ||
388 | <eParameters name="name" eType="#//EString"/> | ||
389 | </eOperations> | ||
390 | <eOperations name="getEEnumLiteral" eType="#//EEnumLiteral"> | ||
391 | <eParameters name="value" eType="#//EInt"/> | ||
392 | </eOperations> | ||
393 | <eOperations name="getEEnumLiteralByLiteral" eType="#//EEnumLiteral"> | ||
394 | <eParameters name="literal" eType="#//EString"/> | ||
395 | </eOperations> | ||
396 | <eStructuralFeatures xsi:type="ecore:EReference" name="eLiterals" upperBound="-1" | ||
397 | eType="#//EEnumLiteral" containment="true" resolveProxies="false" eOpposite="#//EEnumLiteral/eEnum"> | ||
398 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
399 | <details key="kind" value="element"/> | ||
400 | <details key="name" value="eLiterals"/> | ||
401 | </eAnnotations> | ||
402 | </eStructuralFeatures> | ||
403 | </eClassifiers> | ||
404 | <eClassifiers xsi:type="ecore:EDataType" name="EEnumerator" instanceClassName="org.eclipse.emf.common.util.Enumerator" | ||
405 | serializable="false"> | ||
406 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
407 | <details key="name" value="EEnumerator"/> | ||
408 | </eAnnotations> | ||
409 | </eClassifiers> | ||
410 | <eClassifiers xsi:type="ecore:EClass" name="EEnumLiteral" eSuperTypes="#//ENamedElement"> | ||
411 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
412 | <details key="name" value="EEnumLiteral"/> | ||
413 | <details key="kind" value="elementOnly"/> | ||
414 | </eAnnotations> | ||
415 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="instance" eType="#//EEnumerator" | ||
416 | transient="true"> | ||
417 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
418 | <details key="kind" value="attribute"/> | ||
419 | <details key="name" value="instance"/> | ||
420 | </eAnnotations> | ||
421 | </eStructuralFeatures> | ||
422 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="#//EString"> | ||
423 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
424 | <details key="kind" value="attribute"/> | ||
425 | <details key="name" value="literal"/> | ||
426 | </eAnnotations> | ||
427 | </eStructuralFeatures> | ||
428 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//EInt"> | ||
429 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
430 | <details key="kind" value="attribute"/> | ||
431 | <details key="name" value="value"/> | ||
432 | </eAnnotations> | ||
433 | </eStructuralFeatures> | ||
434 | <eStructuralFeatures xsi:type="ecore:EReference" name="eEnum" eType="#//EEnum" | ||
435 | transient="true" eOpposite="#//EEnum/eLiterals"/> | ||
436 | </eClassifiers> | ||
437 | <eClassifiers xsi:type="ecore:EClass" name="EFactory" eSuperTypes="#//EModelElement"> | ||
438 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
439 | <details key="name" value="EFactory"/> | ||
440 | <details key="kind" value="elementOnly"/> | ||
441 | </eAnnotations> | ||
442 | <eOperations name="create" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"> | ||
443 | <eParameters name="eClass" eType="#//EClass"/> | ||
444 | </eOperations> | ||
445 | <eOperations name="createFromString" eType="#//EJavaObject"> | ||
446 | <eParameters name="eDataType" eType="#//EDataType"/> | ||
447 | <eParameters name="literalValue" eType="#//EString"/> | ||
448 | </eOperations> | ||
449 | <eOperations name="convertToString" eType="#//EString"> | ||
450 | <eParameters name="eDataType" eType="#//EDataType"/> | ||
451 | <eParameters name="instanceValue" eType="#//EJavaObject"/> | ||
452 | </eOperations> | ||
453 | <eStructuralFeatures xsi:type="ecore:EReference" name="ePackage" lowerBound="1" | ||
454 | eType="#//EPackage" transient="true" resolveProxies="false"> | ||
455 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
456 | <details key="kind" value="attribute"/> | ||
457 | <details key="name" value="ePackage"/> | ||
458 | </eAnnotations> | ||
459 | </eStructuralFeatures> | ||
460 | </eClassifiers> | ||
461 | <eClassifiers xsi:type="ecore:EDataType" name="EFeatureMap" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap" | ||
462 | serializable="false"> | ||
463 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
464 | <details key="name" value="EFeatureMap"/> | ||
465 | </eAnnotations> | ||
466 | </eClassifiers> | ||
467 | <eClassifiers xsi:type="ecore:EDataType" name="EFeatureMapEntry" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap$Entry" | ||
468 | serializable="false"> | ||
469 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
470 | <details key="name" value="EFeatureMapEntry"/> | ||
471 | </eAnnotations> | ||
472 | </eClassifiers> | ||
473 | <eClassifiers xsi:type="ecore:EDataType" name="EFloat" instanceClassName="float"> | ||
474 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
475 | <details key="name" value="EFloat"/> | ||
476 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#float"/> | ||
477 | </eAnnotations> | ||
478 | </eClassifiers> | ||
479 | <eClassifiers xsi:type="ecore:EDataType" name="EFloatObject" instanceClassName="java.lang.Float"> | ||
480 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
481 | <details key="name" value="EFloat:Object"/> | ||
482 | <details key="baseType" value="EFloat"/> | ||
483 | </eAnnotations> | ||
484 | </eClassifiers> | ||
485 | <eClassifiers xsi:type="ecore:EClass" name="EGenericType"> | ||
486 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
487 | <details key="name" value="EGenericType"/> | ||
488 | <details key="kind" value="elementOnly"/> | ||
489 | </eAnnotations> | ||
490 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
491 | <details key="constraints" value="ConsistentType ConsistentBounds ConsistentArguments"/> | ||
492 | </eAnnotations> | ||
493 | <eStructuralFeatures xsi:type="ecore:EReference" name="eUpperBound" eType="#//EGenericType" | ||
494 | containment="true" resolveProxies="false"> | ||
495 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
496 | <details key="kind" value="element"/> | ||
497 | <details key="name" value="eUpperBound"/> | ||
498 | </eAnnotations> | ||
499 | </eStructuralFeatures> | ||
500 | <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeArguments" upperBound="-1" | ||
501 | eType="#//EGenericType" containment="true" resolveProxies="false"> | ||
502 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
503 | <details key="kind" value="element"/> | ||
504 | <details key="name" value="eTypeArguments"/> | ||
505 | </eAnnotations> | ||
506 | </eStructuralFeatures> | ||
507 | <eStructuralFeatures xsi:type="ecore:EReference" name="eLowerBound" eType="#//EGenericType" | ||
508 | containment="true" resolveProxies="false"> | ||
509 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
510 | <details key="kind" value="element"/> | ||
511 | <details key="name" value="eLowerBound"/> | ||
512 | </eAnnotations> | ||
513 | </eStructuralFeatures> | ||
514 | <eStructuralFeatures xsi:type="ecore:EReference" name="eClassifier" eType="#//EClassifier"> | ||
515 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
516 | <details key="kind" value="attribute"/> | ||
517 | <details key="name" value="eClassifier"/> | ||
518 | </eAnnotations> | ||
519 | </eStructuralFeatures> | ||
520 | <eStructuralFeatures xsi:type="ecore:EReference" name="eRawType" lowerBound="1" | ||
521 | eType="#//EClassifier" changeable="false" transient="true" derived="true"> | ||
522 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
523 | <details key="kind" value="attribute"/> | ||
524 | <details key="name" value="eRawType"/> | ||
525 | </eAnnotations> | ||
526 | </eStructuralFeatures> | ||
527 | <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameter" eType="#//ETypeParameter" | ||
528 | resolveProxies="false"> | ||
529 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
530 | <details key="kind" value="attribute"/> | ||
531 | <details key="name" value="eTypeParameter"/> | ||
532 | </eAnnotations> | ||
533 | </eStructuralFeatures> | ||
534 | </eClassifiers> | ||
535 | <eClassifiers xsi:type="ecore:EDataType" name="EInt" instanceClassName="int"> | ||
536 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
537 | <details key="name" value="EInt"/> | ||
538 | </eAnnotations> | ||
539 | </eClassifiers> | ||
540 | <eClassifiers xsi:type="ecore:EDataType" name="EIntegerObject" instanceClassName="java.lang.Integer"> | ||
541 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
542 | <details key="name" value="EInt:Object"/> | ||
543 | <details key="baseType" value="EInt"/> | ||
544 | </eAnnotations> | ||
545 | </eClassifiers> | ||
546 | <eClassifiers xsi:type="ecore:EDataType" name="EInvocationTargetException" instanceClassName="java.lang.reflect.InvocationTargetException" | ||
547 | serializable="false"> | ||
548 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
549 | <details key="name" value="EInvocationTargetException"/> | ||
550 | </eAnnotations> | ||
551 | </eClassifiers> | ||
552 | <eClassifiers xsi:type="ecore:EDataType" name="EJavaClass" instanceClassName="java.lang.Class"> | ||
553 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
554 | <details key="name" value="EJavaClass"/> | ||
555 | </eAnnotations> | ||
556 | <eTypeParameters name="T"/> | ||
557 | </eClassifiers> | ||
558 | <eClassifiers xsi:type="ecore:EDataType" name="EJavaObject" instanceClassName="java.lang.Object"> | ||
559 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
560 | <details key="name" value="EJavaObject"/> | ||
561 | </eAnnotations> | ||
562 | </eClassifiers> | ||
563 | <eClassifiers xsi:type="ecore:EDataType" name="ELong" instanceClassName="long"> | ||
564 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
565 | <details key="name" value="ELong"/> | ||
566 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#long"/> | ||
567 | </eAnnotations> | ||
568 | </eClassifiers> | ||
569 | <eClassifiers xsi:type="ecore:EDataType" name="ELongObject" instanceClassName="java.lang.Long"> | ||
570 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
571 | <details key="name" value="ELong:Object"/> | ||
572 | <details key="baseType" value="ELong"/> | ||
573 | </eAnnotations> | ||
574 | </eClassifiers> | ||
575 | <eClassifiers xsi:type="ecore:EDataType" name="EMap" instanceClassName="java.util.Map" | ||
576 | serializable="false"> | ||
577 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
578 | <details key="name" value="EMap"/> | ||
579 | </eAnnotations> | ||
580 | <eTypeParameters name="K"/> | ||
581 | <eTypeParameters name="V"/> | ||
582 | </eClassifiers> | ||
583 | <eClassifiers xsi:type="ecore:EClass" name="EModelElement" abstract="true"> | ||
584 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
585 | <details key="name" value="EModelElement"/> | ||
586 | <details key="kind" value="elementOnly"/> | ||
587 | </eAnnotations> | ||
588 | <eOperations name="getEAnnotation" eType="#//EAnnotation"> | ||
589 | <eParameters name="source" eType="#//EString"/> | ||
590 | </eOperations> | ||
591 | <eStructuralFeatures xsi:type="ecore:EReference" name="eAnnotations" upperBound="-1" | ||
592 | eType="#//EAnnotation" containment="true" resolveProxies="false" eOpposite="#//EAnnotation/eModelElement"> | ||
593 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
594 | <details key="kind" value="element"/> | ||
595 | <details key="name" value="eAnnotations"/> | ||
596 | </eAnnotations> | ||
597 | </eStructuralFeatures> | ||
598 | </eClassifiers> | ||
599 | <eClassifiers xsi:type="ecore:EClass" name="ENamedElement" abstract="true" eSuperTypes="#//EModelElement"> | ||
600 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
601 | <details key="name" value="ENamedElement"/> | ||
602 | <details key="kind" value="elementOnly"/> | ||
603 | </eAnnotations> | ||
604 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
605 | <details key="constraints" value="WellFormedName"/> | ||
606 | </eAnnotations> | ||
607 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//EString"> | ||
608 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
609 | <details key="kind" value="attribute"/> | ||
610 | <details key="name" value="name"/> | ||
611 | </eAnnotations> | ||
612 | </eStructuralFeatures> | ||
613 | </eClassifiers> | ||
614 | <eClassifiers xsi:type="ecore:EClass" name="EObject"> | ||
615 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
616 | <details key="name" value="EObject"/> | ||
617 | <details key="kind" value="empty"/> | ||
618 | </eAnnotations> | ||
619 | <eOperations name="eClass" eType="#//EClass"/> | ||
620 | <eOperations name="eIsProxy" eType="#//EBoolean"/> | ||
621 | <eOperations name="eResource" eType="#//EResource"/> | ||
622 | <eOperations name="eContainer" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> | ||
623 | <eOperations name="eContainingFeature" eType="#//EStructuralFeature"/> | ||
624 | <eOperations name="eContainmentFeature" eType="#//EReference"/> | ||
625 | <eOperations name="eContents"> | ||
626 | <eGenericType eClassifier="#//EEList"> | ||
627 | <eTypeArguments eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> | ||
628 | </eGenericType> | ||
629 | </eOperations> | ||
630 | <eOperations name="eAllContents"> | ||
631 | <eGenericType eClassifier="#//ETreeIterator"> | ||
632 | <eTypeArguments eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> | ||
633 | </eGenericType> | ||
634 | </eOperations> | ||
635 | <eOperations name="eCrossReferences"> | ||
636 | <eGenericType eClassifier="#//EEList"> | ||
637 | <eTypeArguments eClassifier="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> | ||
638 | </eGenericType> | ||
639 | </eOperations> | ||
640 | <eOperations name="eGet" eType="#//EJavaObject"> | ||
641 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
642 | </eOperations> | ||
643 | <eOperations name="eGet" eType="#//EJavaObject"> | ||
644 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
645 | <eParameters name="resolve" eType="#//EBoolean"/> | ||
646 | </eOperations> | ||
647 | <eOperations name="eSet"> | ||
648 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
649 | <eParameters name="newValue" eType="#//EJavaObject"/> | ||
650 | </eOperations> | ||
651 | <eOperations name="eIsSet" eType="#//EBoolean"> | ||
652 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
653 | </eOperations> | ||
654 | <eOperations name="eUnset"> | ||
655 | <eParameters name="feature" eType="#//EStructuralFeature"/> | ||
656 | </eOperations> | ||
657 | <eOperations name="eInvoke" eType="#//EJavaObject" eExceptions="#//EInvocationTargetException"> | ||
658 | <eParameters name="operation" eType="#//EOperation"/> | ||
659 | <eParameters name="arguments"> | ||
660 | <eGenericType eClassifier="#//EEList"> | ||
661 | <eTypeArguments/> | ||
662 | </eGenericType> | ||
663 | </eParameters> | ||
664 | </eOperations> | ||
665 | </eClassifiers> | ||
666 | <eClassifiers xsi:type="ecore:EClass" name="EOperation" eSuperTypes="#//ETypedElement"> | ||
667 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
668 | <details key="name" value="EOperation"/> | ||
669 | <details key="kind" value="elementOnly"/> | ||
670 | </eAnnotations> | ||
671 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
672 | <details key="constraints" value="UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid"/> | ||
673 | </eAnnotations> | ||
674 | <eOperations name="getOperationID" eType="#//EInt"/> | ||
675 | <eOperations name="isOverrideOf" eType="#//EBoolean"> | ||
676 | <eParameters name="someOperation" eType="#//EOperation"/> | ||
677 | </eOperations> | ||
678 | <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameters" upperBound="-1" | ||
679 | eType="#//ETypeParameter" containment="true"> | ||
680 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
681 | <details key="kind" value="element"/> | ||
682 | <details key="name" value="eTypeParameters"/> | ||
683 | </eAnnotations> | ||
684 | </eStructuralFeatures> | ||
685 | <eStructuralFeatures xsi:type="ecore:EReference" name="eParameters" upperBound="-1" | ||
686 | eType="#//EParameter" containment="true" resolveProxies="false" eOpposite="#//EParameter/eOperation"> | ||
687 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
688 | <details key="kind" value="element"/> | ||
689 | <details key="name" value="eParameters"/> | ||
690 | </eAnnotations> | ||
691 | </eStructuralFeatures> | ||
692 | <eStructuralFeatures xsi:type="ecore:EReference" name="eGenericExceptions" upperBound="-1" | ||
693 | eType="#//EGenericType" unsettable="true" containment="true" resolveProxies="false"> | ||
694 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
695 | <details key="kind" value="element"/> | ||
696 | <details key="name" value="eGenericExceptions"/> | ||
697 | </eAnnotations> | ||
698 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
699 | <details key="suppressedIsSetVisibility" value="true"/> | ||
700 | <details key="suppressedUnsetVisibility" value="true"/> | ||
701 | </eAnnotations> | ||
702 | </eStructuralFeatures> | ||
703 | <eStructuralFeatures xsi:type="ecore:EReference" name="eExceptions" upperBound="-1" | ||
704 | eType="#//EClassifier" unsettable="true"> | ||
705 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
706 | <details key="kind" value="attribute"/> | ||
707 | <details key="name" value="eExceptions"/> | ||
708 | </eAnnotations> | ||
709 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
710 | <details key="suppressedIsSetVisibility" value="true"/> | ||
711 | <details key="suppressedUnsetVisibility" value="true"/> | ||
712 | </eAnnotations> | ||
713 | </eStructuralFeatures> | ||
714 | <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingClass" eType="#//EClass" | ||
715 | transient="true" eOpposite="#//EClass/eOperations"/> | ||
716 | </eClassifiers> | ||
717 | <eClassifiers xsi:type="ecore:EClass" name="EPackage" eSuperTypes="#//ENamedElement"> | ||
718 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
719 | <details key="name" value="EPackage"/> | ||
720 | <details key="kind" value="elementOnly"/> | ||
721 | </eAnnotations> | ||
722 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
723 | <details key="constraints" value="WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs"/> | ||
724 | </eAnnotations> | ||
725 | <eOperations name="getEClassifier" eType="#//EClassifier"> | ||
726 | <eParameters name="name" eType="#//EString"/> | ||
727 | </eOperations> | ||
728 | <eStructuralFeatures xsi:type="ecore:EReference" name="eClassifiers" upperBound="-1" | ||
729 | eType="#//EClassifier" containment="true" eOpposite="#//EClassifier/ePackage"> | ||
730 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
731 | <details key="kind" value="element"/> | ||
732 | <details key="name" value="eClassifiers"/> | ||
733 | </eAnnotations> | ||
734 | </eStructuralFeatures> | ||
735 | <eStructuralFeatures xsi:type="ecore:EReference" name="eSubpackages" upperBound="-1" | ||
736 | eType="#//EPackage" containment="true" eOpposite="#//EPackage/eSuperPackage"> | ||
737 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
738 | <details key="kind" value="element"/> | ||
739 | <details key="name" value="eSubpackages"/> | ||
740 | </eAnnotations> | ||
741 | </eStructuralFeatures> | ||
742 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsPrefix" eType="#//EString"> | ||
743 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
744 | <details key="kind" value="attribute"/> | ||
745 | <details key="name" value="nsPrefix"/> | ||
746 | </eAnnotations> | ||
747 | </eStructuralFeatures> | ||
748 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsURI" eType="#//EString"> | ||
749 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
750 | <details key="kind" value="attribute"/> | ||
751 | <details key="name" value="nsURI"/> | ||
752 | </eAnnotations> | ||
753 | </eStructuralFeatures> | ||
754 | <eStructuralFeatures xsi:type="ecore:EReference" name="eSuperPackage" eType="#//EPackage" | ||
755 | transient="true" eOpposite="#//EPackage/eSubpackages"/> | ||
756 | </eClassifiers> | ||
757 | <eClassifiers xsi:type="ecore:EClass" name="EParameter" eSuperTypes="#//ETypedElement"> | ||
758 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
759 | <details key="name" value="EParameter"/> | ||
760 | <details key="kind" value="elementOnly"/> | ||
761 | </eAnnotations> | ||
762 | <eStructuralFeatures xsi:type="ecore:EReference" name="eOperation" eType="#//EOperation" | ||
763 | transient="true" eOpposite="#//EOperation/eParameters"/> | ||
764 | </eClassifiers> | ||
765 | <eClassifiers xsi:type="ecore:EClass" name="EReference" eSuperTypes="#//EStructuralFeature"> | ||
766 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
767 | <details key="name" value="EReference"/> | ||
768 | <details key="kind" value="elementOnly"/> | ||
769 | </eAnnotations> | ||
770 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
771 | <details key="constraints" value="ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer"/> | ||
772 | </eAnnotations> | ||
773 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="container" eType="#//EBoolean" | ||
774 | changeable="false" volatile="true" transient="true" derived="true"> | ||
775 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
776 | <details key="kind" value="attribute"/> | ||
777 | <details key="name" value="container"/> | ||
778 | </eAnnotations> | ||
779 | </eStructuralFeatures> | ||
780 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="#//EBoolean"> | ||
781 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
782 | <details key="kind" value="attribute"/> | ||
783 | <details key="name" value="containment"/> | ||
784 | </eAnnotations> | ||
785 | </eStructuralFeatures> | ||
786 | <eStructuralFeatures xsi:type="ecore:EReference" name="eKeys" upperBound="-1" | ||
787 | eType="#//EAttribute"> | ||
788 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
789 | <details key="kind" value="attribute"/> | ||
790 | <details key="name" value="eKeys"/> | ||
791 | </eAnnotations> | ||
792 | </eStructuralFeatures> | ||
793 | <eStructuralFeatures xsi:type="ecore:EReference" name="eOpposite" eType="#//EReference"> | ||
794 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
795 | <details key="kind" value="attribute"/> | ||
796 | <details key="name" value="eOpposite"/> | ||
797 | </eAnnotations> | ||
798 | </eStructuralFeatures> | ||
799 | <eStructuralFeatures xsi:type="ecore:EReference" name="eReferenceType" lowerBound="1" | ||
800 | eType="#//EClass" changeable="false" volatile="true" transient="true" derived="true"> | ||
801 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
802 | <details key="kind" value="attribute"/> | ||
803 | <details key="name" value="eReferenceType"/> | ||
804 | </eAnnotations> | ||
805 | </eStructuralFeatures> | ||
806 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="resolveProxies" eType="#//EBoolean" | ||
807 | defaultValueLiteral="true"> | ||
808 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
809 | <details key="kind" value="attribute"/> | ||
810 | <details key="name" value="resolveProxies"/> | ||
811 | </eAnnotations> | ||
812 | </eStructuralFeatures> | ||
813 | </eClassifiers> | ||
814 | <eClassifiers xsi:type="ecore:EDataType" name="EResource" instanceClassName="org.eclipse.emf.ecore.resource.Resource" | ||
815 | serializable="false"> | ||
816 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
817 | <details key="name" value="EResource"/> | ||
818 | </eAnnotations> | ||
819 | </eClassifiers> | ||
820 | <eClassifiers xsi:type="ecore:EDataType" name="EResourceSet" instanceClassName="org.eclipse.emf.ecore.resource.ResourceSet" | ||
821 | serializable="false"> | ||
822 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
823 | <details key="name" value="EResourceSet"/> | ||
824 | </eAnnotations> | ||
825 | </eClassifiers> | ||
826 | <eClassifiers xsi:type="ecore:EDataType" name="EShort" instanceClassName="short"> | ||
827 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
828 | <details key="name" value="EShort"/> | ||
829 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#short"/> | ||
830 | </eAnnotations> | ||
831 | </eClassifiers> | ||
832 | <eClassifiers xsi:type="ecore:EDataType" name="EShortObject" instanceClassName="java.lang.Short"> | ||
833 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
834 | <details key="name" value="EShort:Object"/> | ||
835 | <details key="baseType" value="EShort"/> | ||
836 | </eAnnotations> | ||
837 | </eClassifiers> | ||
838 | <eClassifiers xsi:type="ecore:EDataType" name="EString" instanceClassName="java.lang.String"> | ||
839 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
840 | <details key="name" value="EString"/> | ||
841 | <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#string"/> | ||
842 | </eAnnotations> | ||
843 | </eClassifiers> | ||
844 | <eClassifiers xsi:type="ecore:EClass" name="EStringToStringMapEntry" instanceClassName="java.util.Map$Entry"> | ||
845 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
846 | <details key="name" value="EStringToStringMapEntry"/> | ||
847 | <details key="kind" value="empty"/> | ||
848 | </eAnnotations> | ||
849 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="#//EString"> | ||
850 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
851 | <details key="kind" value="attribute"/> | ||
852 | <details key="name" value="key"/> | ||
853 | </eAnnotations> | ||
854 | </eStructuralFeatures> | ||
855 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//EString"> | ||
856 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
857 | <details key="kind" value="attribute"/> | ||
858 | <details key="name" value="value"/> | ||
859 | </eAnnotations> | ||
860 | </eStructuralFeatures> | ||
861 | </eClassifiers> | ||
862 | <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeature" abstract="true" | ||
863 | eSuperTypes="#//ETypedElement"> | ||
864 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
865 | <details key="name" value="EStructuralFeature"/> | ||
866 | <details key="kind" value="elementOnly"/> | ||
867 | </eAnnotations> | ||
868 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
869 | <details key="constraints" value="ValidDefaultValueLiteral"/> | ||
870 | </eAnnotations> | ||
871 | <eOperations name="getFeatureID" eType="#//EInt"/> | ||
872 | <eOperations name="getContainerClass"> | ||
873 | <eGenericType eClassifier="#//EJavaClass"> | ||
874 | <eTypeArguments/> | ||
875 | </eGenericType> | ||
876 | </eOperations> | ||
877 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="changeable" eType="#//EBoolean" | ||
878 | defaultValueLiteral="true"> | ||
879 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
880 | <details key="kind" value="attribute"/> | ||
881 | <details key="name" value="changeable"/> | ||
882 | </eAnnotations> | ||
883 | </eStructuralFeatures> | ||
884 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="#//EJavaObject" | ||
885 | changeable="false" volatile="true" transient="true" derived="true"> | ||
886 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
887 | <details key="kind" value="attribute"/> | ||
888 | <details key="name" value="defaultValue"/> | ||
889 | </eAnnotations> | ||
890 | </eStructuralFeatures> | ||
891 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValueLiteral" eType="#//EString"> | ||
892 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
893 | <details key="kind" value="attribute"/> | ||
894 | <details key="name" value="defaultValueLiteral"/> | ||
895 | </eAnnotations> | ||
896 | </eStructuralFeatures> | ||
897 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="derived" eType="#//EBoolean"> | ||
898 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
899 | <details key="kind" value="attribute"/> | ||
900 | <details key="name" value="derived"/> | ||
901 | </eAnnotations> | ||
902 | </eStructuralFeatures> | ||
903 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" eType="#//EBoolean"> | ||
904 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
905 | <details key="kind" value="attribute"/> | ||
906 | <details key="name" value="transient"/> | ||
907 | </eAnnotations> | ||
908 | </eStructuralFeatures> | ||
909 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="unsettable" eType="#//EBoolean"> | ||
910 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
911 | <details key="kind" value="attribute"/> | ||
912 | <details key="name" value="unsettable"/> | ||
913 | </eAnnotations> | ||
914 | </eStructuralFeatures> | ||
915 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="volatile" eType="#//EBoolean"> | ||
916 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
917 | <details key="kind" value="attribute"/> | ||
918 | <details key="name" value="volatile"/> | ||
919 | </eAnnotations> | ||
920 | </eStructuralFeatures> | ||
921 | <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingClass" eType="#//EClass" | ||
922 | transient="true" eOpposite="#//EClass/eStructuralFeatures"/> | ||
923 | </eClassifiers> | ||
924 | <eClassifiers xsi:type="ecore:EDataType" name="ETreeIterator" instanceClassName="org.eclipse.emf.common.util.TreeIterator" | ||
925 | serializable="false"> | ||
926 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
927 | <details key="name" value="ETreeIterator"/> | ||
928 | </eAnnotations> | ||
929 | <eTypeParameters name="E"/> | ||
930 | </eClassifiers> | ||
931 | <eClassifiers xsi:type="ecore:EClass" name="ETypedElement" abstract="true" eSuperTypes="#//ENamedElement"> | ||
932 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
933 | <details key="name" value="ETypedElement"/> | ||
934 | <details key="kind" value="elementOnly"/> | ||
935 | </eAnnotations> | ||
936 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
937 | <details key="constraints" value="ValidLowerBound ValidUpperBound ConsistentBounds ValidType"/> | ||
938 | </eAnnotations> | ||
939 | <eStructuralFeatures xsi:type="ecore:EReference" name="eGenericType" eType="#//EGenericType" | ||
940 | volatile="true" unsettable="true" containment="true" resolveProxies="false"> | ||
941 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
942 | <details key="kind" value="element"/> | ||
943 | <details key="name" value="eGenericType"/> | ||
944 | </eAnnotations> | ||
945 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
946 | <details key="suppressedIsSetVisibility" value="true"/> | ||
947 | <details key="suppressedUnsetVisibility" value="true"/> | ||
948 | </eAnnotations> | ||
949 | </eStructuralFeatures> | ||
950 | <eStructuralFeatures xsi:type="ecore:EReference" name="eType" eType="#//EClassifier" | ||
951 | volatile="true" unsettable="true"> | ||
952 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
953 | <details key="kind" value="attribute"/> | ||
954 | <details key="name" value="eType"/> | ||
955 | </eAnnotations> | ||
956 | <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> | ||
957 | <details key="suppressedIsSetVisibility" value="true"/> | ||
958 | <details key="suppressedUnsetVisibility" value="true"/> | ||
959 | </eAnnotations> | ||
960 | </eStructuralFeatures> | ||
961 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="#//EInt"> | ||
962 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
963 | <details key="kind" value="attribute"/> | ||
964 | <details key="name" value="lowerBound"/> | ||
965 | </eAnnotations> | ||
966 | </eStructuralFeatures> | ||
967 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="many" eType="#//EBoolean" | ||
968 | changeable="false" volatile="true" transient="true" derived="true"> | ||
969 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
970 | <details key="kind" value="attribute"/> | ||
971 | <details key="name" value="many"/> | ||
972 | </eAnnotations> | ||
973 | </eStructuralFeatures> | ||
974 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordered" eType="#//EBoolean" | ||
975 | defaultValueLiteral="true"> | ||
976 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
977 | <details key="kind" value="attribute"/> | ||
978 | <details key="name" value="ordered"/> | ||
979 | </eAnnotations> | ||
980 | </eStructuralFeatures> | ||
981 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="required" eType="#//EBoolean" | ||
982 | changeable="false" volatile="true" transient="true" derived="true"> | ||
983 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
984 | <details key="kind" value="attribute"/> | ||
985 | <details key="name" value="required"/> | ||
986 | </eAnnotations> | ||
987 | </eStructuralFeatures> | ||
988 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="#//EBoolean" | ||
989 | defaultValueLiteral="true"> | ||
990 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
991 | <details key="kind" value="attribute"/> | ||
992 | <details key="name" value="unique"/> | ||
993 | </eAnnotations> | ||
994 | </eStructuralFeatures> | ||
995 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="#//EInt" | ||
996 | defaultValueLiteral="1"> | ||
997 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
998 | <details key="kind" value="attribute"/> | ||
999 | <details key="name" value="upperBound"/> | ||
1000 | </eAnnotations> | ||
1001 | </eStructuralFeatures> | ||
1002 | </eClassifiers> | ||
1003 | <eClassifiers xsi:type="ecore:EClass" name="ETypeParameter" eSuperTypes="#//ENamedElement"> | ||
1004 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
1005 | <details key="name" value="ETypeParameter"/> | ||
1006 | <details key="kind" value="elementOnly"/> | ||
1007 | </eAnnotations> | ||
1008 | <eStructuralFeatures xsi:type="ecore:EReference" name="eBounds" upperBound="-1" | ||
1009 | eType="#//EGenericType" containment="true" resolveProxies="false"> | ||
1010 | <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> | ||
1011 | <details key="kind" value="element"/> | ||
1012 | <details key="name" value="eBounds"/> | ||
1013 | </eAnnotations> | ||
1014 | </eStructuralFeatures> | ||
1015 | </eClassifiers> | ||
1016 | </ecore:EPackage> | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.xtend index 2add9f0e..dfde6593 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.xtend +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.xtend | |||
@@ -18,9 +18,9 @@ import org.eclipse.emf.ecore.EReference | |||
18 | class Main { | 18 | class Main { |
19 | var static Domain d = Domain.Yakindumm; | 19 | var static Domain d = Domain.Yakindumm; |
20 | val static String suffix = '.xmi' | 20 | val static String suffix = '.xmi' |
21 | val static String OUTPUT_FOLDER = "Inputs/yakindumm/human/humanInput100/"; | 21 | val static String OUTPUT_FOLDER = "Inputs/measurement2/yakindu/Alloy/"; |
22 | val static String INPUT_FOLDER = "outputs/Human/"; | 22 | val static String INPUT_FOLDER = "outputs/measurement2/yakindu/Alloy/"; |
23 | val static int NUM_RUNS = 100; | 23 | val static int NUM_RUNS = 1; |
24 | 24 | ||
25 | static class RWInformation{ | 25 | static class RWInformation{ |
26 | public var String inputFolder; | 26 | public var String inputFolder; |
@@ -37,7 +37,6 @@ class Main { | |||
37 | def static void main(String[] args){ | 37 | def static void main(String[] args){ |
38 | //init model | 38 | //init model |
39 | var EPackage metamodel; | 39 | var EPackage metamodel; |
40 | |||
41 | //init viatra engine for the violation checker | 40 | //init viatra engine for the violation checker |
42 | ReteEngine.getClass(); | 41 | ReteEngine.getClass(); |
43 | 42 | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend index 4c9246d1..697b2639 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend | |||
@@ -162,9 +162,11 @@ class PartialInterpretationMetricDistance { | |||
162 | def double[] calculateFeature(int step, int violations){ | 162 | def double[] calculateFeature(int step, int violations){ |
163 | var features = newDoubleArrayOfSize(2); | 163 | var features = newDoubleArrayOfSize(2); |
164 | //constant term | 164 | //constant term |
165 | features.set(0, 1); | 165 | features.set(0, 1); //a |
166 | features.set(0, Math.sqrt(step) + 30) | 166 | features.set(0, Math.sqrt(step) + 30) // b |
167 | features.set(1, 1.0 / (step + 30) ); | 167 | features.set(1, 1.0 / (step + 30) );// c |
168 | |||
169 | |||
168 | // features.set(2, violations); | 170 | // features.set(2, violations); |
169 | // features.set(3, Math.pow(violations, 2)); | 171 | // features.set(3, Math.pow(violations, 2)); |
170 | 172 | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/GraphStatistic.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/GraphStatistic.xtend index af05a1cd..31788bb2 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/GraphStatistic.xtend +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/GraphStatistic.xtend | |||
@@ -186,5 +186,9 @@ class GraphStatistic { | |||
186 | return outgoingEdges; | 186 | return outgoingEdges; |
187 | } | 187 | } |
188 | 188 | ||
189 | def HashMap<String, Multimap<EObject, EObject>> incomingEdges(){ | ||
190 | return incomingEdges; | ||
191 | } | ||
192 | |||
189 | } | 193 | } |
190 | 194 | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/GraphReader.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/GraphReader.xtend index 858113e9..053e0da3 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/GraphReader.xtend +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/GraphReader.xtend | |||
@@ -22,6 +22,7 @@ import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl | |||
22 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl | 22 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl |
23 | import org.eclipse.emf.ecore.EGenericType | 23 | import org.eclipse.emf.ecore.EGenericType |
24 | import org.eclipse.emf.ecore.EStructuralFeature | 24 | import org.eclipse.emf.ecore.EStructuralFeature |
25 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.TypedClusteringCoefficientMetric | ||
25 | 26 | ||
26 | class GraphReader{ | 27 | class GraphReader{ |
27 | val ResourceSet resSet = new ResourceSetImpl(); | 28 | val ResourceSet resSet = new ResourceSetImpl(); |
@@ -58,8 +59,6 @@ class GraphReader{ | |||
58 | var count = 1 | 59 | var count = 1 |
59 | //check all files in the directory with suffix | 60 | //check all files in the directory with suffix |
60 | for(String name : dir.list.filter[it| it.endsWith(suffix)]){ | 61 | for(String name : dir.list.filter[it| it.endsWith(suffix)]){ |
61 | println(name) | ||
62 | println(count) | ||
63 | val file = new File(name); | 62 | val file = new File(name); |
64 | val roots = readModel(EObject, path, file.name); | 63 | val roots = readModel(EObject, path, file.name); |
65 | //add a list of metrics | 64 | //add a list of metrics |
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend index 06e88efc..2e7be586 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend | |||
@@ -2,6 +2,7 @@ package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io | |||
2 | 2 | ||
3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain | 3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain |
4 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup | 4 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup |
5 | import github.impl.GithubPackageImpl | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl | 6 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl |
6 | import java.util.HashMap | 7 | import java.util.HashMap |
7 | import org.eclipse.emf.ecore.EReference | 8 | import org.eclipse.emf.ecore.EReference |
@@ -19,7 +20,7 @@ class RepMetricsReader { | |||
19 | }else if (d == Domain.Ecore){ | 20 | }else if (d == Domain.Ecore){ |
20 | reader = new GraphReader(EcorePackageImpl.eINSTANCE, '.ecore'); | 21 | reader = new GraphReader(EcorePackageImpl.eINSTANCE, '.ecore'); |
21 | }else if (d == Domain.Github){ | 22 | }else if (d == Domain.Github){ |
22 | // Initialize the reader with github package | 23 | reader = new GraphReader(GithubPackageImpl.eINSTANCE, '.githubmodel') |
23 | } | 24 | } |
24 | 25 | ||
25 | domain = d; | 26 | domain = d; |
@@ -58,6 +59,13 @@ class RepMetricsReader { | |||
58 | nodeTypeSamples.put('EGenericType', 0.002014098690835851); | 59 | nodeTypeSamples.put('EGenericType', 0.002014098690835851); |
59 | nodeTypeSamples.put('EOperation', 0.009415911379657605); | 60 | nodeTypeSamples.put('EOperation', 0.009415911379657605); |
60 | nodeTypeSamples.put('ETypeParameter', 0.0007049345417925478); | 61 | nodeTypeSamples.put('ETypeParameter', 0.0007049345417925478); |
62 | }else if (d == Domain.Github){ | ||
63 | nodeTypeSamples.put('Project', 0.012636538873420432); | ||
64 | nodeTypeSamples.put('Commit', 0.5525808524309276); | ||
65 | nodeTypeSamples.put('User', 0.05847076461769116); | ||
66 | nodeTypeSamples.put('Issue', 0.12743628185907047); | ||
67 | nodeTypeSamples.put('PullRequest', 0.07560505461554937); | ||
68 | nodeTypeSamples.put('IssueEvent', 0.17327050760334123); | ||
61 | } | 69 | } |
62 | 70 | ||
63 | 71 | ||
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/metrics/TypedClusteringCoefficientMetric.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/metrics/TypedClusteringCoefficientMetric.xtend index 93f5ccd4..0b6d61c6 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/metrics/TypedClusteringCoefficientMetric.xtend +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/metrics/TypedClusteringCoefficientMetric.xtend | |||
@@ -4,6 +4,7 @@ import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.GraphStatis | |||
4 | import java.text.DecimalFormat | 4 | import java.text.DecimalFormat |
5 | import java.util.ArrayList | 5 | import java.util.ArrayList |
6 | import java.util.HashMap | 6 | import java.util.HashMap |
7 | import java.util.HashSet | ||
7 | import org.eclipse.emf.ecore.EObject | 8 | import org.eclipse.emf.ecore.EObject |
8 | 9 | ||
9 | class TypedClusteringCoefficientMetric extends Metric { | 10 | class TypedClusteringCoefficientMetric extends Metric { |
@@ -18,7 +19,9 @@ class TypedClusteringCoefficientMetric extends Metric { | |||
18 | //calculate the metric distribution | 19 | //calculate the metric distribution |
19 | g.allNodes.forEach[n| | 20 | g.allNodes.forEach[n| |
20 | var coef = calculateTCC1(n, g); | 21 | var coef = calculateTCC1(n, g); |
21 | 22 | if(coef > 0){ | |
23 | println(n); | ||
24 | } | ||
22 | //format number to String | 25 | //format number to String |
23 | val value = formatter.format(coef); | 26 | val value = formatter.format(coef); |
24 | if(!map.containsKey(value)){ | 27 | if(!map.containsKey(value)){ |
@@ -61,15 +64,20 @@ class TypedClusteringCoefficientMetric extends Metric { | |||
61 | var triangles = 0; | 64 | var triangles = 0; |
62 | 65 | ||
63 | for(type1 : g.allTypes){ | 66 | for(type1 : g.allTypes){ |
64 | val type1EdgeTargetNodes = g.outgoingEdges.get(type1).values; | 67 | val typed1RelatedOfN = new HashSet<EObject>(g.outgoingEdges.get(type1).get(n)); |
68 | val type1EdgeSourceNodesOfN = new HashSet<EObject>(g.incomingEdges.get(type1).get(n)); | ||
69 | |||
70 | typed1RelatedOfN.addAll(type1EdgeSourceNodesOfN); | ||
71 | |||
72 | |||
65 | 73 | ||
66 | // number of wedges | 74 | // number of wedges |
67 | val d = type1EdgeTargetNodes.size | 75 | val d = typed1RelatedOfN.size |
68 | wedges += d * (d-1) | 76 | wedges += d * (d-1) // we will also count each closed triangle twice |
69 | 77 | ||
70 | // pairs of neighbors | 78 | // pairs of neighbors |
71 | for (n1: type1EdgeTargetNodes) { | 79 | for (n1: typed1RelatedOfN) { |
72 | for (n2: type1EdgeTargetNodes) { | 80 | for (n2: typed1RelatedOfN) { |
73 | for(type2 : g.allTypes){ | 81 | for(type2 : g.allTypes){ |
74 | if ((type1 != type2) && | 82 | if ((type1 != type2) && |
75 | (g.outgoingEdges.get(type2).containsEntry(n1, n2) || | 83 | (g.outgoingEdges.get(type2).containsEntry(n1, n2) || |
@@ -81,10 +89,11 @@ class TypedClusteringCoefficientMetric extends Metric { | |||
81 | } | 89 | } |
82 | } | 90 | } |
83 | } | 91 | } |
92 | |||
84 | if (wedges == 0.0) { | 93 | if (wedges == 0.0) { |
85 | return 0.0 | 94 | return 0.0 |
86 | } else { | 95 | } else { |
87 | return triangles/wedges | 96 | return (triangles as double)/wedges |
88 | } | 97 | } |
89 | } | 98 | } |
90 | } \ No newline at end of file | 99 | } \ No newline at end of file |
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend index 3c98bb1c..4db5f940 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend | |||
@@ -2,7 +2,7 @@ package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.validation | |||
2 | 2 | ||
3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain | 3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain |
4 | import com.google.common.reflect.ClassPath | 4 | import com.google.common.reflect.ClassPath |
5 | import ecore.Ecore_pattern | 5 | import ecore.Ecore |
6 | import hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns | 6 | import hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns |
7 | import java.util.ArrayList | 7 | import java.util.ArrayList |
8 | import org.eclipse.emf.ecore.EObject | 8 | import org.eclipse.emf.ecore.EObject |
@@ -23,7 +23,7 @@ class ViolationCheck { | |||
23 | } | 23 | } |
24 | 24 | ||
25 | var constriants = loadConstraints(packageName); | 25 | var constriants = loadConstraints(packageName); |
26 | var collections = new ConstraintCollection(constriants, Ecore_pattern.instance); | 26 | var collections = new ConstraintCollection(constriants, Ecore.instance); |
27 | collections.addModel(root); | 27 | collections.addModel(root); |
28 | var results = collections.calculateViolations(); | 28 | var results = collections.calculateViolations(); |
29 | if(results.size > 0){ | 29 | if(results.size > 0){ |
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/MPC.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/MPC.png index b6d4fbff..b8930a7b 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/MPC.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/MPC.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Node_Activity.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Node_Activity.png index 226675e8..d55a000c 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Node_Activity.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Node_Activity.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Node_Type.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Node_Type.png index 96814887..554923f5 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Node_Type.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Node_Type.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Out_Degree.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Out_Degree.png index 3f5e3b38..1a605f9a 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Out_Degree.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Out_Degree.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Violations.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Violations.png index 6e052662..719249d4 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Violations.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/ecore/Violations.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/MPC.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/MPC.png new file mode 100644 index 00000000..8f59786d --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/MPC.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Node_Activity.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Node_Activity.png new file mode 100644 index 00000000..a3775f23 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Node_Activity.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Node_Type.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Node_Type.png new file mode 100644 index 00000000..5d3f81e1 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Node_Type.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Out_Degree.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Out_Degree.png new file mode 100644 index 00000000..a89eb552 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Out_Degree.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Violations.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Violations.png new file mode 100644 index 00000000..50a4cba0 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/github/Violations.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/MPC.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/MPC.png index b4f2b9a2..fcff0dfe 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/MPC.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/MPC.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Node_Activity.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Node_Activity.png index 44da865d..ad44025f 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Node_Activity.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Node_Activity.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Node_Type.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Node_Type.png index fb9b86d1..a61d6e5a 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Node_Type.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Node_Type.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Out_Degree.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Out_Degree.png index 49e4222a..4749db22 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Out_Degree.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Out_Degree.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Violations.png b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Violations.png index 7d131230..ac09e580 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Violations.png +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/output/yakindumm/Violations.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/src/BoxPlot.ipynb b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/src/BoxPlot.ipynb index 6cce3f9d..5db66bb3 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/src/BoxPlot.ipynb +++ b/Metrics/Metrics-Calculation/metrics_plot/Measurements/Measurement1/src/BoxPlot.ipynb | |||
@@ -2,7 +2,7 @@ | |||
2 | "cells": [ | 2 | "cells": [ |
3 | { | 3 | { |
4 | "cell_type": "code", | 4 | "cell_type": "code", |
5 | "execution_count": 1, | 5 | "execution_count": 173, |
6 | "metadata": {}, | 6 | "metadata": {}, |
7 | "outputs": [], | 7 | "outputs": [], |
8 | "source": [ | 8 | "source": [ |
@@ -20,7 +20,7 @@ | |||
20 | }, | 20 | }, |
21 | { | 21 | { |
22 | "cell_type": "code", | 22 | "cell_type": "code", |
23 | "execution_count": 2, | 23 | "execution_count": 174, |
24 | "metadata": {}, | 24 | "metadata": {}, |
25 | "outputs": [], | 25 | "outputs": [], |
26 | "source": [ | 26 | "source": [ |
@@ -39,11 +39,11 @@ | |||
39 | }, | 39 | }, |
40 | { | 40 | { |
41 | "cell_type": "code", | 41 | "cell_type": "code", |
42 | "execution_count": 3, | 42 | "execution_count": 175, |
43 | "metadata": {}, | 43 | "metadata": {}, |
44 | "outputs": [], | 44 | "outputs": [], |
45 | "source": [ | 45 | "source": [ |
46 | "domain = 'ecore'\n", | 46 | "domain = 'github'\n", |
47 | "mpc_guide = getModels('../input/{}/MPC/'.format(domain), 100)\n", | 47 | "mpc_guide = getModels('../input/{}/MPC/'.format(domain), 100)\n", |
48 | "na_guide = getModels('../input/{}/NodeActivity/'.format(domain), 100)\n", | 48 | "na_guide = getModels('../input/{}/NodeActivity/'.format(domain), 100)\n", |
49 | "od_guide = getModels('../input/{}/OutDegree/'.format(domain), 100)\n", | 49 | "od_guide = getModels('../input/{}/OutDegree/'.format(domain), 100)\n", |
@@ -57,19 +57,21 @@ | |||
57 | }, | 57 | }, |
58 | { | 58 | { |
59 | "cell_type": "code", | 59 | "cell_type": "code", |
60 | "execution_count": 4, | 60 | "execution_count": 176, |
61 | "metadata": {}, | 61 | "metadata": {}, |
62 | "outputs": [], | 62 | "outputs": [], |
63 | "source": [ | 63 | "source": [ |
64 | "if domain == 'yakindumm':\n", | 64 | "if domain == 'yakindumm':\n", |
65 | " type_map = {'Entry': 0.04257802080554814, 'Choice': 0.1267671379034409, 'State': 0.1596092291277674, 'Transition': 0.6138636969858629, 'Statechart': 0.010136036276340358, 'Region': 0.04467858095492131, 'Exit': 0.0018338223526273673, 'FinalState': 0.0005334755934915977}\n", | 65 | " type_map = {'Entry': 0.04257802080554814, 'Choice': 0.1267671379034409, 'State': 0.1596092291277674, 'Transition': 0.6138636969858629, 'Statechart': 0.010136036276340358, 'Region': 0.04467858095492131, 'Exit': 0.0018338223526273673, 'FinalState': 0.0005334755934915977}\n", |
66 | "elif domain == 'ecore':\n", | 66 | "elif domain == 'ecore':\n", |
67 | " type_map = {'EAttribute': 0.23539778449144008, 'EClass': 0.30996978851963747, 'EReference': 0.33081570996978854, 'EPackage': 0.012789526686807653, 'EAnnotation': 0.002517623363544813, 'EEnumLiteral': 0.07275931520644502, 'EEnum': 0.013645518630412891, 'EDataType': 0.004028197381671702, 'EParameter': 0.005941591137965764, 'EGenericType': 0.002014098690835851, 'EOperation': 0.009415911379657605, 'ETypeParameter': 0.0007049345417925478}" | 67 | " type_map = {'EAttribute': 0.23539778449144008, 'EClass': 0.30996978851963747, 'EReference': 0.33081570996978854, 'EPackage': 0.012789526686807653, 'EAnnotation': 0.002517623363544813, 'EEnumLiteral': 0.07275931520644502, 'EEnum': 0.013645518630412891, 'EDataType': 0.004028197381671702, 'EParameter': 0.005941591137965764, 'EGenericType': 0.002014098690835851, 'EOperation': 0.009415911379657605, 'ETypeParameter': 0.0007049345417925478}\n", |
68 | "elif domain == 'github':\n", | ||
69 | " type_map = {'Project': 0.012636538873420432, 'Commit': 0.5525808524309276, 'User': 0.05847076461769116, 'Issue': 0.12743628185907047, 'PullRequest': 0.07560505461554937, 'IssueEvent': 0.17327050760334123}" | ||
68 | ] | 70 | ] |
69 | }, | 71 | }, |
70 | { | 72 | { |
71 | "cell_type": "code", | 73 | "cell_type": "code", |
72 | "execution_count": 5, | 74 | "execution_count": 177, |
73 | "metadata": {}, | 75 | "metadata": {}, |
74 | "outputs": [], | 76 | "outputs": [], |
75 | "source": [ | 77 | "source": [ |
@@ -92,7 +94,7 @@ | |||
92 | }, | 94 | }, |
93 | { | 95 | { |
94 | "cell_type": "code", | 96 | "cell_type": "code", |
95 | "execution_count": 6, | 97 | "execution_count": 178, |
96 | "metadata": {}, | 98 | "metadata": {}, |
97 | "outputs": [], | 99 | "outputs": [], |
98 | "source": [ | 100 | "source": [ |
@@ -103,7 +105,7 @@ | |||
103 | }, | 105 | }, |
104 | { | 106 | { |
105 | "cell_type": "code", | 107 | "cell_type": "code", |
106 | "execution_count": 7, | 108 | "execution_count": 179, |
107 | "metadata": {}, | 109 | "metadata": {}, |
108 | "outputs": [], | 110 | "outputs": [], |
109 | "source": [ | 111 | "source": [ |
@@ -121,11 +123,10 @@ | |||
121 | }, | 123 | }, |
122 | { | 124 | { |
123 | "cell_type": "code", | 125 | "cell_type": "code", |
124 | "execution_count": 84, | 126 | "execution_count": 180, |
125 | "metadata": {}, | 127 | "metadata": {}, |
126 | "outputs": [], | 128 | "outputs": [], |
127 | "source": [ | 129 | "source": [ |
128 | "labels = ['Hum', 'Comb+V', 'Comb-V', 'MPC', 'NA', 'OD', 'NTD', 'VIO']\n", | ||
129 | "output_path = '../output/{}/'.format(domain)\n", | 130 | "output_path = '../output/{}/'.format(domain)\n", |
130 | "mkdir(output_path)" | 131 | "mkdir(output_path)" |
131 | ] | 132 | ] |
@@ -139,31 +140,30 @@ | |||
139 | }, | 140 | }, |
140 | { | 141 | { |
141 | "cell_type": "code", | 142 | "cell_type": "code", |
142 | "execution_count": 87, | 143 | "execution_count": 181, |
143 | "metadata": {}, | 144 | "metadata": {}, |
144 | "outputs": [], | 145 | "outputs": [], |
145 | "source": [ | 146 | "source": [ |
146 | "def drawBoxDiagram(title, target, types, distance_func, bold_index):\n", | 147 | "def drawBoxDiagram(title, target, types, distance_func, label_position):\n", |
147 | " distances = []\n", | 148 | " distances = []\n", |
148 | " for distributions in types:\n", | 149 | " for distributions in types:\n", |
149 | " distances.append([distance_func(target, distribution) for distribution in distributions])\n", | 150 | " distances.append([distance_func(target, distribution) for distribution in distributions])\n", |
150 | " fig, ax1 = plt.subplots()\n", | 151 | " fig, ax1 = plt.subplots()\n", |
151 | " fig.set_size_inches(5, 2)\n", | 152 | " fig.set_size_inches(5, 2)\n", |
152 | " result = plt.boxplot(distances)\n", | 153 | " result = plt.boxplot(distances)\n", |
154 | " ax1.xaxis.set_ticks_position(label_position) \n", | ||
153 | " texts = ax1.set_xticklabels(labels, rotation=90, fontsize=12)\n", | 155 | " texts = ax1.set_xticklabels(labels, rotation=90, fontsize=12)\n", |
154 | " texts[bold_index].set_fontweight('bold')\n", | ||
155 | " \n", | ||
156 | " plt.savefig('{}/{}.png'.format(output_path, title), dpi=500, bbox_inches=\"tight\")" | 156 | " plt.savefig('{}/{}.png'.format(output_path, title), dpi=500, bbox_inches=\"tight\")" |
157 | ] | 157 | ] |
158 | }, | 158 | }, |
159 | { | 159 | { |
160 | "cell_type": "code", | 160 | "cell_type": "code", |
161 | "execution_count": 88, | 161 | "execution_count": 182, |
162 | "metadata": {}, | 162 | "metadata": {}, |
163 | "outputs": [ | 163 | "outputs": [ |
164 | { | 164 | { |
165 | "data": { | 165 | "data": { |
166 | "image/png": "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\n", | 166 | "image/png": "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\n", |
167 | "text/plain": [ | 167 | "text/plain": [ |
168 | "<Figure size 360x144 with 1 Axes>" | 168 | "<Figure size 360x144 with 1 Axes>" |
169 | ] | 169 | ] |
@@ -177,19 +177,20 @@ | |||
177 | "source": [ | 177 | "source": [ |
178 | "# draw mpc\n", | 178 | "# draw mpc\n", |
179 | "mpc_types = []\n", | 179 | "mpc_types = []\n", |
180 | "labels = ['Hum', 'Comb+V', 'Comb-V', 'MPC', 'NA', 'OD', 'NTD', 'VIO']\n", | ||
180 | "for models in model_types:\n", | 181 | "for models in model_types:\n", |
181 | " mpc_types.append([model.mpc for model in models])\n", | 182 | " mpc_types.append([model.mpc for model in models])\n", |
182 | "drawBoxDiagram('MPC', rep.mpc, mpc_types, calculate_ks, 3)" | 183 | "drawBoxDiagram('MPC', rep.mpc, mpc_types, calculate_ks, 'top')" |
183 | ] | 184 | ] |
184 | }, | 185 | }, |
185 | { | 186 | { |
186 | "cell_type": "code", | 187 | "cell_type": "code", |
187 | "execution_count": 89, | 188 | "execution_count": 183, |
188 | "metadata": {}, | 189 | "metadata": {}, |
189 | "outputs": [ | 190 | "outputs": [ |
190 | { | 191 | { |
191 | "data": { | 192 | "data": { |
192 | "image/png": "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\n", | 193 | "image/png": "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\n", |
193 | "text/plain": [ | 194 | "text/plain": [ |
194 | "<Figure size 360x144 with 1 Axes>" | 195 | "<Figure size 360x144 with 1 Axes>" |
195 | ] | 196 | ] |
@@ -203,19 +204,20 @@ | |||
203 | "source": [ | 204 | "source": [ |
204 | "# draw node activity\n", | 205 | "# draw node activity\n", |
205 | "na_types = []\n", | 206 | "na_types = []\n", |
207 | "labels = []\n", | ||
206 | "for models in model_types:\n", | 208 | "for models in model_types:\n", |
207 | " na_types.append([model.na for model in models])\n", | 209 | " na_types.append([model.na for model in models])\n", |
208 | "drawBoxDiagram('Node_Activity', rep.na, na_types, calculate_ks, 4)" | 210 | "drawBoxDiagram('Node_Activity', rep.na, na_types, calculate_ks, 'top')" |
209 | ] | 211 | ] |
210 | }, | 212 | }, |
211 | { | 213 | { |
212 | "cell_type": "code", | 214 | "cell_type": "code", |
213 | "execution_count": 90, | 215 | "execution_count": 184, |
214 | "metadata": {}, | 216 | "metadata": {}, |
215 | "outputs": [ | 217 | "outputs": [ |
216 | { | 218 | { |
217 | "data": { | 219 | "data": { |
218 | "image/png": "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\n", | 220 | "image/png": "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\n", |
219 | "text/plain": [ | 221 | "text/plain": [ |
220 | "<Figure size 360x144 with 1 Axes>" | 222 | "<Figure size 360x144 with 1 Axes>" |
221 | ] | 223 | ] |
@@ -229,14 +231,15 @@ | |||
229 | "source": [ | 231 | "source": [ |
230 | "# draw out degree\n", | 232 | "# draw out degree\n", |
231 | "out_d_types = []\n", | 233 | "out_d_types = []\n", |
234 | "labels = []\n", | ||
232 | "for models in model_types:\n", | 235 | "for models in model_types:\n", |
233 | " out_d_types.append([model.out_d for model in models])\n", | 236 | " out_d_types.append([model.out_d for model in models])\n", |
234 | "drawBoxDiagram('Out_Degree', rep.out_d, out_d_types, calculate_ks, 5)" | 237 | "drawBoxDiagram('Out_Degree', rep.out_d, out_d_types, calculate_ks, 'top')" |
235 | ] | 238 | ] |
236 | }, | 239 | }, |
237 | { | 240 | { |
238 | "cell_type": "code", | 241 | "cell_type": "code", |
239 | "execution_count": 91, | 242 | "execution_count": 185, |
240 | "metadata": {}, | 243 | "metadata": {}, |
241 | "outputs": [], | 244 | "outputs": [], |
242 | "source": [ | 245 | "source": [ |
@@ -253,19 +256,19 @@ | |||
253 | }, | 256 | }, |
254 | { | 257 | { |
255 | "cell_type": "code", | 258 | "cell_type": "code", |
256 | "execution_count": 92, | 259 | "execution_count": 186, |
257 | "metadata": {}, | 260 | "metadata": {}, |
258 | "outputs": [ | 261 | "outputs": [ |
259 | { | 262 | { |
260 | "name": "stdout", | 263 | "name": "stdout", |
261 | "output_type": "stream", | 264 | "output_type": "stream", |
262 | "text": [ | 265 | "text": [ |
263 | "['EAnnotation', 'EAttribute', 'EClass', 'EDataType', 'EEnum', 'EEnumLiteral', 'EGenericType', 'EOperation', 'EPackage', 'EParameter', 'EReference', 'ETypeParameter']\n" | 266 | "['Commit', 'Issue', 'IssueEvent', 'Project', 'PullRequest', 'User']\n" |
264 | ] | 267 | ] |
265 | }, | 268 | }, |
266 | { | 269 | { |
267 | "data": { | 270 | "data": { |
268 | "image/png": "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\n", | 271 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAATwAAAB+CAYAAAC54q3VAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAJjUlEQVR4nO3dT2gc5xnH8d+TrcBGTY2EdIr/HnJYvD4Ei7TYhlQmAZ+US8Fx6KlbjAtRD20PhYU0TRGU9FCMiaGmunrj9GaKS06bw8q0eIWLsSIKJrYsJYcqSG6NYjWy/PQQS5bllXasmdW8O/P9wJLs7Hj0RLP+5X3feecdc3cBQB68kHYBALBdCDwAuUHgAcgNAg9AbhB4AHKDwAOQGx0feGZ2Ou0apHDqkKhlI9TSXJ5q6fjAkxTKyQqlDolaNkItzeWmliwEHgBEYmndadHX1+f79++PfZzZ2Vn19/fHLygjdUjUshFqaS5rtYyPj3/l7k0P8p1YR45h//79ajQaaf14ABllZlMbfUaXFkBuEHgAcoPAA5AbqY3hAXliZi33Yam29iPwgG2wPszMjIBLAV1aALlB4AHIDQIPQG4whofM4kJB2KKcHynZc0TgIbO4UBC2Zuei3eeIwEOiaFUhZAQeEkWrCiHjogWA3CDwAOQGgQcgNwg8ALlB4AHIDQIPmdDb2ysz2/QlqeU+vb29Kf+XZFcS5yju+WFaCjJhfn4+kekvUWf/4/klcY7inh9aeAByg8ADEkb3Olx0aYGE0b0OV0cFXhqrK2Bjvb29mp+fb7lfq/PW09Ojubm5WLX4b74nvbcr1jFWj4O2SOIcxT0/qT2Ie2BgwJN4Li33aqYnqd99EsehlvBt1+/WzMbdfaDZZx3VwgM6Aa3NcBF4QMLst/9NroX3Xvx68ARXaQHkBi08bBldN3QaAg9bRtcNzyvuVJuenp5Yfz5Sl9bMTpjZv8zslpn9epP9fmRmbmZNr5AA7dRqIm+UV9y/UKGL+ntoB3dv+Wq1X9zpSy1beGZWkPShpDckzUi6ZmaX3f2zdfu9KOnnkv4RqyJgC6K0NLM2zWMr0nhwTkiitPBelXTL3T93928kfSTpzSb7/U7SB5IWE6wP6Ei0NsMUJfBekjS95v3M422rzOwVSXvc/a+bHcjMTptZw8was7Ozz10s0AmS6Lol0X3Ds6IEXrMO/Wr718xekPRHSb9sdSB3v+DuA+4+0N/fH71KAEhAlMCbkbRnzfvdkr5c8/5FSSVJn5rZHUk/kHSZCxcAQhNlWso1SS+b2QFJX0h6S9LbKx+6+38k9a28N7NPJf3K3ePfKIvgJXFFj7EqbJeWLTx3fyjpHUmfSJqU9LG7T5jZ+2Y21O4CEV21WlWpVFKhUFCpVFK1Wm3rz2OsCp0m0sRjd78i6cq6be9usO8P45eF51WtVlWpVDQ6Oqpjx46pXq+rXC5Lkk6dOpVydUAYWB4qI0qlknbu3Knx8XG5u8xMhw8f1oMHD3Tz5s3U6grp/FBLc1mrZbPloVg8ICMmJibUaDR05swZ3bt3T2fOnFGj0dDExETapQHBIPAyZGhoSOfPn9euXbt0/vx5DQ0xxJp3ITwaMSQsHpAhY2NjOnDggKamprRv3z7dv38/7ZKQshAejRgSWngZsrCwIOnJF3TlPYBv0cLLiO7ubi0sLOjOnTuStPrP7u7u9IpKWbOWyfptoQzW59FGLcd2niMCLyM2as3luZVHmIXxpLANj5vC+SHwMuTIkSMaGxtbfX/06FFdvXo1xYqQtiQWac3SAq2M4WXI9PS0arWalpaWVKvVND093foPATlCCy9D+vr6NDw8rMnJSRWLRfX19RF6wBoEXgasDPJev359ddvaCccrnzOmlR4uoIQh6C4tkyajWbkJ/9ChQ09tP3To0DM38iMdURdaQHsFHXgrkybjvObn59ta43avULKZGzduPLVCyY0bN1KrBeFgqfkn6NLGwAolz6LrFhYebvS0oFdLSWjlhLadzFKppHPnzmlwcHB1W61W0/DwMCuUoGNk7fuy2WopBF4MhUJBi4uL6urqWt22tLSkHTt2aHl5uS0/M4qsfYHRXln7vrA8VJsUi0XV6/WnttXrdRWLxZQqArAZxvC2aGVc6vjx45t+nqX/cwKdjhbeFq1cBb548aIOHjwoSTp48KAuXrzIVAMgUIzhJSSkcZCQakH4svZ9YQwPABT4GF7IS9sA6DxBBx5L2wDJSmPRzZAEHXgAkpXVIIuKMTwAuUHgAcgNAq8DtVo2S2q9QkYels0C1mMML6Le3t6WS021en5nT0+P5ubmYtfCs0aBrSHwIiJkgM4XKfDM7ISks5IKkv7s7r9f9/kvJP1U0kNJs5J+4u5TCdeaKuYEAp2vZeCZWUHSh5LekDQj6ZqZXXb3z9bsdl3SgLt/bWY/k/SBpJPtKDgtzAkEOl+UixavSrrl7p+7+zeSPpL05tod3L3m7l8/fvt3SbuTLRMA4ovSpX1J0tpn/c1I+v4m+5cl/a3ZB2Z2WtJpSdq7d2/EErEe3Wtga6IEXrOR9qZ9OzP7saQBSa81+9zdL0i6IH27WkrEGrEO3Wtga6IE3oykPWve75b05fqdzOx1SRVJr7n7/5IpLyxxr7Jm6elPQCeKEnjXJL1sZgckfSHpLUlvr93BzF6R9CdJJ9z934lXGYBWLaqsrSkGZFHLixbu/lDSO5I+kTQp6WN3nzCz981s6PFuf5D0XUl/MbN/mtnltlUMAFsUaR6eu1+RdGXdtnfX/PvrCdeFFuheA88v+Dst+Iv9LLrXwNYEHXg8NR1AklgtBUBuBN3CC1mzrnazbbQ+gXAQeFtEkAGdhy4tgNwg8ADkBoEXU7VaValUUqFQUKlUUrVaTbskABtgDC+GarWqSqWi0dFRHTt2TPV6XeVyWZJ06tSplKsDsB4tvBhGRkY0OjqqwcFBdXV1aXBwUKOjoxoZGUm7NABNWFpXGwcGBrzRaMQ+TpoTjwuFghYXF9XV1bW6bWlpSTt27NDy8nIqNUlMxka+mdm4uw80+4wWXgzFYlH1ev2pbfV6XcViMaWKAGyGMbwYKpWKTp48qe7ubt29e1d79+7VwsKCzp49m3ZpAJqghZcQupBA+Ai8GEZGRnTp0iXdvn1bjx490u3bt3Xp0iUuWgCB4qJFDKFctIi6hBatUOQBFy3aJJSLFu4e6QXkHYEXQ6VSUblcVq1W09LSkmq1msrlsiqVStqlAWiCq7QxrNxNMTw8rMnJSRWLRY2MjHCXBRAoxvAAZApjeAAgAg9AjhB4AHKDwAOQGwQegNwg8ADkRkfNw9voFqr125mmAqCZjgo8ggxAHHRpAeQGgQcgNwg8ALmR2r20ZjYraSqVHw4gy/a5e3+zD1ILPADYbnRpAeQGgQcgNwg8ALlB4AHIDQIPQG78HwoBy/VGK0Z1AAAAAElFTkSuQmCC\n", |
269 | "text/plain": [ | 272 | "text/plain": [ |
270 | "<Figure size 360x144 with 1 Axes>" | 273 | "<Figure size 360x144 with 1 Axes>" |
271 | ] | 274 | ] |
@@ -278,6 +281,7 @@ | |||
278 | ], | 281 | ], |
279 | "source": [ | 282 | "source": [ |
280 | "# draw node type\n", | 283 | "# draw node type\n", |
284 | "labels = []\n", | ||
281 | "types = sorted(rep.nodeTypeStat.keys())\n", | 285 | "types = sorted(rep.nodeTypeStat.keys())\n", |
282 | "rep_type_dist = [float(rep.nodeTypeStat[key]) for key in types]\n", | 286 | "rep_type_dist = [float(rep.nodeTypeStat[key]) for key in types]\n", |
283 | "print(types)\n", | 287 | "print(types)\n", |
@@ -289,17 +293,17 @@ | |||
289 | " node_type_types.append(type_dists)\n", | 293 | " node_type_types.append(type_dists)\n", |
290 | "\n", | 294 | "\n", |
291 | "#since we already know the pdf, we can compute the ks distance manually\n", | 295 | "#since we already know the pdf, we can compute the ks distance manually\n", |
292 | "drawBoxDiagram('Node_Type', rep_type_dist, node_type_types, manual_ks, 6)" | 296 | "drawBoxDiagram('Node_Type', rep_type_dist, node_type_types, manual_ks, 'top')" |
293 | ] | 297 | ] |
294 | }, | 298 | }, |
295 | { | 299 | { |
296 | "cell_type": "code", | 300 | "cell_type": "code", |
297 | "execution_count": 93, | 301 | "execution_count": 187, |
298 | "metadata": {}, | 302 | "metadata": {}, |
299 | "outputs": [ | 303 | "outputs": [ |
300 | { | 304 | { |
301 | "data": { | 305 | "data": { |
302 | "image/png": "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\n", | 306 | "image/png": "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\n", |
303 | "text/plain": [ | 307 | "text/plain": [ |
304 | "<Figure size 360x144 with 1 Axes>" | 308 | "<Figure size 360x144 with 1 Axes>" |
305 | ] | 309 | ] |
@@ -313,9 +317,10 @@ | |||
313 | "source": [ | 317 | "source": [ |
314 | "# draw violations\n", | 318 | "# draw violations\n", |
315 | "violation_types = []\n", | 319 | "violation_types = []\n", |
320 | "labels = ['Hum', 'Comb+V', 'Comb-V', 'MPC', 'NA', 'OD', 'NTD', 'VIO']\n", | ||
316 | "for models in model_types:\n", | 321 | "for models in model_types:\n", |
317 | " violation_types.append([model.violations for model in models])\n", | 322 | " violation_types.append([model.violations for model in models])\n", |
318 | "drawBoxDiagram('Violations', None, violation_types, lambda a, b:b, 7)" | 323 | "drawBoxDiagram('Violations', None, violation_types, lambda a, b:b, 'bottom')" |
319 | ] | 324 | ] |
320 | }, | 325 | }, |
321 | { | 326 | { |
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/MPC.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/MPC.png new file mode 100644 index 00000000..d184e5bf --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/MPC.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/MPC_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/MPC_lengend.png new file mode 100644 index 00000000..0dea77f2 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/MPC_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Activity.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Activity.png new file mode 100644 index 00000000..192fe6f0 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Activity.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Activity_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Activity_lengend.png new file mode 100644 index 00000000..4db337ef --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Activity_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Types.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Types.png new file mode 100644 index 00000000..2f24cda9 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Types.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Types_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Types_lengend.png new file mode 100644 index 00000000..14dcc501 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Node_Types_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Out_Degree.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Out_Degree.png new file mode 100644 index 00000000..6f40ea4d --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Out_Degree.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Out_Degree_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Out_Degree_lengend.png new file mode 100644 index 00000000..f2e3230b --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/ecore/Hum-All-Rand-GS-Real-Med-/Out_Degree_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/MPC.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/MPC.png new file mode 100644 index 00000000..834a91aa --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/MPC.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/MPC_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/MPC_lengend.png new file mode 100644 index 00000000..b3783c77 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/MPC_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Activity.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Activity.png new file mode 100644 index 00000000..2828f1fd --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Activity.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Activity_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Activity_lengend.png new file mode 100644 index 00000000..4a50e619 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Activity_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Types.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Types.png new file mode 100644 index 00000000..991ff1ff --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Types.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Types_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Types_lengend.png new file mode 100644 index 00000000..d13686c8 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Node_Types_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Out_Degree.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Out_Degree.png new file mode 100644 index 00000000..12b4ce33 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Out_Degree.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Out_Degree_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Out_Degree_lengend.png new file mode 100644 index 00000000..03fe9740 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/github/Hum-All-Rand-GS-Real-Med-/Out_Degree_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-/TCC.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-/TCC.png new file mode 100644 index 00000000..31a83155 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-/TCC.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-/TCC_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-/TCC_lengend.png new file mode 100644 index 00000000..e29f59cb --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-/TCC_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Rand-GS-Real-/TCC.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Rand-GS-Real-/TCC.png new file mode 100644 index 00000000..a3d56a23 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Rand-GS-Real-/TCC.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Rand-GS-Real-/TCC_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Rand-GS-Real-/TCC_lengend.png new file mode 100644 index 00000000..58cefaff --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Rand-GS-Real-/TCC_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Real-/TCC.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Real-/TCC.png new file mode 100644 index 00000000..e9614b89 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Real-/TCC.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Real-/TCC_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Real-/TCC_lengend.png new file mode 100644 index 00000000..f0cee20a --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/test/Hum-Real-/TCC_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/MPC.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/MPC.png new file mode 100644 index 00000000..a53bda79 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/MPC.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/MPC_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/MPC_lengend.png new file mode 100644 index 00000000..7a49fb91 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/MPC_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Activity.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Activity.png new file mode 100644 index 00000000..bf6ca9ba --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Activity.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Activity_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Activity_lengend.png new file mode 100644 index 00000000..d82a124e --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Activity_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Types.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Types.png new file mode 100644 index 00000000..0e7b1e46 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Types.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Types_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Types_lengend.png new file mode 100644 index 00000000..7f9e560e --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Node_Types_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Out_Degree.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Out_Degree.png new file mode 100644 index 00000000..928a0704 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Out_Degree.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Out_Degree_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Out_Degree_lengend.png new file mode 100644 index 00000000..0059a925 --- /dev/null +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Hum-All-Rand-GS-Real-Med-/Out_Degree_lengend.png | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/MPC.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/MPC.png deleted file mode 100644 index b4895790..00000000 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/MPC.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/MPC_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/MPC_lengend.png deleted file mode 100644 index 31cd1fa1..00000000 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/MPC_lengend.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node Types.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node Types.png deleted file mode 100644 index ad522d86..00000000 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node Types.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node Types_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node Types_lengend.png deleted file mode 100644 index 5507adde..00000000 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node Types_lengend.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node_Activity.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node_Activity.png deleted file mode 100644 index b080c54d..00000000 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node_Activity.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node_Activity_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node_Activity_lengend.png deleted file mode 100644 index 8d45735a..00000000 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Node_Activity_lengend.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Out_Degree.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Out_Degree.png deleted file mode 100644 index 9dbcd05f..00000000 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Out_Degree.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Out_Degree_lengend.png b/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Out_Degree_lengend.png deleted file mode 100644 index 1fee8654..00000000 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/output/yakindu/Human-Alloy-BaseViatra-RealViatra-Random-rep-/Out_Degree_lengend.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py b/Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py index af231a98..75fe78eb 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py | |||
@@ -11,27 +11,40 @@ from GraphType import GraphCollection | |||
11 | import DistributionMetrics as metrics | 11 | import DistributionMetrics as metrics |
12 | 12 | ||
13 | def main(): | 13 | def main(): |
14 | domain = 'github' | ||
14 | # read models | 15 | # read models |
15 | alloy = GraphCollection('../input/measurement2/yakindu/Alloy/', 100, 'Alloy') | 16 | alloy = GraphCollection('../input/measurement2/{}/Alloy/'.format(domain), 100, 'All') |
16 | human = GraphCollection('../input/measurement2/yakindu/Human/', 304, 'Human') | 17 | human = GraphCollection('../input/measurement2/{}/Human/'.format(domain), 304, 'Hum') |
17 | base = GraphCollection('../input/measurement2/yakindu/BaseViatra/', 100, 'BaseViatra') | 18 | base = GraphCollection('../input/measurement2/{}/BaseViatra/'.format(domain), 100, 'GS') |
18 | real = GraphCollection('../input/measurement2/yakindu/RealViatra/', 100, 'RealViatra') | 19 | real = GraphCollection('../input/measurement2/{}/RealViatra/'.format(domain), 100, 'Real') |
19 | random = GraphCollection('../input/measurement2/yakindu/Random/', 100, 'Random') | 20 | random = GraphCollection('../input/measurement2/{}/Random/'.format(domain), 100, 'Rand') |
20 | na_rep = GraphCollection('../input/measurement2/yakindu/Human/na_rep/', 1, 'rep') | 21 | na_rep = GraphCollection('../input/measurement2/{}/Human/na_rep/'.format(domain), 1, 'Med') |
21 | mpc_rep = GraphCollection('../input/measurement2/yakindu/Human/mpc_rep/', 1, 'rep') | 22 | mpc_rep = GraphCollection('../input/measurement2/{}/Human/mpc_rep/'.format(domain), 1, 'Med') |
22 | od_rep = GraphCollection('../input/measurement2/yakindu/Human/od_rep/', 1, 'rep') | 23 | od_rep = GraphCollection('../input/measurement2/{}/Human/od_rep/'.format(domain), 1, 'Med') |
23 | 24 | ||
24 | # a hack to make the node type as the same as an exiting model | 25 | # a hack to make the node type as the same as an exiting model |
25 | type_rep = GraphCollection('../input/measurement2/yakindu/Human/od_rep/', 1, 'rep') | 26 | type_rep = GraphCollection('../input/measurement2/{}/Human/od_rep/'.format(domain), 1, 'Med') |
26 | type_rep.nts = [{'Entry': 0.04257802080554814, 'Choice': 0.1267671379034409, 'State': 0.1596092291277674, 'Transition': 0.6138636969858629, 'Statechart': 0.010136036276340358, 'Region': 0.04467858095492131, 'Exit': 0.0018338223526273673, 'FinalState': 0.0005334755934915977}] | 27 | if(domain == 'yakindu'): |
27 | # type_rep.nts = [{'EAttribute': 0.23539778449144008, 'EClass': 0.30996978851963747, 'EReference': 0.33081570996978854, 'EPackage': 0.012789526686807653, 'EAnnotation': 0.002517623363544813, 'EEnumLiteral': 0.07275931520644502, 'EEnum': 0.013645518630412891, 'EDataType': 0.004028197381671702, 'EParameter': 0.005941591137965764, 'EGenericType': 0.002014098690835851, 'EOperation': 0.009415911379657605, 'ETypeParameter': 0.0007049345417925478}] | 28 | type_rep.nts = [{'Entry': 0.04257802080554814, 'Choice': 0.1267671379034409, 'State': 0.1596092291277674, 'Transition': 0.6138636969858629, 'Statechart': 0.010136036276340358, 'Region': 0.04467858095492131, 'Exit': 0.0018338223526273673, 'FinalState': 0.0005334755934915977}] |
29 | elif (domain == 'ecore'): | ||
30 | type_rep.nts = [{'EAttribute': 0.23539778449144008, 'EClass': 0.30996978851963747, 'EReference': 0.33081570996978854, 'EPackage': 0.012789526686807653, 'EAnnotation': 0.002517623363544813, 'EEnumLiteral': 0.07275931520644502, 'EEnum': 0.013645518630412891, 'EDataType': 0.004028197381671702, 'EParameter': 0.005941591137965764, 'EGenericType': 0.002014098690835851, 'EOperation': 0.009415911379657605, 'ETypeParameter': 0.0007049345417925478}] | ||
31 | elif (domain == 'github'): | ||
32 | type_rep.nts = [{'Project': 0.012636538873420432, 'Commit': 0.5525808524309276, 'User': 0.05847076461769116, 'Issue': 0.12743628185907047, 'PullRequest': 0.07560505461554937, 'IssueEvent': 0.17327050760334123}] | ||
33 | |||
28 | types = sorted(type_rep.nts[0].keys()) | 34 | types = sorted(type_rep.nts[0].keys()) |
29 | 35 | ||
30 | models_to_compare_na = [human, alloy, base, real, random, na_rep] | 36 | model_collections = [human, alloy, random, base, real] |
31 | models_to_compare_mpc = [human, alloy, base, real, random, mpc_rep] | 37 | for model_collection in model_collections: |
32 | models_to_compare_od = [human, alloy, base, real, random, od_rep] | 38 | print(model_collection.name) |
33 | models_to_compare_nt = [human, alloy, base, real, random, type_rep] | 39 | length = len(model_collection.violations) |
40 | percentage = sum(map(lambda v: int(v==0), model_collection.violations)) / length | ||
41 | print(percentage) | ||
42 | |||
34 | 43 | ||
44 | models_to_compare_na = [human, alloy, random, base, real, na_rep] | ||
45 | models_to_compare_mpc = [human, alloy, random, base, real, mpc_rep] | ||
46 | models_to_compare_od = [human, alloy, random, base, real, od_rep] | ||
47 | models_to_compare_nt = [human, alloy, random, base, real, type_rep] | ||
35 | for modelCollection in models_to_compare_nt: | 48 | for modelCollection in models_to_compare_nt: |
36 | type_dists = [] | 49 | type_dists = [] |
37 | for nt in modelCollection.nts: | 50 | for nt in modelCollection.nts: |
@@ -43,13 +56,13 @@ def main(): | |||
43 | 56 | ||
44 | 57 | ||
45 | # define output folder | 58 | # define output folder |
46 | outputFolder = '../output/yakindu/' | 59 | outputFolder = '../output/{}/'.format(domain) |
47 | 60 | ||
48 | #calculate metrics | 61 | #calculate metrics |
49 | metricStat(models_to_compare_na, 'Node_Activity', nodeActivity, 0, outputFolder, calculateKSMatrix) | 62 | metricStat(models_to_compare_na, 'Node_Activity', nodeActivity, 0, outputFolder, calculateKSMatrix) |
50 | metricStat(models_to_compare_od, 'Out_Degree', outDegree, 1, outputFolder, calculateKSMatrix) | 63 | metricStat(models_to_compare_od, 'Out_Degree', outDegree, 1, outputFolder, calculateKSMatrix) |
51 | metricStat(models_to_compare_mpc, 'MPC', mpc, 2, outputFolder, calculateKSMatrix) | 64 | metricStat(models_to_compare_mpc, 'MPC', mpc, 2, outputFolder, calculateKSMatrix) |
52 | metricStat(models_to_compare_nt, 'Node_Types', nodeType, 3, outputFolder, calculateManualKSMatrix) | 65 | metricStat(models_to_compare_nt, 'Node_Types', nodeType, 3, outputFolder, calculateManualKSMatrix) |
53 | 66 | ||
54 | def calculateKSMatrix(dists): | 67 | def calculateKSMatrix(dists): |
55 | dist = [] | 68 | dist = [] |
@@ -88,16 +101,17 @@ def calculateMDS(dissimilarities): | |||
88 | return trans | 101 | return trans |
89 | 102 | ||
90 | def plot(graphTypes, coords, title='',index = 0, savePath = ''): | 103 | def plot(graphTypes, coords, title='',index = 0, savePath = ''): |
91 | color = ['blue' , 'm', 'gold', 'green', 'k', 'red'] | 104 | color = ['#377eb8' , '#e41a1c', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33'] |
92 | markers = ['o', 'v','+', 'x', '^', '*'] | 105 | markers = ['o', '+', 'x', '^', 'v', '*'] |
93 | plt.figure(index, figsize=(5, 4)) | 106 | fill_styles = ['full', 'full', 'full', 'none', 'none', 'full'] |
107 | plt.figure(index, figsize=(5, 2)) | ||
94 | # plt.title(title) | 108 | # plt.title(title) |
95 | index = 0 | 109 | index = 0 |
96 | for i in range(len(graphTypes)): | 110 | for i in range(len(graphTypes)): |
97 | x = (coords[index:index+graphTypes[i].size, 0].tolist()) | 111 | x = (coords[index:index+graphTypes[i].size, 0].tolist()) |
98 | y = (coords[index:index+graphTypes[i].size, 1].tolist()) | 112 | y = (coords[index:index+graphTypes[i].size, 1].tolist()) |
99 | index += graphTypes[i].size | 113 | index += graphTypes[i].size |
100 | plt.plot(x, y, color=color[i], marker=markers[i], label = graphTypes[i].name, linestyle='', alpha=0.7) | 114 | plt.plot(x, y, color=color[i], marker=markers[i], label = graphTypes[i].name, linestyle='', alpha=0.7, fillstyle = fill_styles[i]) |
101 | plt.savefig(fname = savePath+'.png', dpi=500) | 115 | plt.savefig(fname = savePath+'.png', dpi=500) |
102 | plt.legend(loc='upper right') | 116 | plt.legend(loc='upper right') |
103 | plt.savefig(fname = savePath+'_lengend.png', dpi=500) | 117 | plt.savefig(fname = savePath+'_lengend.png', dpi=500) |
@@ -137,5 +151,8 @@ def mpc(graphType): | |||
137 | def nodeType(graphType): | 151 | def nodeType(graphType): |
138 | return graphType.nts | 152 | return graphType.nts |
139 | 153 | ||
154 | def tcc(graphType): | ||
155 | return graphType.tccs | ||
156 | |||
140 | if __name__ == '__main__': | 157 | if __name__ == '__main__': |
141 | main() \ No newline at end of file | 158 | main() \ No newline at end of file |
diff --git a/Metrics/Metrics-Calculation/metrics_plot/utils/GraphType.py b/Metrics/Metrics-Calculation/metrics_plot/utils/GraphType.py index 41054294..48d96ccc 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/utils/GraphType.py +++ b/Metrics/Metrics-Calculation/metrics_plot/utils/GraphType.py | |||
@@ -12,6 +12,8 @@ class GraphCollection: | |||
12 | self.mpcs = [] | 12 | self.mpcs = [] |
13 | self.nts = [] | 13 | self.nts = [] |
14 | self.name = name | 14 | self.name = name |
15 | self.tccs = [] | ||
16 | self.violations = [] | ||
15 | models = reader.readmultiplefiles(path, number, shouldShuffle) | 17 | models = reader.readmultiplefiles(path, number, shouldShuffle) |
16 | print(len(models)) | 18 | print(len(models)) |
17 | self.size = len(models) | 19 | self.size = len(models) |
@@ -22,6 +24,10 @@ class GraphCollection: | |||
22 | self.mpcs.append(mpc) | 24 | self.mpcs.append(mpc) |
23 | if(constants.Node_TYPE_KEY in contents): | 25 | if(constants.Node_TYPE_KEY in contents): |
24 | self.nts.append(contents[constants.Node_TYPE_KEY]) | 26 | self.nts.append(contents[constants.Node_TYPE_KEY]) |
27 | if(constants.TCC_VALUE in contents): | ||
28 | self.tccs.append(contents[constants.TCC_VALUE]) | ||
29 | if(constants.VIOLATION in contents): | ||
30 | self.violations.append(contents[constants.VIOLATION][0]) | ||
25 | 31 | ||
26 | #Graph stat for one graph | 32 | #Graph stat for one graph |
27 | class GraphStat: | 33 | class GraphStat: |
@@ -35,4 +41,6 @@ class GraphStat: | |||
35 | self.nodeTypeStat = contents[constants.Node_TYPE_KEY] | 41 | self.nodeTypeStat = contents[constants.Node_TYPE_KEY] |
36 | if constants.VIOLATION in contents: | 42 | if constants.VIOLATION in contents: |
37 | self.violations = int(contents[constants.VIOLATION][0]) | 43 | self.violations = int(contents[constants.VIOLATION][0]) |
44 | if(constants.TCC_VALUE_KEY in contents): | ||
45 | self.tcc = contents[constants.TCC_VALUE_KEY] | ||
38 | 46 | ||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/utils/constants.py b/Metrics/Metrics-Calculation/metrics_plot/utils/constants.py index be115a05..e30cc583 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/utils/constants.py +++ b/Metrics/Metrics-Calculation/metrics_plot/utils/constants.py | |||
@@ -30,3 +30,6 @@ HUMAN_NA_REP = '../input/humanOutput/R_2017419_run_1.csv' | |||
30 | 30 | ||
31 | VIOLATION = 'violations' | 31 | VIOLATION = 'violations' |
32 | 32 | ||
33 | TCC_VALUE= 'TCCValue' | ||
34 | |||
35 | TCC_COUNT = 'TCCCount' | ||
diff --git a/Metrics/Metrics-Calculation/metrics_plot/utils/readCSV.py b/Metrics/Metrics-Calculation/metrics_plot/utils/readCSV.py index 394168d8..a56caf45 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/utils/readCSV.py +++ b/Metrics/Metrics-Calculation/metrics_plot/utils/readCSV.py | |||
@@ -33,6 +33,8 @@ def readcsvfile(filename): | |||
33 | #convert number to floats | 33 | #convert number to floats |
34 | numbers = [float(n) for n in numbers] | 34 | numbers = [float(n) for n in numbers] |
35 | contents[constants.Node_TYPE_KEY] = {t : n for t, n in zip(types, numbers)} | 35 | contents[constants.Node_TYPE_KEY] = {t : n for t, n in zip(types, numbers)} |
36 | elif(arr[0] == constants.TCC_VALUE): | ||
37 | contents[constants.TCC_VALUE] = list(map(float, arr[1:])) | ||
36 | # NA and OD are integers, and store other information as string | 38 | # NA and OD are integers, and store other information as string |
37 | else: | 39 | else: |
38 | try: | 40 | try: |
@@ -79,6 +81,10 @@ def getmetrics(filename): | |||
79 | outdegree_sample = reproduceSample(contents[constants.OUT_DEGREE_VALUE], contents[constants.OUT_DEGREE_COUNT]) | 81 | outdegree_sample = reproduceSample(contents[constants.OUT_DEGREE_VALUE], contents[constants.OUT_DEGREE_COUNT]) |
80 | na_sample = reproduceSample(contents[constants.NA_VALUE], contents[constants.NA_COUNT]) | 82 | na_sample = reproduceSample(contents[constants.NA_VALUE], contents[constants.NA_COUNT]) |
81 | mpc_sample = reproduceSample(contents[constants.MPC_VALUE], contents[constants.MPC_COUNT]) | 83 | mpc_sample = reproduceSample(contents[constants.MPC_VALUE], contents[constants.MPC_COUNT]) |
84 | |||
85 | if(constants.TCC_VALUE in contents): | ||
86 | contents[constants.TCC_VALUE] = reproduceSample(contents[constants.TCC_VALUE], contents[constants.TCC_COUNT]) | ||
87 | |||
82 | return contents,outdegree_sample, na_sample, mpc_sample | 88 | return contents,outdegree_sample, na_sample, mpc_sample |
83 | 89 | ||
84 | # | 90 | # |