aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend')
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend30
1 files changed, 16 insertions, 14 deletions
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend
index 43d145d3..34f3c267 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend
@@ -1,9 +1,10 @@
1package hu.bme.mit.inf.dslreasoner.run 1package hu.bme.mit.inf.dslreasoner.run
2 2
3import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage 3import functionalarchitecture.FunctionalarchitecturePackage
4import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore
4import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem 5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage 6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage
6import hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern 7import hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns
7import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage 8import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage
8import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor 9import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor
9import hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns 10import hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns
@@ -12,6 +13,7 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMetho
12import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ModelGenerationMethodBasedGlobalConstraint 13import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ModelGenerationMethodBasedGlobalConstraint
13import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace 14import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
14import java.util.Collection 15import java.util.Collection
16import java.util.HashMap
15import java.util.LinkedHashMap 17import java.util.LinkedHashMap
16import java.util.List 18import java.util.List
17import java.util.Set 19import java.util.Set
@@ -21,14 +23,14 @@ import org.eclipse.emf.ecore.EEnum
21import org.eclipse.emf.ecore.EEnumLiteral 23import org.eclipse.emf.ecore.EEnumLiteral
22import org.eclipse.emf.ecore.EObject 24import org.eclipse.emf.ecore.EObject
23import org.eclipse.emf.ecore.EReference 25import org.eclipse.emf.ecore.EReference
24import org.eclipse.xtext.xbase.lib.Functions.Function1
25import java.util.HashMap
26import org.eclipse.emf.ecore.EcorePackage 26import org.eclipse.emf.ecore.EcorePackage
27import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore 27import org.eclipse.xtext.xbase.lib.Functions.Function1
28import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Type
29import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Model
28 30
29abstract class MetamodelLoader { 31abstract class MetamodelLoader {
30 protected val ReasonerWorkspace workspace 32 protected val ReasonerWorkspace workspace
31 public new(ReasonerWorkspace workspace) { 33 new(ReasonerWorkspace workspace) {
32 this.workspace = workspace 34 this.workspace = workspace
33 } 35 }
34 def EcoreMetamodelDescriptor loadMetamodel() 36 def EcoreMetamodelDescriptor loadMetamodel()
@@ -53,7 +55,7 @@ class FAMLoader extends MetamodelLoader{
53 } 55 }
54 56
55 override loadMetamodel() { 57 override loadMetamodel() {
56 val package = FunctionalArchitecturePackage.eINSTANCE 58 val package = FunctionalarchitecturePackage.eINSTANCE
57 val List<EClass> classes = package.EClassifiers.filter(EClass).toList 59 val List<EClass> classes = package.EClassifiers.filter(EClass).toList
58 val List<EEnum> enums = package.EClassifiers.filter(EEnum).toList 60 val List<EEnum> enums = package.EClassifiers.filter(EEnum).toList
59 val List<EEnumLiteral> literals = enums.map[ELiterals].flatten.toList 61 val List<EEnumLiteral> literals = enums.map[ELiterals].flatten.toList
@@ -70,12 +72,12 @@ class FAMLoader extends MetamodelLoader{
70 } 72 }
71 73
72 override loadQueries(EcoreMetamodelDescriptor metamodel) { 74 override loadQueries(EcoreMetamodelDescriptor metamodel) {
73 val i = Pattern.instance 75 val i = FamPatterns.instance
74 val patterns = i.specifications.toList 76 val patterns = i.specifications.toList
75 val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name== "Constraint"]].toSet 77 val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name== "Constraint"]].toSet
76 val derivedFeatures = new LinkedHashMap 78 val derivedFeatures = new LinkedHashMap
77 derivedFeatures.put(i.type,metamodel.attributes.filter[it.name == "type"].head) 79 derivedFeatures.put(Type.instance,metamodel.attributes.filter[it.name == "type"].head)
78 derivedFeatures.put(i.model,metamodel.references.filter[it.name == "model"].head) 80 derivedFeatures.put(Model.instance,metamodel.references.filter[it.name == "model"].head)
79 val res = new ViatraQuerySetDescriptor( 81 val res = new ViatraQuerySetDescriptor(
80 patterns, 82 patterns,
81 wfPatterns, 83 wfPatterns,
@@ -92,8 +94,8 @@ class FAMLoader extends MetamodelLoader{
92 94
93class YakinduLoader extends MetamodelLoader{ 95class YakinduLoader extends MetamodelLoader{
94 96
95 private var useSynchronization = true; 97 var useSynchronization = true;
96 private var useComplexStates = false; 98 var useComplexStates = false;
97 public static val patternsWithSynchronization = #[ 99 public static val patternsWithSynchronization = #[
98 "synchHasNoOutgoing", "synchHasNoIncoming", "SynchronizedIncomingInSameRegion", "notSynchronizingStates", 100 "synchHasNoOutgoing", "synchHasNoIncoming", "SynchronizedIncomingInSameRegion", "notSynchronizingStates",
99 "hasMultipleOutgoingTrainsition", "hasMultipleIncomingTrainsition", "SynchronizedRegionsAreNotSiblings", 101 "hasMultipleOutgoingTrainsition", "hasMultipleIncomingTrainsition", "SynchronizedRegionsAreNotSiblings",
@@ -104,10 +106,10 @@ class YakinduLoader extends MetamodelLoader{
104 YakindummPackage.eINSTANCE.eClass 106 YakindummPackage.eINSTANCE.eClass
105 } 107 }
106 108
107 public def setUseSynchronization(boolean useSynchronization) { 109 def setUseSynchronization(boolean useSynchronization) {
108 this.useSynchronization = useSynchronization 110 this.useSynchronization = useSynchronization
109 } 111 }
110 public def setUseComplexStates(boolean useComplexStates) { 112 def setUseComplexStates(boolean useComplexStates) {
111 this.useComplexStates = useComplexStates 113 this.useComplexStates = useComplexStates
112 } 114 }
113 115