aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend
diff options
context:
space:
mode:
authorLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-07-10 10:56:00 -0400
committerLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-07-10 10:56:00 -0400
commit991dacefdb8f78fccc359d3d2ec836dc2e7fc80a (patch)
tree6b18aa59c5f711a845aa9e3e5cf3fd3632ad7a33 /Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend
parentadd sample domain for measuring realistic metrics (diff)
downloadVIATRA-Generator-991dacefdb8f78fccc359d3d2ec836dc2e7fc80a.tar.gz
VIATRA-Generator-991dacefdb8f78fccc359d3d2ec836dc2e7fc80a.tar.zst
VIATRA-Generator-991dacefdb8f78fccc359d3d2ec836dc2e7fc80a.zip
measurements for the different violation types, comparison for differenct generation config
Diffstat (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend')
-rw-r--r--Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend11
1 files changed, 7 insertions, 4 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend
index 5c161f4b..b4c57bd8 100644
--- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend
+++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend
@@ -2,13 +2,14 @@ package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph
2 2
3import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric 3import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric
4import java.util.ArrayList 4import java.util.ArrayList
5import java.util.HashSet
5import java.util.List 6import java.util.List
6import org.eclipse.emf.common.util.EList 7import org.eclipse.emf.common.util.EList
7import org.eclipse.emf.ecore.EObject 8import org.eclipse.emf.ecore.EObject
8import org.eclipse.emf.ecore.EReference 9import org.eclipse.emf.ecore.EReference
9 10
10class EMFGraph extends Graph{ 11class EMFGraph extends Graph{
11 def void init (EObject root, List<Metric> metrics, String name, List<String> referenceTypes){ 12 def void init (EObject root, List<Metric> metrics, String name, List<EReference> referenceTypes){
12 val otherContents = root.eAllContents.toList(); 13 val otherContents = root.eAllContents.toList();
13 otherContents.add(root); 14 otherContents.add(root);
14 init(otherContents, metrics, name, referenceTypes); 15 init(otherContents, metrics, name, referenceTypes);
@@ -21,13 +22,15 @@ class EMFGraph extends Graph{
21 * @param name: name of the instance model 22 * @param name: name of the instance model
22 * @param ReferenceTypes: reference types defined in the meta model 23 * @param ReferenceTypes: reference types defined in the meta model
23 */ 24 */
24 def void init(List<EObject> objects, List<Metric> metrics, String name, List<String> referenceTypes){ 25 def void init(List<EObject> objects, List<Metric> metrics, String name, List<EReference> referenceTypes){
25 objects.forEach[it| 26 objects.forEach[it|
26 statistic.addNode(it); 27 var types = new HashSet(it.eClass.EAllSuperTypes.map[it|it.name]);
28 types.add(it.eClass.name);
29 statistic.addNodeWithAllTypes(it, types);
27 ] 30 ]
28 31
29 referenceTypes.forEach[it| 32 referenceTypes.forEach[it|
30 statistic.addType(it); 33 statistic.addEdgeType(it.name);
31 ]; 34 ];
32 35
33 objects.forEach[source| 36 objects.forEach[source|