aboutsummaryrefslogtreecommitdiffstats
path: root/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszka@152.66.252.189>2017-06-10 19:05:05 +0200
committerLibravatar OszkarSemerath <oszka@152.66.252.189>2017-06-10 19:05:05 +0200
commit60f01f46ba232ed6416054f0a6115cb2a9b70b4e (patch)
tree5edf8aeb07abc51f3fec63bbd15c926e1de09552 /Framework/hu.bme.mit.inf.dslreasoner.viatra2logic
parentInitial commit, migrating from SVN (diff)
downloadVIATRA-Generator-60f01f46ba232ed6416054f0a6115cb2a9b70b4e.tar.gz
VIATRA-Generator-60f01f46ba232ed6416054f0a6115cb2a9b70b4e.tar.zst
VIATRA-Generator-60f01f46ba232ed6416054f0a6115cb2a9b70b4e.zip
Migrating Additional projects
Diffstat (limited to 'Framework/hu.bme.mit.inf.dslreasoner.viatra2logic')
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath9
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.project34
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF25
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/build.properties10
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/DefinedByDerivedFeature.java50
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java50
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransformedViatraWellformednessConstraint.java50
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java60
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java343
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java158
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java161
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java158
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java117
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java256
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java214
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java207
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird394
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore16
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel16
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.properties4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.xml17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend217
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend317
25 files changed, 2894 insertions, 0 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath
new file mode 100644
index 00000000..75ccaa90
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
6 <classpathentry kind="src" path="src"/>
7 <classpathentry kind="src" path="xtend-gen"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore
new file mode 100644
index 00000000..8ae4e44d
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore
@@ -0,0 +1,4 @@
1/bin/
2/src-gen/
3/vql-gen/
4/xtend-gen/
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.project b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.project
new file mode 100644
index 00000000..f97c5d0b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.viatra2logic</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.settings/org.eclipse.jdt.core.prefs b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..1872207f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatra2logic;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Bundle-ClassPath: .
7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Bundle-RequiredExecutionEnvironment: JavaSE-1.8
10Require-Bundle: com.google.guava,
11 org.eclipse.xtext.xbase.lib,
12 org.eclipse.xtend.lib,
13 org.eclipse.xtend.lib.macro,
14 org.eclipse.viatra.query.runtime;bundle-version="1.5.0",
15 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
16 org.eclipse.core.runtime,
17 org.eclipse.emf.ecore;visibility:=reexport,
18 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0";visibility:=reexport,
19 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0"
20Bundle-ActivationPolicy: lazy
21Export-Package: hu.bme.mit.inf.dslreasoner.viatra2logic,
22 hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations,
23 hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl,
24 hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.util
25
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/build.properties b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/build.properties
new file mode 100644
index 00000000..72399047
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/build.properties
@@ -0,0 +1,10 @@
1#
2
3bin.includes = .,\
4 model/,\
5 META-INF/,\
6 plugin.xml,\
7 plugin.properties
8jars.compile.order = .
9source.. = ecore-gen/
10output.. = bin/
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/DefinedByDerivedFeature.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/DefinedByDerivedFeature.java
new file mode 100644
index 00000000..ab468027
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/DefinedByDerivedFeature.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Defined By Derived Feature</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature#getQuery <em>Query</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getDefinedByDerivedFeature()
20 * @model
21 * @generated
22 */
23public interface DefinedByDerivedFeature extends RelationAnnotation {
24 /**
25 * Returns the value of the '<em><b>Query</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Query</em>' reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Query</em>' reference.
33 * @see #setQuery(TransfomedViatraQuery)
34 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getDefinedByDerivedFeature_Query()
35 * @model required="true"
36 * @generated
37 */
38 TransfomedViatraQuery getQuery();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature#getQuery <em>Query</em>}' reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Query</em>' reference.
45 * @see #getQuery()
46 * @generated
47 */
48 void setQuery(TransfomedViatraQuery value);
49
50} // DefinedByDerivedFeature
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java
new file mode 100644
index 00000000..9eb911d5
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Transfomed Viatra Query</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransfomedViatraQuery()
20 * @model
21 * @generated
22 */
23public interface TransfomedViatraQuery extends RelationAnnotation {
24
25 /**
26 * Returns the value of the '<em><b>Pattern Fully Qualified Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Pattern Fully Qualified Name</em>' attribute isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Pattern Fully Qualified Name</em>' attribute.
34 * @see #setPatternFullyQualifiedName(String)
35 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransfomedViatraQuery_PatternFullyQualifiedName()
36 * @model required="true"
37 * @generated
38 */
39 String getPatternFullyQualifiedName();
40
41 /**
42 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Pattern Fully Qualified Name</em>' attribute.
46 * @see #getPatternFullyQualifiedName()
47 * @generated
48 */
49 void setPatternFullyQualifiedName(String value);
50} // TransfomedViatraQuery
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransformedViatraWellformednessConstraint.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransformedViatraWellformednessConstraint.java
new file mode 100644
index 00000000..04c5480f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransformedViatraWellformednessConstraint.java
@@ -0,0 +1,50 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Transformed Viatra Wellformedness Constraint</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint#getQuery <em>Query</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransformedViatraWellformednessConstraint()
20 * @model
21 * @generated
22 */
23public interface TransformedViatraWellformednessConstraint extends AssertionAnnotation {
24 /**
25 * Returns the value of the '<em><b>Query</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Query</em>' reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Query</em>' reference.
33 * @see #setQuery(TransfomedViatraQuery)
34 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransformedViatraWellformednessConstraint_Query()
35 * @model required="true"
36 * @generated
37 */
38 TransfomedViatraQuery getQuery();
39
40 /**
41 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint#getQuery <em>Query</em>}' reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Query</em>' reference.
45 * @see #getQuery()
46 * @generated
47 */
48 void setQuery(TransfomedViatraQuery value);
49
50} // TransformedViatraWellformednessConstraint
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java
new file mode 100644
index 00000000..1343bee3
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java
@@ -0,0 +1,60 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
13 * @generated
14 */
15public interface Viatra2LogicAnnotationsFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 Viatra2LogicAnnotationsFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Transfomed Viatra Query</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Transfomed Viatra Query</em>'.
29 * @generated
30 */
31 TransfomedViatraQuery createTransfomedViatraQuery();
32
33 /**
34 * Returns a new object of class '<em>Transformed Viatra Wellformedness Constraint</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Transformed Viatra Wellformedness Constraint</em>'.
38 * @generated
39 */
40 TransformedViatraWellformednessConstraint createTransformedViatraWellformednessConstraint();
41
42 /**
43 * Returns a new object of class '<em>Defined By Derived Feature</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Defined By Derived Feature</em>'.
47 * @generated
48 */
49 DefinedByDerivedFeature createDefinedByDerivedFeature();
50
51 /**
52 * Returns the package supported by this factory.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the package supported by this factory.
56 * @generated
57 */
58 Viatra2LogicAnnotationsPackage getViatra2LogicAnnotationsPackage();
59
60} //Viatra2LogicAnnotationsFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java
new file mode 100644
index 00000000..0c3de242
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java
@@ -0,0 +1,343 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
6
7import org.eclipse.emf.ecore.EAttribute;
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.emf.ecore.EReference;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Package</b> for the model.
15 * It contains accessors for the meta objects to represent
16 * <ul>
17 * <li>each class,</li>
18 * <li>each feature of each class,</li>
19 * <li>each operation of each class,</li>
20 * <li>each enum,</li>
21 * <li>and each data type</li>
22 * </ul>
23 * <!-- end-user-doc -->
24 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsFactory
25 * @model kind="package"
26 * @generated
27 */
28public interface Viatra2LogicAnnotationsPackage extends EPackage {
29 /**
30 * The package name.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 String eNAME = "viatra2logicannotations";
36
37 /**
38 * The package namespace URI.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @generated
42 */
43 String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation";
44
45 /**
46 * The package namespace name.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 String eNS_PREFIX = "viatra2logicannotations";
52
53 /**
54 * The singleton instance of the package.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 Viatra2LogicAnnotationsPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl.init();
60
61 /**
62 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl <em>Transfomed Viatra Query</em>}' class.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl
66 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getTransfomedViatraQuery()
67 * @generated
68 */
69 int TRANSFOMED_VIATRA_QUERY = 0;
70
71 /**
72 * The feature id for the '<em><b>Target</b></em>' reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 * @ordered
77 */
78 int TRANSFOMED_VIATRA_QUERY__TARGET = LogicproblemPackage.RELATION_ANNOTATION__TARGET;
79
80 /**
81 * The feature id for the '<em><b>Pattern Fully Qualified Name</b></em>' attribute.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 * @ordered
86 */
87 int TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 0;
88
89 /**
90 * The number of structural features of the '<em>Transfomed Viatra Query</em>' class.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 * @ordered
95 */
96 int TRANSFOMED_VIATRA_QUERY_FEATURE_COUNT = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 1;
97
98 /**
99 * The number of operations of the '<em>Transfomed Viatra Query</em>' class.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 * @ordered
104 */
105 int TRANSFOMED_VIATRA_QUERY_OPERATION_COUNT = LogicproblemPackage.RELATION_ANNOTATION_OPERATION_COUNT + 0;
106
107 /**
108 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl <em>Transformed Viatra Wellformedness Constraint</em>}' class.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl
112 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getTransformedViatraWellformednessConstraint()
113 * @generated
114 */
115 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT = 1;
116
117 /**
118 * The feature id for the '<em><b>Target</b></em>' reference.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 * @ordered
123 */
124 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__TARGET = LogicproblemPackage.ASSERTION_ANNOTATION__TARGET;
125
126 /**
127 * The feature id for the '<em><b>Query</b></em>' reference.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 * @ordered
132 */
133 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 0;
134
135 /**
136 * The number of structural features of the '<em>Transformed Viatra Wellformedness Constraint</em>' class.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 * @ordered
141 */
142 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT_FEATURE_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 1;
143
144 /**
145 * The number of operations of the '<em>Transformed Viatra Wellformedness Constraint</em>' class.
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 * @ordered
150 */
151 int TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT_OPERATION_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_OPERATION_COUNT + 0;
152
153
154 /**
155 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl <em>Defined By Derived Feature</em>}' class.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl
159 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getDefinedByDerivedFeature()
160 * @generated
161 */
162 int DEFINED_BY_DERIVED_FEATURE = 2;
163
164 /**
165 * The feature id for the '<em><b>Target</b></em>' reference.
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 * @ordered
170 */
171 int DEFINED_BY_DERIVED_FEATURE__TARGET = LogicproblemPackage.RELATION_ANNOTATION__TARGET;
172
173 /**
174 * The feature id for the '<em><b>Query</b></em>' reference.
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 * @ordered
179 */
180 int DEFINED_BY_DERIVED_FEATURE__QUERY = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 0;
181
182 /**
183 * The number of structural features of the '<em>Defined By Derived Feature</em>' class.
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 * @ordered
188 */
189 int DEFINED_BY_DERIVED_FEATURE_FEATURE_COUNT = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 1;
190
191 /**
192 * The number of operations of the '<em>Defined By Derived Feature</em>' class.
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 * @ordered
197 */
198 int DEFINED_BY_DERIVED_FEATURE_OPERATION_COUNT = LogicproblemPackage.RELATION_ANNOTATION_OPERATION_COUNT + 0;
199
200
201 /**
202 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery <em>Transfomed Viatra Query</em>}'.
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @return the meta object for class '<em>Transfomed Viatra Query</em>'.
206 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
207 * @generated
208 */
209 EClass getTransfomedViatraQuery();
210
211 /**
212 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}'.
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @return the meta object for the attribute '<em>Pattern Fully Qualified Name</em>'.
216 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName()
217 * @see #getTransfomedViatraQuery()
218 * @generated
219 */
220 EAttribute getTransfomedViatraQuery_PatternFullyQualifiedName();
221
222 /**
223 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint <em>Transformed Viatra Wellformedness Constraint</em>}'.
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @return the meta object for class '<em>Transformed Viatra Wellformedness Constraint</em>'.
227 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint
228 * @generated
229 */
230 EClass getTransformedViatraWellformednessConstraint();
231
232 /**
233 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint#getQuery <em>Query</em>}'.
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @return the meta object for the reference '<em>Query</em>'.
237 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint#getQuery()
238 * @see #getTransformedViatraWellformednessConstraint()
239 * @generated
240 */
241 EReference getTransformedViatraWellformednessConstraint_Query();
242
243 /**
244 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature <em>Defined By Derived Feature</em>}'.
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @return the meta object for class '<em>Defined By Derived Feature</em>'.
248 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature
249 * @generated
250 */
251 EClass getDefinedByDerivedFeature();
252
253 /**
254 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature#getQuery <em>Query</em>}'.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @return the meta object for the reference '<em>Query</em>'.
258 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature#getQuery()
259 * @see #getDefinedByDerivedFeature()
260 * @generated
261 */
262 EReference getDefinedByDerivedFeature_Query();
263
264 /**
265 * Returns the factory that creates the instances of the model.
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @return the factory that creates the instances of the model.
269 * @generated
270 */
271 Viatra2LogicAnnotationsFactory getViatra2LogicAnnotationsFactory();
272
273 /**
274 * <!-- begin-user-doc -->
275 * Defines literals for the meta objects that represent
276 * <ul>
277 * <li>each class,</li>
278 * <li>each feature of each class,</li>
279 * <li>each operation of each class,</li>
280 * <li>each enum,</li>
281 * <li>and each data type</li>
282 * </ul>
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 interface Literals {
287 /**
288 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl <em>Transfomed Viatra Query</em>}' class.
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl
292 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getTransfomedViatraQuery()
293 * @generated
294 */
295 EClass TRANSFOMED_VIATRA_QUERY = eINSTANCE.getTransfomedViatraQuery();
296
297 /**
298 * The meta object literal for the '<em><b>Pattern Fully Qualified Name</b></em>' attribute feature.
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 EAttribute TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME = eINSTANCE.getTransfomedViatraQuery_PatternFullyQualifiedName();
304
305 /**
306 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl <em>Transformed Viatra Wellformedness Constraint</em>}' class.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl
310 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getTransformedViatraWellformednessConstraint()
311 * @generated
312 */
313 EClass TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT = eINSTANCE.getTransformedViatraWellformednessConstraint();
314
315 /**
316 * The meta object literal for the '<em><b>Query</b></em>' reference feature.
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 EReference TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY = eINSTANCE.getTransformedViatraWellformednessConstraint_Query();
322
323 /**
324 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl <em>Defined By Derived Feature</em>}' class.
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl
328 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getDefinedByDerivedFeature()
329 * @generated
330 */
331 EClass DEFINED_BY_DERIVED_FEATURE = eINSTANCE.getDefinedByDerivedFeature();
332
333 /**
334 * The meta object literal for the '<em><b>Query</b></em>' reference feature.
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 EReference DEFINED_BY_DERIVED_FEATURE__QUERY = eINSTANCE.getDefinedByDerivedFeature_Query();
340
341 }
342
343} //Viatra2LogicAnnotationsPackage
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java
new file mode 100644
index 00000000..c2098ed0
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java
@@ -0,0 +1,158 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl;
6
7import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature;
8import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
10
11import org.eclipse.emf.common.notify.Notification;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Defined By Derived Feature</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.DefinedByDerivedFeatureImpl#getQuery <em>Query</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class DefinedByDerivedFeatureImpl extends RelationAnnotationImpl implements DefinedByDerivedFeature {
32 /**
33 * The cached value of the '{@link #getQuery() <em>Query</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getQuery()
37 * @generated
38 * @ordered
39 */
40 protected TransfomedViatraQuery query;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected DefinedByDerivedFeatureImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 protected EClass eStaticClass() {
58 return Viatra2LogicAnnotationsPackage.Literals.DEFINED_BY_DERIVED_FEATURE;
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 public TransfomedViatraQuery getQuery() {
67 if (query != null && query.eIsProxy()) {
68 InternalEObject oldQuery = (InternalEObject)query;
69 query = (TransfomedViatraQuery)eResolveProxy(oldQuery);
70 if (query != oldQuery) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY, oldQuery, query));
73 }
74 }
75 return query;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public TransfomedViatraQuery basicGetQuery() {
84 return query;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public void setQuery(TransfomedViatraQuery newQuery) {
93 TransfomedViatraQuery oldQuery = query;
94 query = newQuery;
95 if (eNotificationRequired())
96 eNotify(new ENotificationImpl(this, Notification.SET, Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY, oldQuery, query));
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType) {
106 switch (featureID) {
107 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY:
108 if (resolve) return getQuery();
109 return basicGetQuery();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue) {
121 switch (featureID) {
122 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY:
123 setQuery((TransfomedViatraQuery)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID) {
136 switch (featureID) {
137 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY:
138 setQuery((TransfomedViatraQuery)null);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID) {
151 switch (featureID) {
152 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE__QUERY:
153 return query != null;
154 }
155 return super.eIsSet(featureID);
156 }
157
158} //DefinedByDerivedFeatureImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java
new file mode 100644
index 00000000..f0d18ee9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java
@@ -0,0 +1,161 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl;
6
7import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
8import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Transfomed Viatra Query</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements TransfomedViatraQuery {
28 /**
29 * The default value of the '{@link #getPatternFullyQualifiedName() <em>Pattern Fully Qualified Name</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getPatternFullyQualifiedName()
33 * @generated
34 * @ordered
35 */
36 protected static final String PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT = null;
37 /**
38 * The cached value of the '{@link #getPatternFullyQualifiedName() <em>Pattern Fully Qualified Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getPatternFullyQualifiedName()
42 * @generated
43 * @ordered
44 */
45 protected String patternFullyQualifiedName = PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected TransfomedViatraQueryImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return Viatra2LogicAnnotationsPackage.Literals.TRANSFOMED_VIATRA_QUERY;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public String getPatternFullyQualifiedName() {
72 return patternFullyQualifiedName;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public void setPatternFullyQualifiedName(String newPatternFullyQualifiedName) {
81 String oldPatternFullyQualifiedName = patternFullyQualifiedName;
82 patternFullyQualifiedName = newPatternFullyQualifiedName;
83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.SET, Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME, oldPatternFullyQualifiedName, patternFullyQualifiedName));
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @Override
93 public Object eGet(int featureID, boolean resolve, boolean coreType) {
94 switch (featureID) {
95 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME:
96 return getPatternFullyQualifiedName();
97 }
98 return super.eGet(featureID, resolve, coreType);
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public void eSet(int featureID, Object newValue) {
108 switch (featureID) {
109 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME:
110 setPatternFullyQualifiedName((String)newValue);
111 return;
112 }
113 super.eSet(featureID, newValue);
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 @Override
122 public void eUnset(int featureID) {
123 switch (featureID) {
124 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME:
125 setPatternFullyQualifiedName(PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT);
126 return;
127 }
128 super.eUnset(featureID);
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public boolean eIsSet(int featureID) {
138 switch (featureID) {
139 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME:
140 return PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT == null ? patternFullyQualifiedName != null : !PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT.equals(patternFullyQualifiedName);
141 }
142 return super.eIsSet(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public String toString() {
152 if (eIsProxy()) return super.toString();
153
154 StringBuffer result = new StringBuffer(super.toString());
155 result.append(" (patternFullyQualifiedName: ");
156 result.append(patternFullyQualifiedName);
157 result.append(')');
158 return result.toString();
159 }
160
161} //TransfomedViatraQueryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java
new file mode 100644
index 00000000..be0c3078
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java
@@ -0,0 +1,158 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl;
6
7import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
8import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint;
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
10
11import org.eclipse.emf.common.notify.Notification;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Transformed Viatra Wellformedness Constraint</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl#getQuery <em>Query</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class TransformedViatraWellformednessConstraintImpl extends AssertionAnnotationImpl implements TransformedViatraWellformednessConstraint {
32 /**
33 * The cached value of the '{@link #getQuery() <em>Query</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getQuery()
37 * @generated
38 * @ordered
39 */
40 protected TransfomedViatraQuery query;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected TransformedViatraWellformednessConstraintImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 protected EClass eStaticClass() {
58 return Viatra2LogicAnnotationsPackage.Literals.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT;
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 public TransfomedViatraQuery getQuery() {
67 if (query != null && query.eIsProxy()) {
68 InternalEObject oldQuery = (InternalEObject)query;
69 query = (TransfomedViatraQuery)eResolveProxy(oldQuery);
70 if (query != oldQuery) {
71 if (eNotificationRequired())
72 eNotify(new ENotificationImpl(this, Notification.RESOLVE, Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY, oldQuery, query));
73 }
74 }
75 return query;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public TransfomedViatraQuery basicGetQuery() {
84 return query;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public void setQuery(TransfomedViatraQuery newQuery) {
93 TransfomedViatraQuery oldQuery = query;
94 query = newQuery;
95 if (eNotificationRequired())
96 eNotify(new ENotificationImpl(this, Notification.SET, Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY, oldQuery, query));
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType) {
106 switch (featureID) {
107 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY:
108 if (resolve) return getQuery();
109 return basicGetQuery();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue) {
121 switch (featureID) {
122 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY:
123 setQuery((TransfomedViatraQuery)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID) {
136 switch (featureID) {
137 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY:
138 setQuery((TransfomedViatraQuery)null);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID) {
151 switch (featureID) {
152 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY:
153 return query != null;
154 }
155 return super.eIsSet(featureID);
156 }
157
158} //TransformedViatraWellformednessConstraintImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java
new file mode 100644
index 00000000..fc8f23c7
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java
@@ -0,0 +1,117 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements Viatra2LogicAnnotationsFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static Viatra2LogicAnnotationsFactory init() {
29 try {
30 Viatra2LogicAnnotationsFactory theViatra2LogicAnnotationsFactory = (Viatra2LogicAnnotationsFactory)EPackage.Registry.INSTANCE.getEFactory(Viatra2LogicAnnotationsPackage.eNS_URI);
31 if (theViatra2LogicAnnotationsFactory != null) {
32 return theViatra2LogicAnnotationsFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new Viatra2LogicAnnotationsFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public Viatra2LogicAnnotationsFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY: return createTransfomedViatraQuery();
60 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT: return createTransformedViatraWellformednessConstraint();
61 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE: return createDefinedByDerivedFeature();
62 default:
63 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
64 }
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public TransfomedViatraQuery createTransfomedViatraQuery() {
73 TransfomedViatraQueryImpl transfomedViatraQuery = new TransfomedViatraQueryImpl();
74 return transfomedViatraQuery;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public TransformedViatraWellformednessConstraint createTransformedViatraWellformednessConstraint() {
83 TransformedViatraWellformednessConstraintImpl transformedViatraWellformednessConstraint = new TransformedViatraWellformednessConstraintImpl();
84 return transformedViatraWellformednessConstraint;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public DefinedByDerivedFeature createDefinedByDerivedFeature() {
93 DefinedByDerivedFeatureImpl definedByDerivedFeature = new DefinedByDerivedFeatureImpl();
94 return definedByDerivedFeature;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public Viatra2LogicAnnotationsPackage getViatra2LogicAnnotationsPackage() {
103 return (Viatra2LogicAnnotationsPackage)getEPackage();
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @deprecated
110 * @generated
111 */
112 @Deprecated
113 public static Viatra2LogicAnnotationsPackage getPackage() {
114 return Viatra2LogicAnnotationsPackage.eINSTANCE;
115 }
116
117} //Viatra2LogicAnnotationsFactoryImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java
new file mode 100644
index 00000000..b6992bf9
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java
@@ -0,0 +1,256 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
8
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature;
10import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
11import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint;
12import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsFactory;
13import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
14
15import org.eclipse.emf.ecore.EAttribute;
16import org.eclipse.emf.ecore.EClass;
17import org.eclipse.emf.ecore.EPackage;
18import org.eclipse.emf.ecore.EReference;
19
20import org.eclipse.emf.ecore.impl.EPackageImpl;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model <b>Package</b>.
25 * <!-- end-user-doc -->
26 * @generated
27 */
28public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements Viatra2LogicAnnotationsPackage {
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 private EClass transfomedViatraQueryEClass = null;
35
36 /**
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 private EClass transformedViatraWellformednessConstraintEClass = null;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 private EClass definedByDerivedFeatureEClass = null;
49
50 /**
51 * Creates an instance of the model <b>Package</b>, registered with
52 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
53 * package URI value.
54 * <p>Note: the correct way to create the package is via the static
55 * factory method {@link #init init()}, which also performs
56 * initialization of the package, or returns the registered package,
57 * if one already exists.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see org.eclipse.emf.ecore.EPackage.Registry
61 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#eNS_URI
62 * @see #init()
63 * @generated
64 */
65 private Viatra2LogicAnnotationsPackageImpl() {
66 super(eNS_URI, Viatra2LogicAnnotationsFactory.eINSTANCE);
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 private static boolean isInited = false;
75
76 /**
77 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
78 *
79 * <p>This method is used to initialize {@link Viatra2LogicAnnotationsPackage#eINSTANCE} when that field is accessed.
80 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #eNS_URI
84 * @see #createPackageContents()
85 * @see #initializePackageContents()
86 * @generated
87 */
88 public static Viatra2LogicAnnotationsPackage init() {
89 if (isInited) return (Viatra2LogicAnnotationsPackage)EPackage.Registry.INSTANCE.getEPackage(Viatra2LogicAnnotationsPackage.eNS_URI);
90
91 // Obtain or create and register package
92 Viatra2LogicAnnotationsPackageImpl theViatra2LogicAnnotationsPackage = (Viatra2LogicAnnotationsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Viatra2LogicAnnotationsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new Viatra2LogicAnnotationsPackageImpl());
93
94 isInited = true;
95
96 // Initialize simple dependencies
97 LogiclanguagePackage.eINSTANCE.eClass();
98 LogicproblemPackage.eINSTANCE.eClass();
99
100 // Create package meta-data objects
101 theViatra2LogicAnnotationsPackage.createPackageContents();
102
103 // Initialize created meta-data
104 theViatra2LogicAnnotationsPackage.initializePackageContents();
105
106 // Mark meta-data to indicate it can't be changed
107 theViatra2LogicAnnotationsPackage.freeze();
108
109
110 // Update the registry and return the package
111 EPackage.Registry.INSTANCE.put(Viatra2LogicAnnotationsPackage.eNS_URI, theViatra2LogicAnnotationsPackage);
112 return theViatra2LogicAnnotationsPackage;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public EClass getTransfomedViatraQuery() {
121 return transfomedViatraQueryEClass;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public EAttribute getTransfomedViatraQuery_PatternFullyQualifiedName() {
130 return (EAttribute)transfomedViatraQueryEClass.getEStructuralFeatures().get(0);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public EClass getTransformedViatraWellformednessConstraint() {
139 return transformedViatraWellformednessConstraintEClass;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 public EReference getTransformedViatraWellformednessConstraint_Query() {
148 return (EReference)transformedViatraWellformednessConstraintEClass.getEStructuralFeatures().get(0);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 public EClass getDefinedByDerivedFeature() {
157 return definedByDerivedFeatureEClass;
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 public EReference getDefinedByDerivedFeature_Query() {
166 return (EReference)definedByDerivedFeatureEClass.getEStructuralFeatures().get(0);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public Viatra2LogicAnnotationsFactory getViatra2LogicAnnotationsFactory() {
175 return (Viatra2LogicAnnotationsFactory)getEFactoryInstance();
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private boolean isCreated = false;
184
185 /**
186 * Creates the meta-model objects for the package. This method is
187 * guarded to have no affect on any invocation but its first.
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 public void createPackageContents() {
193 if (isCreated) return;
194 isCreated = true;
195
196 // Create classes and their features
197 transfomedViatraQueryEClass = createEClass(TRANSFOMED_VIATRA_QUERY);
198 createEAttribute(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME);
199
200 transformedViatraWellformednessConstraintEClass = createEClass(TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT);
201 createEReference(transformedViatraWellformednessConstraintEClass, TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY);
202
203 definedByDerivedFeatureEClass = createEClass(DEFINED_BY_DERIVED_FEATURE);
204 createEReference(definedByDerivedFeatureEClass, DEFINED_BY_DERIVED_FEATURE__QUERY);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 private boolean isInitialized = false;
213
214 /**
215 * Complete the initialization of the package and its meta-model. This
216 * method is guarded to have no affect on any invocation but its first.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 public void initializePackageContents() {
222 if (isInitialized) return;
223 isInitialized = true;
224
225 // Initialize package
226 setName(eNAME);
227 setNsPrefix(eNS_PREFIX);
228 setNsURI(eNS_URI);
229
230 // Obtain other dependent packages
231 LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI);
232
233 // Create type parameters
234
235 // Set bounds for type parameters
236
237 // Add supertypes to classes
238 transfomedViatraQueryEClass.getESuperTypes().add(theLogicproblemPackage.getRelationAnnotation());
239 transformedViatraWellformednessConstraintEClass.getESuperTypes().add(theLogicproblemPackage.getAssertionAnnotation());
240 definedByDerivedFeatureEClass.getESuperTypes().add(theLogicproblemPackage.getRelationAnnotation());
241
242 // Initialize classes, features, and operations; add parameters
243 initEClass(transfomedViatraQueryEClass, TransfomedViatraQuery.class, "TransfomedViatraQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
244 initEAttribute(getTransfomedViatraQuery_PatternFullyQualifiedName(), ecorePackage.getEString(), "patternFullyQualifiedName", null, 1, 1, TransfomedViatraQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
245
246 initEClass(transformedViatraWellformednessConstraintEClass, TransformedViatraWellformednessConstraint.class, "TransformedViatraWellformednessConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
247 initEReference(getTransformedViatraWellformednessConstraint_Query(), this.getTransfomedViatraQuery(), null, "query", null, 1, 1, TransformedViatraWellformednessConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
248
249 initEClass(definedByDerivedFeatureEClass, DefinedByDerivedFeature.class, "DefinedByDerivedFeature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
250 initEReference(getDefinedByDerivedFeature_Query(), this.getTransfomedViatraQuery(), null, "query", null, 1, 1, DefinedByDerivedFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
251
252 // Create resource
253 createResource(eNS_URI);
254 }
255
256} //Viatra2LogicAnnotationsPackageImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java
new file mode 100644
index 00000000..91bbdc9f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java
@@ -0,0 +1,214 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
8
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.*;
10
11import org.eclipse.emf.common.notify.Adapter;
12import org.eclipse.emf.common.notify.Notifier;
13
14import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
15
16import org.eclipse.emf.ecore.EObject;
17
18/**
19 * <!-- begin-user-doc -->
20 * The <b>Adapter Factory</b> for the model.
21 * It provides an adapter <code>createXXX</code> method for each class of the model.
22 * <!-- end-user-doc -->
23 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
24 * @generated
25 */
26public class Viatra2LogicAnnotationsAdapterFactory extends AdapterFactoryImpl {
27 /**
28 * The cached model package.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 protected static Viatra2LogicAnnotationsPackage modelPackage;
34
35 /**
36 * Creates an instance of the adapter factory.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 public Viatra2LogicAnnotationsAdapterFactory() {
42 if (modelPackage == null) {
43 modelPackage = Viatra2LogicAnnotationsPackage.eINSTANCE;
44 }
45 }
46
47 /**
48 * Returns whether this factory is applicable for the type of the object.
49 * <!-- begin-user-doc -->
50 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
51 * <!-- end-user-doc -->
52 * @return whether this factory is applicable for the type of the object.
53 * @generated
54 */
55 @Override
56 public boolean isFactoryForType(Object object) {
57 if (object == modelPackage) {
58 return true;
59 }
60 if (object instanceof EObject) {
61 return ((EObject)object).eClass().getEPackage() == modelPackage;
62 }
63 return false;
64 }
65
66 /**
67 * The switch that delegates to the <code>createXXX</code> methods.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 protected Viatra2LogicAnnotationsSwitch<Adapter> modelSwitch =
73 new Viatra2LogicAnnotationsSwitch<Adapter>() {
74 @Override
75 public Adapter caseTransfomedViatraQuery(TransfomedViatraQuery object) {
76 return createTransfomedViatraQueryAdapter();
77 }
78 @Override
79 public Adapter caseTransformedViatraWellformednessConstraint(TransformedViatraWellformednessConstraint object) {
80 return createTransformedViatraWellformednessConstraintAdapter();
81 }
82 @Override
83 public Adapter caseDefinedByDerivedFeature(DefinedByDerivedFeature object) {
84 return createDefinedByDerivedFeatureAdapter();
85 }
86 @Override
87 public Adapter caseAnnotation(Annotation object) {
88 return createAnnotationAdapter();
89 }
90 @Override
91 public Adapter caseRelationAnnotation(RelationAnnotation object) {
92 return createRelationAnnotationAdapter();
93 }
94 @Override
95 public Adapter caseAssertionAnnotation(AssertionAnnotation object) {
96 return createAssertionAnnotationAdapter();
97 }
98 @Override
99 public Adapter defaultCase(EObject object) {
100 return createEObjectAdapter();
101 }
102 };
103
104 /**
105 * Creates an adapter for the <code>target</code>.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @param target the object to adapt.
109 * @return the adapter for the <code>target</code>.
110 * @generated
111 */
112 @Override
113 public Adapter createAdapter(Notifier target) {
114 return modelSwitch.doSwitch((EObject)target);
115 }
116
117
118 /**
119 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery <em>Transfomed Viatra Query</em>}'.
120 * <!-- begin-user-doc -->
121 * This default implementation returns null so that we can easily ignore cases;
122 * it's useful to ignore a case when inheritance will catch all the cases anyway.
123 * <!-- end-user-doc -->
124 * @return the new adapter.
125 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
126 * @generated
127 */
128 public Adapter createTransfomedViatraQueryAdapter() {
129 return null;
130 }
131
132 /**
133 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint <em>Transformed Viatra Wellformedness Constraint</em>}'.
134 * <!-- begin-user-doc -->
135 * This default implementation returns null so that we can easily ignore cases;
136 * it's useful to ignore a case when inheritance will catch all the cases anyway.
137 * <!-- end-user-doc -->
138 * @return the new adapter.
139 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint
140 * @generated
141 */
142 public Adapter createTransformedViatraWellformednessConstraintAdapter() {
143 return null;
144 }
145
146 /**
147 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature <em>Defined By Derived Feature</em>}'.
148 * <!-- begin-user-doc -->
149 * This default implementation returns null so that we can easily ignore cases;
150 * it's useful to ignore a case when inheritance will catch all the cases anyway.
151 * <!-- end-user-doc -->
152 * @return the new adapter.
153 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature
154 * @generated
155 */
156 public Adapter createDefinedByDerivedFeatureAdapter() {
157 return null;
158 }
159
160 /**
161 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation <em>Annotation</em>}'.
162 * <!-- begin-user-doc -->
163 * This default implementation returns null so that we can easily ignore cases;
164 * it's useful to ignore a case when inheritance will catch all the cases anyway.
165 * <!-- end-user-doc -->
166 * @return the new adapter.
167 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation
168 * @generated
169 */
170 public Adapter createAnnotationAdapter() {
171 return null;
172 }
173
174 /**
175 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation <em>Relation Annotation</em>}'.
176 * <!-- begin-user-doc -->
177 * This default implementation returns null so that we can easily ignore cases;
178 * it's useful to ignore a case when inheritance will catch all the cases anyway.
179 * <!-- end-user-doc -->
180 * @return the new adapter.
181 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation
182 * @generated
183 */
184 public Adapter createRelationAnnotationAdapter() {
185 return null;
186 }
187
188 /**
189 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation <em>Assertion Annotation</em>}'.
190 * <!-- begin-user-doc -->
191 * This default implementation returns null so that we can easily ignore cases;
192 * it's useful to ignore a case when inheritance will catch all the cases anyway.
193 * <!-- end-user-doc -->
194 * @return the new adapter.
195 * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation
196 * @generated
197 */
198 public Adapter createAssertionAnnotationAdapter() {
199 return null;
200 }
201
202 /**
203 * Creates a new adapter for the default case.
204 * <!-- begin-user-doc -->
205 * This default implementation returns null.
206 * <!-- end-user-doc -->
207 * @return the new adapter.
208 * @generated
209 */
210 public Adapter createEObjectAdapter() {
211 return null;
212 }
213
214} //Viatra2LogicAnnotationsAdapterFactory
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java
new file mode 100644
index 00000000..09288a62
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java
@@ -0,0 +1,207 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.util;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation;
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
8
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.*;
10
11import org.eclipse.emf.ecore.EObject;
12import org.eclipse.emf.ecore.EPackage;
13
14import org.eclipse.emf.ecore.util.Switch;
15
16/**
17 * <!-- begin-user-doc -->
18 * The <b>Switch</b> for the model's inheritance hierarchy.
19 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
20 * to invoke the <code>caseXXX</code> method for each class of the model,
21 * starting with the actual class of the object
22 * and proceeding up the inheritance hierarchy
23 * until a non-null result is returned,
24 * which is the result of the switch.
25 * <!-- end-user-doc -->
26 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
27 * @generated
28 */
29public class Viatra2LogicAnnotationsSwitch<T> extends Switch<T> {
30 /**
31 * The cached model package
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @generated
35 */
36 protected static Viatra2LogicAnnotationsPackage modelPackage;
37
38 /**
39 * Creates an instance of the switch.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @generated
43 */
44 public Viatra2LogicAnnotationsSwitch() {
45 if (modelPackage == null) {
46 modelPackage = Viatra2LogicAnnotationsPackage.eINSTANCE;
47 }
48 }
49
50 /**
51 * Checks whether this is a switch for the given package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @param ePackage the package in question.
55 * @return whether this is a switch for the given package.
56 * @generated
57 */
58 @Override
59 protected boolean isSwitchFor(EPackage ePackage) {
60 return ePackage == modelPackage;
61 }
62
63 /**
64 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @return the first non-null result returned by a <code>caseXXX</code> call.
68 * @generated
69 */
70 @Override
71 protected T doSwitch(int classifierID, EObject theEObject) {
72 switch (classifierID) {
73 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY: {
74 TransfomedViatraQuery transfomedViatraQuery = (TransfomedViatraQuery)theEObject;
75 T result = caseTransfomedViatraQuery(transfomedViatraQuery);
76 if (result == null) result = caseRelationAnnotation(transfomedViatraQuery);
77 if (result == null) result = caseAnnotation(transfomedViatraQuery);
78 if (result == null) result = defaultCase(theEObject);
79 return result;
80 }
81 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT: {
82 TransformedViatraWellformednessConstraint transformedViatraWellformednessConstraint = (TransformedViatraWellformednessConstraint)theEObject;
83 T result = caseTransformedViatraWellformednessConstraint(transformedViatraWellformednessConstraint);
84 if (result == null) result = caseAssertionAnnotation(transformedViatraWellformednessConstraint);
85 if (result == null) result = caseAnnotation(transformedViatraWellformednessConstraint);
86 if (result == null) result = defaultCase(theEObject);
87 return result;
88 }
89 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE: {
90 DefinedByDerivedFeature definedByDerivedFeature = (DefinedByDerivedFeature)theEObject;
91 T result = caseDefinedByDerivedFeature(definedByDerivedFeature);
92 if (result == null) result = caseRelationAnnotation(definedByDerivedFeature);
93 if (result == null) result = caseAnnotation(definedByDerivedFeature);
94 if (result == null) result = defaultCase(theEObject);
95 return result;
96 }
97 default: return defaultCase(theEObject);
98 }
99 }
100
101 /**
102 * Returns the result of interpreting the object as an instance of '<em>Transfomed Viatra Query</em>'.
103 * <!-- begin-user-doc -->
104 * This implementation returns null;
105 * returning a non-null result will terminate the switch.
106 * <!-- end-user-doc -->
107 * @param object the target of the switch.
108 * @return the result of interpreting the object as an instance of '<em>Transfomed Viatra Query</em>'.
109 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
110 * @generated
111 */
112 public T caseTransfomedViatraQuery(TransfomedViatraQuery object) {
113 return null;
114 }
115
116 /**
117 * Returns the result of interpreting the object as an instance of '<em>Transformed Viatra Wellformedness Constraint</em>'.
118 * <!-- begin-user-doc -->
119 * This implementation returns null;
120 * returning a non-null result will terminate the switch.
121 * <!-- end-user-doc -->
122 * @param object the target of the switch.
123 * @return the result of interpreting the object as an instance of '<em>Transformed Viatra Wellformedness Constraint</em>'.
124 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
125 * @generated
126 */
127 public T caseTransformedViatraWellformednessConstraint(TransformedViatraWellformednessConstraint object) {
128 return null;
129 }
130
131 /**
132 * Returns the result of interpreting the object as an instance of '<em>Defined By Derived Feature</em>'.
133 * <!-- begin-user-doc -->
134 * This implementation returns null;
135 * returning a non-null result will terminate the switch.
136 * <!-- end-user-doc -->
137 * @param object the target of the switch.
138 * @return the result of interpreting the object as an instance of '<em>Defined By Derived Feature</em>'.
139 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
140 * @generated
141 */
142 public T caseDefinedByDerivedFeature(DefinedByDerivedFeature object) {
143 return null;
144 }
145
146 /**
147 * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'.
148 * <!-- begin-user-doc -->
149 * This implementation returns null;
150 * returning a non-null result will terminate the switch.
151 * <!-- end-user-doc -->
152 * @param object the target of the switch.
153 * @return the result of interpreting the object as an instance of '<em>Annotation</em>'.
154 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
155 * @generated
156 */
157 public T caseAnnotation(Annotation object) {
158 return null;
159 }
160
161 /**
162 * Returns the result of interpreting the object as an instance of '<em>Relation Annotation</em>'.
163 * <!-- begin-user-doc -->
164 * This implementation returns null;
165 * returning a non-null result will terminate the switch.
166 * <!-- end-user-doc -->
167 * @param object the target of the switch.
168 * @return the result of interpreting the object as an instance of '<em>Relation Annotation</em>'.
169 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
170 * @generated
171 */
172 public T caseRelationAnnotation(RelationAnnotation object) {
173 return null;
174 }
175
176 /**
177 * Returns the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'.
178 * <!-- begin-user-doc -->
179 * This implementation returns null;
180 * returning a non-null result will terminate the switch.
181 * <!-- end-user-doc -->
182 * @param object the target of the switch.
183 * @return the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'.
184 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
185 * @generated
186 */
187 public T caseAssertionAnnotation(AssertionAnnotation object) {
188 return null;
189 }
190
191 /**
192 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
193 * <!-- begin-user-doc -->
194 * This implementation returns null;
195 * returning a non-null result will terminate the switch, but this is the last case anyway.
196 * <!-- end-user-doc -->
197 * @param object the target of the switch.
198 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
199 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
200 * @generated
201 */
202 @Override
203 public T defaultCase(EObject object) {
204 return null;
205 }
206
207} //Viatra2LogicAnnotationsSwitch
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird
new file mode 100644
index 00000000..b4c8ec92
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird
@@ -0,0 +1,394 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_hKMI0LzSEeaj7tVusjQpHg" selectedViews="_hMdZsLzSEeaj7tVusjQpHg _hMvGgLzSEeaj7tVusjQpHg _hM760LzSEeaj7tVusjQpHg _hNNAkLzSEeaj7tVusjQpHg" version="10.1.0.201509162000">
3 <semanticResources>ViatraModelAnnotations.ecore</semanticResources>
4 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore</semanticResources>
5 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore</semanticResources>
6 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
7 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_hMdZsLzSEeaj7tVusjQpHg">
8 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_h6EtoLzSEeaj7tVusjQpHg" name="viatra2logicannotations class diagram">
9 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_h6EtobzSEeaj7tVusjQpHg" source="DANNOTATION_CUSTOMIZATION_KEY">
10 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_h6EtorzSEeaj7tVusjQpHg">
11 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan">
12 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
13 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_JijTsbzTEeaj7tVusjQpHg" showIcon="false" labelExpression="service:render">
14 <labelFormat>bold</labelFormat>
15 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
16 </centerLabelStyleDescription>
17 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_JijTsrzTEeaj7tVusjQpHg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
18 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
19 </endLabelStyleDescription>
20 </computedStyleDescriptions>
21 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="__q-j0L2REeaj7tVusjQpHg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
22 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
23 <labelFormat>bold</labelFormat>
24 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
25 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
26 </computedStyleDescriptions>
27 </data>
28 </ownedAnnotationEntries>
29 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_h6IYALzSEeaj7tVusjQpHg" source="GMF_DIAGRAMS">
30 <data xmi:type="notation:Diagram" xmi:id="_h6IYAbzSEeaj7tVusjQpHg" type="Sirius" element="_h6EtoLzSEeaj7tVusjQpHg" measurementUnit="Pixel">
31 <children xmi:type="notation:Node" xmi:id="_8vuhcLzSEeaj7tVusjQpHg" type="2003" element="_8vqQALzSEeaj7tVusjQpHg">
32 <children xmi:type="notation:Node" xmi:id="_8vuhc7zSEeaj7tVusjQpHg" type="5007"/>
33 <children xmi:type="notation:Node" xmi:id="_8vuhdLzSEeaj7tVusjQpHg" type="7004">
34 <children xmi:type="notation:Node" xmi:id="_4D-9QL2REeaj7tVusjQpHg" type="3010" element="_4Dt3gL2REeaj7tVusjQpHg">
35 <styles xmi:type="notation:FontStyle" xmi:id="_4D-9Qb2REeaj7tVusjQpHg" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
36 <layoutConstraint xmi:type="notation:Location" xmi:id="_4D-9Qr2REeaj7tVusjQpHg"/>
37 </children>
38 <styles xmi:type="notation:SortingStyle" xmi:id="_8vuhdbzSEeaj7tVusjQpHg"/>
39 <styles xmi:type="notation:FilteringStyle" xmi:id="_8vuhdrzSEeaj7tVusjQpHg"/>
40 </children>
41 <styles xmi:type="notation:ShapeStyle" xmi:id="_8vuhcbzSEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
42 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8vuhcrzSEeaj7tVusjQpHg" x="5" y="390" width="228" height="53"/>
43 </children>
44 <children xmi:type="notation:Node" xmi:id="_Ci29sLzTEeaj7tVusjQpHg" type="2003" element="_Ciz6YLzTEeaj7tVusjQpHg">
45 <children xmi:type="notation:Node" xmi:id="_Ci29s7zTEeaj7tVusjQpHg" type="5007"/>
46 <children xmi:type="notation:Node" xmi:id="_Ci3kwLzTEeaj7tVusjQpHg" type="7004">
47 <styles xmi:type="notation:SortingStyle" xmi:id="_Ci3kwbzTEeaj7tVusjQpHg"/>
48 <styles xmi:type="notation:FilteringStyle" xmi:id="_Ci3kwrzTEeaj7tVusjQpHg"/>
49 </children>
50 <styles xmi:type="notation:ShapeStyle" xmi:id="_Ci29sbzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
51 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ci29srzTEeaj7tVusjQpHg" x="520" y="390" width="263" height="53"/>
52 </children>
53 <children xmi:type="notation:Node" xmi:id="_hos0ULzTEeaj7tVusjQpHg" type="2003" element="_hon70LzTEeaj7tVusjQpHg">
54 <children xmi:type="notation:Node" xmi:id="_hotbYLzTEeaj7tVusjQpHg" type="5007"/>
55 <children xmi:type="notation:Node" xmi:id="_hotbYbzTEeaj7tVusjQpHg" type="7004">
56 <styles xmi:type="notation:SortingStyle" xmi:id="_hotbYrzTEeaj7tVusjQpHg"/>
57 <styles xmi:type="notation:FilteringStyle" xmi:id="_hotbY7zTEeaj7tVusjQpHg"/>
58 </children>
59 <styles xmi:type="notation:ShapeStyle" xmi:id="_hos0UbzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
60 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hos0UrzTEeaj7tVusjQpHg" x="180" y="320" height="23"/>
61 </children>
62 <children xmi:type="notation:Node" xmi:id="_kYcYELzTEeaj7tVusjQpHg" type="2003" element="_kYYGoLzTEeaj7tVusjQpHg">
63 <children xmi:type="notation:Node" xmi:id="_kYcYE7zTEeaj7tVusjQpHg" type="5007"/>
64 <children xmi:type="notation:Node" xmi:id="_kYc_ILzTEeaj7tVusjQpHg" type="7004">
65 <styles xmi:type="notation:SortingStyle" xmi:id="_kYc_IbzTEeaj7tVusjQpHg"/>
66 <styles xmi:type="notation:FilteringStyle" xmi:id="_kYc_IrzTEeaj7tVusjQpHg"/>
67 </children>
68 <styles xmi:type="notation:ShapeStyle" xmi:id="_kYcYEbzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
69 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kYcYErzTEeaj7tVusjQpHg" x="403" y="245" height="35"/>
70 </children>
71 <children xmi:type="notation:Node" xmi:id="_pqrGsLzTEeaj7tVusjQpHg" type="2003" element="_pqmOMLzTEeaj7tVusjQpHg">
72 <children xmi:type="notation:Node" xmi:id="_pqrtwLzTEeaj7tVusjQpHg" type="5007"/>
73 <children xmi:type="notation:Node" xmi:id="_pqrtwbzTEeaj7tVusjQpHg" type="7004">
74 <styles xmi:type="notation:SortingStyle" xmi:id="_pqrtwrzTEeaj7tVusjQpHg"/>
75 <styles xmi:type="notation:FilteringStyle" xmi:id="_pqrtw7zTEeaj7tVusjQpHg"/>
76 </children>
77 <styles xmi:type="notation:ShapeStyle" xmi:id="_pqrGsbzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
78 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqrGsrzTEeaj7tVusjQpHg" x="580" y="320" height="28"/>
79 </children>
80 <children xmi:type="notation:Node" xmi:id="_7hZUIPObEeauOJk-5mBnBg" type="2003" element="_7gtXoPObEeauOJk-5mBnBg">
81 <children xmi:type="notation:Node" xmi:id="_7hjFIPObEeauOJk-5mBnBg" type="5007"/>
82 <children xmi:type="notation:Node" xmi:id="_7hkTQPObEeauOJk-5mBnBg" type="7004">
83 <styles xmi:type="notation:SortingStyle" xmi:id="_7hkTQfObEeauOJk-5mBnBg"/>
84 <styles xmi:type="notation:FilteringStyle" xmi:id="_7hkTQvObEeauOJk-5mBnBg"/>
85 </children>
86 <styles xmi:type="notation:ShapeStyle" xmi:id="_7hZUIfObEeauOJk-5mBnBg" fontName="Segoe UI" fontHeight="8"/>
87 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7hZUIvObEeauOJk-5mBnBg" x="245" y="390" width="263" height="53"/>
88 </children>
89 <styles xmi:type="notation:DiagramStyle" xmi:id="_h6IYArzSEeaj7tVusjQpHg"/>
90 <edges xmi:type="notation:Edge" xmi:id="_HcowELzTEeaj7tVusjQpHg" type="4001" element="_HcjQgLzTEeaj7tVusjQpHg" source="_Ci29sLzTEeaj7tVusjQpHg" target="_8vuhcLzSEeaj7tVusjQpHg">
91 <children xmi:type="notation:Node" xmi:id="_HcowFLzTEeaj7tVusjQpHg" type="6001">
92 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HcowFbzTEeaj7tVusjQpHg" x="113" y="-12" width="59" height="17"/>
93 </children>
94 <children xmi:type="notation:Node" xmi:id="_HcowFrzTEeaj7tVusjQpHg" type="6002">
95 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HcowF7zTEeaj7tVusjQpHg" x="1" y="366"/>
96 </children>
97 <children xmi:type="notation:Node" xmi:id="_HcowGLzTEeaj7tVusjQpHg" type="6003">
98 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HcowGbzTEeaj7tVusjQpHg" x="4" y="139"/>
99 </children>
100 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HcowEbzTEeaj7tVusjQpHg" routing="Rectilinear"/>
101 <styles xmi:type="notation:FontStyle" xmi:id="_HcowErzTEeaj7tVusjQpHg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
102 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HcowE7zTEeaj7tVusjQpHg" points="[131, 21, 420, 26]$[131, 150, 420, 155]$[-401, 150, -112, 155]$[-401, 26, -112, 31]"/>
103 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HcpXILzTEeaj7tVusjQpHg" id="(0.0,0.49019607843137253)"/>
104 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HcpXIbzTEeaj7tVusjQpHg" id="(1.0,0.39215686274509803)"/>
105 </edges>
106 <edges xmi:type="notation:Edge" xmi:id="_hotbZLzTEeaj7tVusjQpHg" type="4001" element="_hormMLzTEeaj7tVusjQpHg" source="_8vuhcLzSEeaj7tVusjQpHg" target="_hos0ULzTEeaj7tVusjQpHg">
107 <children xmi:type="notation:Node" xmi:id="_houCcLzTEeaj7tVusjQpHg" type="6001">
108 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_houCcbzTEeaj7tVusjQpHg" y="-10"/>
109 </children>
110 <children xmi:type="notation:Node" xmi:id="_houCcrzTEeaj7tVusjQpHg" type="6002">
111 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_houCc7zTEeaj7tVusjQpHg" y="10"/>
112 </children>
113 <children xmi:type="notation:Node" xmi:id="_houCdLzTEeaj7tVusjQpHg" type="6003">
114 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_houCdbzTEeaj7tVusjQpHg" y="10"/>
115 </children>
116 <styles xmi:type="notation:ConnectorStyle" xmi:id="_hotbZbzTEeaj7tVusjQpHg" routing="Tree"/>
117 <styles xmi:type="notation:FontStyle" xmi:id="_hotbZrzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
118 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hotbZ7zTEeaj7tVusjQpHg" points="[115, 240, 115, 240]$[0, 0, 0, 0]"/>
119 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_howesLzTEeaj7tVusjQpHg" id="(0.6769911504424779,0.3926128590971272)"/>
120 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_howesbzTEeaj7tVusjQpHg" id="(0.5,2.3333333333333335)"/>
121 </edges>
122 <edges xmi:type="notation:Edge" xmi:id="_kYdmMLzTEeaj7tVusjQpHg" type="4001" element="_kYbxALzTEeaj7tVusjQpHg" source="_hos0ULzTEeaj7tVusjQpHg" target="_kYcYELzTEeaj7tVusjQpHg">
123 <children xmi:type="notation:Node" xmi:id="_kYeNQLzTEeaj7tVusjQpHg" type="6001">
124 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kYeNQbzTEeaj7tVusjQpHg" y="-10"/>
125 </children>
126 <children xmi:type="notation:Node" xmi:id="_kYeNQrzTEeaj7tVusjQpHg" type="6002">
127 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kYeNQ7zTEeaj7tVusjQpHg" y="10"/>
128 </children>
129 <children xmi:type="notation:Node" xmi:id="_kYeNRLzTEeaj7tVusjQpHg" type="6003">
130 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kYeNRbzTEeaj7tVusjQpHg" y="10"/>
131 </children>
132 <styles xmi:type="notation:ConnectorStyle" xmi:id="_kYdmMbzTEeaj7tVusjQpHg" routing="Tree"/>
133 <styles xmi:type="notation:FontStyle" xmi:id="_kYdmMrzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
134 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kYdmM7zTEeaj7tVusjQpHg" points="[126, 55, 126, 55]$[0, 0, 0, 0]"/>
135 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kYhQkLzTEeaj7tVusjQpHg" id="(0.5,2.3333333333333335)"/>
136 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kYhQkbzTEeaj7tVusjQpHg" id="(0.5,-0.48484848484848486)"/>
137 </edges>
138 <edges xmi:type="notation:Edge" xmi:id="_pqsU0LzTEeaj7tVusjQpHg" type="4001" element="_pqp4kLzTEeaj7tVusjQpHg" source="_pqrGsLzTEeaj7tVusjQpHg" target="_kYcYELzTEeaj7tVusjQpHg">
139 <children xmi:type="notation:Node" xmi:id="_pqsU1LzTEeaj7tVusjQpHg" type="6001">
140 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqsU1bzTEeaj7tVusjQpHg" y="-10"/>
141 </children>
142 <children xmi:type="notation:Node" xmi:id="_pqsU1rzTEeaj7tVusjQpHg" type="6002">
143 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqsU17zTEeaj7tVusjQpHg" y="10"/>
144 </children>
145 <children xmi:type="notation:Node" xmi:id="_pqsU2LzTEeaj7tVusjQpHg" type="6003">
146 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pqsU2bzTEeaj7tVusjQpHg" y="10"/>
147 </children>
148 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pqsU0bzTEeaj7tVusjQpHg" routing="Tree"/>
149 <styles xmi:type="notation:FontStyle" xmi:id="_pqsU0rzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
150 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pqsU07zTEeaj7tVusjQpHg" points="[0, 0, 0, 0]$[305, -26, 305, -26]"/>
151 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqs74LzTEeaj7tVusjQpHg" id="(0.5,1.8846153846153846)"/>
152 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pqs74bzTEeaj7tVusjQpHg" id="(0.5,-0.48484848484848486)"/>
153 </edges>
154 <edges xmi:type="notation:Edge" xmi:id="_rIM0oLzTEeaj7tVusjQpHg" type="4001" element="_rIFf4LzTEeaj7tVusjQpHg" source="_Ci29sLzTEeaj7tVusjQpHg" target="_pqrGsLzTEeaj7tVusjQpHg">
155 <children xmi:type="notation:Node" xmi:id="_rINbsLzTEeaj7tVusjQpHg" type="6001">
156 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rINbsbzTEeaj7tVusjQpHg" y="-10"/>
157 </children>
158 <children xmi:type="notation:Node" xmi:id="_rINbsrzTEeaj7tVusjQpHg" type="6002">
159 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rINbs7zTEeaj7tVusjQpHg" y="10"/>
160 </children>
161 <children xmi:type="notation:Node" xmi:id="_rINbtLzTEeaj7tVusjQpHg" type="6003">
162 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rINbtbzTEeaj7tVusjQpHg" y="10"/>
163 </children>
164 <styles xmi:type="notation:ConnectorStyle" xmi:id="_rIM0obzTEeaj7tVusjQpHg" routing="Tree"/>
165 <styles xmi:type="notation:FontStyle" xmi:id="_rIM0orzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
166 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rIM0o7zTEeaj7tVusjQpHg" points="[0, 0, 0, 37]$[0, -37, 0, 0]"/>
167 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rIOCwLzTEeaj7tVusjQpHg" id="(0.4866920152091255,0.17282261741906063)"/>
168 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rIOCwbzTEeaj7tVusjQpHg" id="(0.5,1.8846153846153846)"/>
169 </edges>
170 <edges xmi:type="notation:Edge" xmi:id="_Ff16QPOcEeauOJk-5mBnBg" type="4001" element="_Fff8APOcEeauOJk-5mBnBg" source="_7hZUIPObEeauOJk-5mBnBg" target="_hos0ULzTEeaj7tVusjQpHg">
171 <children xmi:type="notation:Node" xmi:id="_Ff4WgPOcEeauOJk-5mBnBg" type="6001">
172 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ff4WgfOcEeauOJk-5mBnBg" y="-10"/>
173 </children>
174 <children xmi:type="notation:Node" xmi:id="_Ff5koPOcEeauOJk-5mBnBg" type="6002">
175 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ff5kofOcEeauOJk-5mBnBg" y="10"/>
176 </children>
177 <children xmi:type="notation:Node" xmi:id="_Ff6ywPOcEeauOJk-5mBnBg" type="6003">
178 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ff6ywfOcEeauOJk-5mBnBg" y="10"/>
179 </children>
180 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ff16QfOcEeauOJk-5mBnBg" routing="Tree"/>
181 <styles xmi:type="notation:FontStyle" xmi:id="_Ff16QvOcEeauOJk-5mBnBg" fontName="Segoe UI" fontHeight="8"/>
182 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ff16Q_OcEeauOJk-5mBnBg" points="[0, 0, 245, 116]$[-245, -116, 0, 0]"/>
183 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ff8A4POcEeauOJk-5mBnBg" id="(0.40229885057471265,0.09803921568627451)"/>
184 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ff8n8POcEeauOJk-5mBnBg" id="(0.5,2.3333333333333335)"/>
185 </edges>
186 <edges xmi:type="notation:Edge" xmi:id="_fhjIoPOcEeauOJk-5mBnBg" type="4001" element="_fhW7YPOcEeauOJk-5mBnBg" source="_7hZUIPObEeauOJk-5mBnBg" target="_8vuhcLzSEeaj7tVusjQpHg">
187 <children xmi:type="notation:Node" xmi:id="_fhjvsPOcEeauOJk-5mBnBg" type="6001">
188 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fhjvsfOcEeauOJk-5mBnBg" x="8" y="10"/>
189 </children>
190 <children xmi:type="notation:Node" xmi:id="_fhjvsvOcEeauOJk-5mBnBg" type="6002">
191 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fhjvs_OcEeauOJk-5mBnBg" x="-8" y="133"/>
192 </children>
193 <children xmi:type="notation:Node" xmi:id="_fhjvtPOcEeauOJk-5mBnBg" type="6003">
194 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fhjvtfOcEeauOJk-5mBnBg" x="8" y="98"/>
195 </children>
196 <styles xmi:type="notation:ConnectorStyle" xmi:id="_fhjIofOcEeauOJk-5mBnBg" routing="Rectilinear"/>
197 <styles xmi:type="notation:FontStyle" xmi:id="_fhjIovOcEeauOJk-5mBnBg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
198 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fhjIo_OcEeauOJk-5mBnBg" points="[131, 26, 145, 26]$[131, 80, 145, 80]$[-110, 80, -96, 80]$[-110, 26, -96, 26]"/>
199 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fhjvtvOcEeauOJk-5mBnBg" id="(0.0,0.49019607843137253)"/>
200 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fhjvt_OcEeauOJk-5mBnBg" id="(1.0,0.49019607843137253)"/>
201 </edges>
202 </data>
203 </ownedAnnotationEntries>
204 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_8vqQALzSEeaj7tVusjQpHg" name="TransfomedViatraQuery" tooltipText="" outgoingEdges="_hormMLzTEeaj7tVusjQpHg" incomingEdges="_HcjQgLzTEeaj7tVusjQpHg _fhW7YPOcEeauOJk-5mBnBg" width="12" height="10">
205 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
206 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
207 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
208 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
209 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
210 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="__LnHQL2REeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
211 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
212 </ownedStyle>
213 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
214 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_4Dt3gL2REeaj7tVusjQpHg" name="patternFullyQualifiedName : EString" tooltipText="">
215 <target xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternFullyQualifiedName"/>
216 <semanticElements xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternFullyQualifiedName"/>
217 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="__q-j0b2REeaj7tVusjQpHg" labelAlignment="LEFT" description="__q-j0L2REeaj7tVusjQpHg">
218 <labelFormat>bold</labelFormat>
219 </ownedStyle>
220 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
221 </ownedElements>
222 </ownedDiagramElements>
223 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_Ciz6YLzTEeaj7tVusjQpHg" name="TransformedViatraWellformednessConstraint" tooltipText="" outgoingEdges="_HcjQgLzTEeaj7tVusjQpHg _rIFf4LzTEeaj7tVusjQpHg" width="12" height="10">
224 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
225 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
226 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
227 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
228 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
229 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Ci0hcLzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
230 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
231 </ownedStyle>
232 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
233 </ownedDiagramElements>
234 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HcjQgLzTEeaj7tVusjQpHg" name="[1..1] query" sourceNode="_Ciz6YLzTEeaj7tVusjQpHg" targetNode="_8vqQALzSEeaj7tVusjQpHg">
235 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/>
236 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/>
237 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_JijTs7zTEeaj7tVusjQpHg" description="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
238 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_JijTtLzTEeaj7tVusjQpHg" showIcon="false">
239 <labelFormat>bold</labelFormat>
240 </centerLabelStyle>
241 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_JijTtbzTEeaj7tVusjQpHg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
242 </ownedStyle>
243 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
244 </ownedDiagramElements>
245 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_hon70LzTEeaj7tVusjQpHg" name="RelationAnnotation" tooltipText="" outgoingEdges="_kYbxALzTEeaj7tVusjQpHg" incomingEdges="_hormMLzTEeaj7tVusjQpHg _Fff8APOcEeauOJk-5mBnBg" width="12" height="10">
246 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
247 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
248 <decorations xmi:type="viewpoint:Decoration" xmi:id="_hoq_ILzTEeaj7tVusjQpHg">
249 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
250 </decorations>
251 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
252 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
253 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
254 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_hon70bzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
255 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
256 </ownedStyle>
257 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
258 </ownedDiagramElements>
259 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_hormMLzTEeaj7tVusjQpHg" sourceNode="_8vqQALzSEeaj7tVusjQpHg" targetNode="_hon70LzTEeaj7tVusjQpHg">
260 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
261 <semanticElements xmi:type="ecore:EGenericType" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/@eGenericSuperTypes.0"/>
262 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="__LpjgL2REeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
263 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
264 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="__Lpjgb2REeaj7tVusjQpHg" showIcon="false">
265 <labelFormat>italic</labelFormat>
266 </beginLabelStyle>
267 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="__Lpjgr2REeaj7tVusjQpHg" showIcon="false"/>
268 </ownedStyle>
269 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
270 </ownedDiagramElements>
271 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_kYYGoLzTEeaj7tVusjQpHg" name="Annotation" tooltipText="" incomingEdges="_kYbxALzTEeaj7tVusjQpHg _pqp4kLzTEeaj7tVusjQpHg" width="12" height="10">
272 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
273 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
274 <decorations xmi:type="viewpoint:Decoration" xmi:id="_kYai4LzTEeaj7tVusjQpHg">
275 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
276 </decorations>
277 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
278 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
279 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
280 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_kYYGobzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
281 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
282 </ownedStyle>
283 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
284 </ownedDiagramElements>
285 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_kYbxALzTEeaj7tVusjQpHg" sourceNode="_hon70LzTEeaj7tVusjQpHg" targetNode="_kYYGoLzTEeaj7tVusjQpHg">
286 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
287 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation/@eGenericSuperTypes.0"/>
288 <decorations xmi:type="viewpoint:Decoration" xmi:id="_rIE40LzTEeaj7tVusjQpHg">
289 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
290 </decorations>
291 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_kYbxAbzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
292 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
293 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_kYbxArzTEeaj7tVusjQpHg" showIcon="false">
294 <labelFormat>italic</labelFormat>
295 </beginLabelStyle>
296 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_kYbxA7zTEeaj7tVusjQpHg" showIcon="false"/>
297 </ownedStyle>
298 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
299 </ownedDiagramElements>
300 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pqmOMLzTEeaj7tVusjQpHg" name="AssertionAnnotation" tooltipText="" outgoingEdges="_pqp4kLzTEeaj7tVusjQpHg" incomingEdges="_rIFf4LzTEeaj7tVusjQpHg" width="12" height="10">
301 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
302 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
303 <decorations xmi:type="viewpoint:Decoration" xmi:id="_pqpRgLzTEeaj7tVusjQpHg">
304 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
305 </decorations>
306 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
307 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
308 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
309 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_pqmOMbzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
310 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
311 </ownedStyle>
312 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
313 </ownedDiagramElements>
314 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pqp4kLzTEeaj7tVusjQpHg" sourceNode="_pqmOMLzTEeaj7tVusjQpHg" targetNode="_kYYGoLzTEeaj7tVusjQpHg">
315 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
316 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/@eGenericSuperTypes.0"/>
317 <decorations xmi:type="viewpoint:Decoration" xmi:id="_rIE40bzTEeaj7tVusjQpHg">
318 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
319 </decorations>
320 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pqqfoLzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
321 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
322 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_pqqfobzTEeaj7tVusjQpHg" showIcon="false">
323 <labelFormat>italic</labelFormat>
324 </beginLabelStyle>
325 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pqqforzTEeaj7tVusjQpHg" showIcon="false"/>
326 </ownedStyle>
327 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
328 </ownedDiagramElements>
329 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_rIFf4LzTEeaj7tVusjQpHg" sourceNode="_Ciz6YLzTEeaj7tVusjQpHg" targetNode="_pqmOMLzTEeaj7tVusjQpHg">
330 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
331 <semanticElements xmi:type="ecore:EGenericType" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/@eGenericSuperTypes.0"/>
332 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_rIGG8LzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
333 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
334 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_rIGG8bzTEeaj7tVusjQpHg" showIcon="false">
335 <labelFormat>italic</labelFormat>
336 </beginLabelStyle>
337 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_rIGG8rzTEeaj7tVusjQpHg" showIcon="false"/>
338 </ownedStyle>
339 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
340 </ownedDiagramElements>
341 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7gtXoPObEeauOJk-5mBnBg" name="DefinedByDerivedFeature" tooltipText="" outgoingEdges="_Fff8APOcEeauOJk-5mBnBg _fhW7YPOcEeauOJk-5mBnBg" width="12" height="10">
342 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
343 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
344 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
345 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
346 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
347 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7gvM0PObEeauOJk-5mBnBg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
348 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
349 </ownedStyle>
350 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
351 </ownedDiagramElements>
352 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Fff8APOcEeauOJk-5mBnBg" sourceNode="_7gtXoPObEeauOJk-5mBnBg" targetNode="_hon70LzTEeaj7tVusjQpHg">
353 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
354 <semanticElements xmi:type="ecore:EGenericType" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/@eGenericSuperTypes.0"/>
355 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FfgjEPOcEeauOJk-5mBnBg" targetArrow="InputClosedArrow" routingStyle="tree">
356 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
357 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FfgjEfOcEeauOJk-5mBnBg" showIcon="false">
358 <labelFormat>italic</labelFormat>
359 </beginLabelStyle>
360 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FfgjEvOcEeauOJk-5mBnBg" showIcon="false"/>
361 </ownedStyle>
362 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
363 </ownedDiagramElements>
364 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_fhW7YPOcEeauOJk-5mBnBg" name="[1..1] query" sourceNode="_7gtXoPObEeauOJk-5mBnBg" targetNode="_8vqQALzSEeaj7tVusjQpHg">
365 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/query"/>
366 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/query"/>
367 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_hzsKYPOcEeauOJk-5mBnBg" description="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
368 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_hzsKYfOcEeauOJk-5mBnBg" showIcon="false">
369 <labelFormat>bold</labelFormat>
370 </centerLabelStyle>
371 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_hzsKYvOcEeauOJk-5mBnBg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
372 </ownedStyle>
373 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
374 </ownedDiagramElements>
375 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
376 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_h6FUsrzSEeaj7tVusjQpHg"/>
377 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
378 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
379 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
380 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
381 <target xmi:type="ecore:EPackage" href="ViatraModelAnnotations.ecore#/"/>
382 </ownedRepresentations>
383 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
384 </ownedViews>
385 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_hMvGgLzSEeaj7tVusjQpHg">
386 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
387 </ownedViews>
388 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_hM760LzSEeaj7tVusjQpHg">
389 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
390 </ownedViews>
391 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_hNNAkLzSEeaj7tVusjQpHg">
392 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
393 </ownedViews>
394</viewpoint:DAnalysis>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore
new file mode 100644
index 00000000..e4632b1c
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore
@@ -0,0 +1,16 @@
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="viatra2logicannotations" nsURI="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation"
4 nsPrefix="viatra2logicannotations">
5 <eClassifiers xsi:type="ecore:EClass" name="TransfomedViatraQuery" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation">
6 <eStructuralFeatures xsi:type="ecore:EAttribute" name="patternFullyQualifiedName"
7 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
8 </eClassifiers>
9 <eClassifiers xsi:type="ecore:EClass" name="TransformedViatraWellformednessConstraint"
10 eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation">
11 <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="#//TransfomedViatraQuery"/>
12 </eClassifiers>
13 <eClassifiers xsi:type="ecore:EClass" name="DefinedByDerivedFeature" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation">
14 <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="#//TransfomedViatraQuery"/>
15 </eClassifiers>
16</ecore:EPackage>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel
new file mode 100644
index 00000000..7a367c7e
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel
@@ -0,0 +1,16 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen"
4 modelPluginID="hu.bme.mit.inf.dslreasoner.viatra2logic" modelName="ViatraModelAnnotations"
5 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
6 complianceLevel="8.0" copyrightFields="false" usedGenPackages="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logiclanguage ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logicproblem"
7 operationReflection="true" importOrganizing="true">
8 <foreignModel>ViatraModelAnnotations.ecore</foreignModel>
9 <genPackages prefix="Viatra2LogicAnnotations" basePackage="hu.bme.mit.inf.dslreasoner.viatra2logic"
10 disposableProviderFactory="true" ecorePackage="ViatraModelAnnotations.ecore#/">
11 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
12 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint">
13 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/>
14 </genClasses>
15 </genPackages>
16</genmodel:GenModel>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.properties b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.properties
new file mode 100644
index 00000000..92081e57
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = ViatraModelAnnotations Model
4providerName = www.example.org
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.xml b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.xml
new file mode 100644
index 00000000..ffe2533a
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/plugin.xml
@@ -0,0 +1,17 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<!--
5-->
6
7<plugin>
8
9 <extension point="org.eclipse.emf.ecore.generated_package">
10 <!-- @generated ViatraModelAnnotations -->
11 <package
12 uri="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation"
13 class="hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage"
14 genModel="model/ViatraModelAnnotations.genmodel"/>
15 </extension>
16
17</plugin>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend
new file mode 100644
index 00000000..414af4c8
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend
@@ -0,0 +1,217 @@
1package hu.bme.mit.inf.dslreasoner.viatra2logic
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
4import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
10import java.util.LinkedList
11import java.util.Map
12import org.eclipse.emf.common.util.Enumerator
13import org.eclipse.emf.ecore.EAttribute
14import org.eclipse.emf.ecore.EClass
15import org.eclipse.emf.ecore.EReference
16import org.eclipse.emf.ecore.EStructuralFeature
17import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey
18import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey
19import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey
20import org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint
21import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter
24import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall
26import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure
27import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue
28import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint
30
31import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
32
33class Constraint2Logic {
34 val extension LogicProblemBuilder builder = new LogicProblemBuilder
35 val Ecore2Logic ecore2Logic
36
37 new(Ecore2Logic ecore2Logic) {
38 this.ecore2Logic = ecore2Logic
39 }
40
41 def dispatch Term transformConstraint(Equality constraint,
42 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
43 Viatra2LogicTrace viatra2LogicTrace,
44 Map<PVariable, Variable> variable2Variable,
45 Viatra2LogicConfiguration config)
46 {
47 constraint.who.lookup(variable2Variable)
48 ==
49 constraint.withWhom.lookup(variable2Variable)
50 }
51
52 def dispatch Term transformConstraint(ExportedParameter constraint,
53 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
54 Viatra2LogicTrace viatra2LogicTrace,
55 Map<PVariable, Variable> variable2Variable,
56 Viatra2LogicConfiguration config)
57 {
58 return null
59 }
60
61 def dispatch Term transformConstraint(Inequality constraint,
62 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
63 Viatra2LogicTrace viatra2LogicTrace,
64 Map<PVariable, Variable> variable2Variable,
65 Viatra2LogicConfiguration config)
66 {
67 constraint.who.lookup(variable2Variable)
68 !=
69 constraint.withWhom.lookup(variable2Variable)
70 }
71
72 def dispatch Term transformConstraint(NegativePatternCall constraint,
73 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
74 Viatra2LogicTrace viatra2LogicTrace,
75 Map<PVariable, Variable> variable2Variable,
76 Viatra2LogicConfiguration config)
77 {
78 val parameterSubstitution = new LinkedList
79 for(index : 0..<constraint.actualParametersTuple.size) {
80 val variable = constraint.actualParametersTuple.get(index) as PVariable
81 parameterSubstitution += variable.lookup(variable2Variable).toTerm
82 }
83
84 val res = constraint.referredQuery.lookup(viatra2LogicTrace.query2Relation).call(parameterSubstitution)
85 return res.Not
86 }
87
88 def dispatch Term transformConstraint(BinaryTransitiveClosure constraint,
89 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
90 Viatra2LogicTrace viatra2LogicTrace,
91 Map<PVariable, Variable> variable2Variable,
92 Viatra2LogicConfiguration config)
93 {
94 throw new UnsupportedOperationException
95 }
96
97 def dispatch Term transformConstraint(ConstantValue constant,
98 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
99 Viatra2LogicTrace viatra2LogicTrace,
100 Map<PVariable, Variable> variable2Variable,
101 Viatra2LogicConfiguration config)
102 {
103 val tuple = constant.variablesTuple
104 if(tuple.size == 1) {
105 val variable = tuple.get(0) as PVariable
106 //println(variable.name + " == " + constant.supplierKey + "["+constant.supplierKey.class.name+"]")
107 val translatedConstant = transformConstantValue(constant.supplierKey,ecore2LogicTrace,viatra2LogicTrace,config);
108 return variable.lookup(variable2Variable) == translatedConstant
109 } else throw new AssertionError
110 }
111
112 private def dispatch transformConstantValue(
113 Enumerator enumerator,
114 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
115 Viatra2LogicTrace viatra2LogicTrace,
116 Viatra2LogicConfiguration config)
117 {
118 ecore2Logic.Literal(ecore2LogicTrace.trace,enumerator)
119 }
120 private def dispatch transformConstantValue(
121 Integer value,
122 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
123 Viatra2LogicTrace viatra2LogicTrace,
124 Viatra2LogicConfiguration config)
125 {
126 return value.asTerm
127 }
128 private def dispatch transformConstantValue(Object other,
129 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
130 Viatra2LogicTrace viatra2LogicTrace,
131 Viatra2LogicConfiguration config)
132 {
133 throw new UnsupportedOperationException('''Unknown constant «other»:«other.class.name»''')
134 }
135
136 def dispatch Term transformConstraint(PositivePatternCall constraint,
137 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
138 Viatra2LogicTrace viatra2LogicTrace,
139 Map<PVariable, Variable> variable2Variable,
140 Viatra2LogicConfiguration config)
141 {
142
143 val parameterSubstitution = new LinkedList
144 for(index : 0..<constraint.variablesTuple.size) {
145 val variable = constraint.variablesTuple.get(index) as PVariable
146 parameterSubstitution += variable.lookup(variable2Variable).toTerm
147 }
148 val res = constraint.referredQuery.lookup(viatra2LogicTrace.query2Relation).call(parameterSubstitution)
149 return res
150 }
151
152 def dispatch Term transformConstraint(TypeConstraint constraint,
153 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
154 Viatra2LogicTrace viatra2LogicTrace,
155 Map<PVariable, Variable> variable2Variable,
156 Viatra2LogicConfiguration config)
157 {
158 val tuple = constraint.variablesTuple
159 if(tuple.size == 1) {
160 val typeConstraint = constraint.equivalentJudgement.inputKey
161 if(typeConstraint instanceof EClassTransitiveInstancesKey) {
162 val type = typeConstraint.emfKey
163 val variable = tuple.get(0) as PVariable
164 return transformTypeConstraint(type,variable,ecore2LogicTrace,variable2Variable,viatra2LogicTrace)
165 } else if(typeConstraint instanceof EDataTypeInSlotsKey) {
166 // If the type is a primitive type or EEnum, then instanceof is an unnecessary constraint
167 return null
168 }
169 } else if(tuple.size == 2) {
170 val type = (constraint.equivalentJudgement.inputKey as EStructuralFeatureInstancesKey).emfKey
171 val src = tuple.get(0) as PVariable
172 val trg = tuple.get(1) as PVariable
173 return transformPathConstraint(type,src,trg,ecore2LogicTrace,variable2Variable,viatra2LogicTrace)
174 } else throw new IllegalArgumentException('''unknown tuple: «tuple»''')
175 }
176 def Term transformTypeConstraint(
177 EClass type,
178 PVariable variable,
179 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
180 Map<PVariable, Variable> variable2Variable,
181 Viatra2LogicTrace viatra2LogicTrace)
182 {
183 InstanceOf(
184 variable.lookup(variable2Variable),
185 ecore2Logic.TypeofEClass(ecore2LogicTrace.trace,type))
186 }
187 def Term transformPathConstraint(
188 EStructuralFeature feature,
189 PVariable src, PVariable trg,
190 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
191 Map<PVariable, Variable> variable2Variable,
192 Viatra2LogicTrace viatra2LogicTrace)
193 {
194 if(feature instanceof EReference) {
195 return ecore2Logic.IsInReference(ecore2LogicTrace.trace,
196 src.lookup(variable2Variable),
197 trg.lookup(variable2Variable),
198 feature)
199 } else if(feature instanceof EAttribute) {
200 return ecore2Logic.IsAttributeValue(ecore2LogicTrace.trace,
201 src.lookup(variable2Variable),
202 trg.lookup(variable2Variable),
203 feature)
204 } else {
205 throw new IllegalArgumentException('''Unsupported path expression: «feature.class.name»''')
206 }
207 }
208
209 def dispatch Term transformConstraint(PConstraint constraint,
210 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
211 Viatra2LogicTrace viatra2LogicTrace,
212 Map<PVariable, Variable> variable2Variable,
213 Viatra2LogicConfiguration config)
214 {
215 throw new UnsupportedOperationException('''Unkown constraint type: «constraint.class.name»''')
216 }
217} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend
new file mode 100644
index 00000000..d78fe45f
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend
@@ -0,0 +1,317 @@
1package hu.bme.mit.inf.dslreasoner.viatra2logic
2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
4import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
11import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
12import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsFactory
13import java.util.ArrayList
14import java.util.HashMap
15import java.util.LinkedList
16import java.util.List
17import java.util.Map
18import java.util.Set
19import org.eclipse.emf.ecore.EAttribute
20import org.eclipse.emf.ecore.EClass
21import org.eclipse.emf.ecore.EClassifier
22import org.eclipse.emf.ecore.EEnum
23import org.eclipse.emf.ecore.EReference
24import org.eclipse.emf.ecore.EStructuralFeature
25import org.eclipse.emf.ecore.EcorePackage
26import org.eclipse.viatra.query.runtime.api.IQuerySpecification
27import org.eclipse.viatra.query.runtime.emf.EMFQueryMetaContext
28import org.eclipse.viatra.query.runtime.emf.types.BaseEMFTypeKey
29import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey
30import org.eclipse.viatra.query.runtime.emf.types.EClassUnscopedTransitiveInstancesKey
31import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey
32import org.eclipse.viatra.query.runtime.matchers.psystem.PBody
33import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable
34import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall
35import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
37import org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.PBodyNormalizer
38import org.eclipse.xtend.lib.annotations.Data
39
40import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
41
42@Data class ViatraQuerySetDescriptor {
43 val List<? extends IQuerySpecification<?>> patterns
44 val Set<? extends IQuerySpecification<?>> validationPatterns
45 val Map<PQuery,EStructuralFeature> derivedFeatures
46}
47class Viatra2LogicTrace {
48 public val Map<PQuery, RelationDefinition> query2Relation = new HashMap
49 public val Map<PQuery, TransfomedViatraQuery> query2Annotation = new HashMap
50 public val Map<Pair<PQuery,PParameter>, Variable> parameter2Variable = new HashMap
51 //public val Map<PVariable, Variable> variable2Variable = new HashMap
52}
53class Viatra2LogicConfiguration {
54 public var normalize = true
55 public var transitiveClosureDepth = 3
56}
57
58class Viatra2Logic {
59 val extension LogicProblemBuilder builder = new LogicProblemBuilder
60 val extension Viatra2LogicAnnotationsFactory factory = Viatra2LogicAnnotationsFactory.eINSTANCE
61 val Ecore2Logic ecore2Logic
62 Constraint2Logic constraint2Logic
63
64 new(Ecore2Logic ecore2Logic) {
65 this.ecore2Logic = ecore2Logic
66 constraint2Logic = new Constraint2Logic(ecore2Logic)
67 }
68
69 def TracedOutput<LogicProblem,Viatra2LogicTrace> transformQueries(
70 ViatraQuerySetDescriptor queries,
71 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
72 Viatra2LogicConfiguration config)
73 {
74 val viatra2LogicTrace = new Viatra2LogicTrace
75 for(query: queries.patterns) {
76 this.transformQueryHeader(query,ecore2LogicTrace,viatra2LogicTrace,config)
77 }
78 for(query: queries.patterns) {
79 this.transformQuerySpecification(query,ecore2LogicTrace,viatra2LogicTrace,config)
80 }
81 /*for(d : viatra2LogicTrace.query2Relation.values) {
82 checkDefinition(d)
83 }*/
84
85 transformQueryConstraints(
86 queries.validationPatterns,
87 queries.derivedFeatures,
88 ecore2LogicTrace,viatra2LogicTrace)
89 return new TracedOutput(ecore2LogicTrace.output,viatra2LogicTrace)
90 }
91
92 def protected transformQueryHeader(IQuerySpecification<?> squery,
93 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
94 Viatra2LogicTrace viatra2LogicTrace,
95 Viatra2LogicConfiguration config)
96 {
97 val pquery = squery.internalQueryRepresentation
98 val relationName = '''pattern «pquery.fullyQualifiedName.replace('.',' ')»'''
99 val parameters = new ArrayList<Variable>(pquery.parameters.size)
100 for(vParam: pquery.parameters) {
101 val parameterType = transformTypeReference(
102 vParam.declaredUnaryType as BaseEMFTypeKey<? extends EClassifier>,
103 ecore2LogicTrace
104 )
105 if(parameterType == null) {
106 println(parameterType)
107 }
108 val parameterName = '''parameter «vParam.name»'''
109 val lParam = createVar(parameterName,parameterType)
110 viatra2LogicTrace.parameter2Variable.put(pquery->vParam,lParam)
111 parameters+=lParam
112 }
113 val lRelation = RelationDefinition(relationName,parameters,null)
114
115 viatra2LogicTrace.query2Relation.put(pquery,lRelation);
116 ecore2LogicTrace.output.relations += lRelation
117
118 val annotation = createTransfomedViatraQuery => [
119 it.target = lRelation
120 it.patternFullyQualifiedName = pquery.fullyQualifiedName
121 ]
122 viatra2LogicTrace.query2Annotation.put(pquery,annotation)
123 ecore2LogicTrace.output.annotations += annotation
124
125 return lRelation
126 }
127
128 def protected transformQuerySpecification(
129 IQuerySpecification<?> squery,
130 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
131 Viatra2LogicTrace viatra2LogicTrace,
132 Viatra2LogicConfiguration config)
133 {
134 val pquery = squery.internalQueryRepresentation
135 val disjunction = if(config.normalize) {
136 val normalizer = new PBodyNormalizer(EMFQueryMetaContext.INSTANCE,true)
137 normalizer.rewrite(pquery)
138 } else {
139 pquery.disjunctBodies
140 }
141 val translatedBodies = new ArrayList(disjunction.bodies.size)
142 for(body : disjunction.bodies) {
143 translatedBodies+=body.transformBody(ecore2LogicTrace,viatra2LogicTrace,config)
144 }
145 val relation = pquery.lookup(viatra2LogicTrace.query2Relation)
146 relation.value = Or(translatedBodies)
147 }
148
149 def transformQueryConstraints(
150 Set<? extends IQuerySpecification<?>> validationPatterns,
151 Map<PQuery,EStructuralFeature> derivedFeatures,
152 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
153 Viatra2LogicTrace viatra2LogicTrace)
154 {
155 for(validationPattern : validationPatterns) {
156 val pquery = validationPattern.internalQueryRepresentation
157 val constraint = Assertion('''errorpattern «pquery.fullyQualifiedName.replace('.',' ')»''',
158 Forall[
159 for(param: pquery.parameters) {
160 addVar(param.name,transformTypeReference(
161 param.declaredUnaryType as BaseEMFTypeKey<? extends EClassifier>,
162 ecore2LogicTrace))
163 }
164 Not(pquery.lookup(viatra2LogicTrace.query2Relation).call(it.variables))
165 ]
166 )
167 val annotation = createTransformedViatraWellformednessConstraint => [
168 it.query = pquery.lookup(viatra2LogicTrace.query2Annotation)
169 it.target = constraint
170 ]
171 ecore2LogicTrace.output.add(constraint)
172 ecore2LogicTrace.output.annotations.add(annotation)
173 }
174 for(derivedFeature : derivedFeatures.entrySet) {
175 val relationDefinition = derivedFeature.key.lookup(viatra2LogicTrace.query2Relation)
176 val feature = derivedFeature.value
177 if(feature instanceof EAttribute) {
178 val declaration = ecore2Logic.relationOfAttribute(ecore2LogicTrace.trace,feature)
179 relationDefinition.defines = declaration
180 } else if(feature instanceof EReference) {
181 val declaration = ecore2Logic.relationOfReference(ecore2LogicTrace.trace,feature)
182 relationDefinition.defines = declaration
183 } else throw new IllegalArgumentException('''Unknown feature: «feature»''')
184 val annotation = createDefinedByDerivedFeature => [
185 it.target = relationDefinition.defines
186 it.query = derivedFeature.key.lookup(viatra2LogicTrace.query2Annotation)
187 ]
188 ecore2LogicTrace.output.annotations+=annotation
189 }
190 }
191
192 def transformBody(PBody body,
193 TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace,
194 Viatra2LogicTrace viatra2LogicTrace,
195 Viatra2LogicConfiguration config)
196 {
197 val variable2Variable = new HashMap
198 // Parameter variables
199 for(parameter : body.symbolicParameters) {
200 val param = parameter.patternParameter
201 val variable = parameter.parameterVariable
202 variable2Variable.put(variable,(body.pattern->param).lookup(viatra2LogicTrace.parameter2Variable))
203 }
204 // Inner Variables
205 val innerPositiveVariables = new LinkedList
206 val innerNegativeVariables = new LinkedList
207 for(innerVariable : body.uniqueVariables) {
208 if(!variable2Variable.containsKey(innerVariable)) {
209 val name = '''variable «innerVariable.name.normalizeName»'''
210 //println(body.pattern.fullyQualifiedName + "-")
211 val logicType = getType(innerVariable,body,ecore2LogicTrace)
212 val logicVariable = createVar(name,logicType)
213 if(innerVariable.isPositiveVariable) {
214 innerPositiveVariables += logicVariable
215 } else {
216 innerNegativeVariables += logicVariable
217 }
218 variable2Variable.put(innerVariable,logicVariable)
219 }
220 }
221
222 val translatedConstraints = body.constraints.map[
223 constraint2Logic.transformConstraint(it,
224 ecore2LogicTrace,viatra2LogicTrace,variable2Variable,config)
225 ].filterNull
226 val allConstraintIsSatisfied = And(translatedConstraints)
227 val allNetativeVariablesAreSatisfied = if(innerNegativeVariables.empty) {
228 allConstraintIsSatisfied
229 } else {
230 Forall(innerNegativeVariables,allConstraintIsSatisfied);
231 }
232 val allVariablesAreExisting = if(innerPositiveVariables.empty) {
233 allNetativeVariablesAreSatisfied
234 } else {
235 Exists(innerPositiveVariables,allNetativeVariablesAreSatisfied);
236 }
237
238 return allVariablesAreExisting
239 }
240
241 def private normalizeName(String variableName) {
242 return variableName.replaceAll("[\\W]|_", "")
243 }
244
245 def TypeDescriptor getType(PVariable v, PBody body, TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) {
246 if(v.isPositiveVariable) {
247 val types = v.lookup(
248 body.getAllUnaryTypeRestrictions(EMFQueryMetaContext.INSTANCE))
249 if(types.size == 0) {
250 throw new AssertionError('''No type for «v.name»''')
251 } else if(types.size == 1){
252 return (types.head.inputKey as BaseEMFTypeKey<? extends EClassifier>).transformTypeReference(ecore2LogicTrace)
253 } else {
254 return this.ecore2Logic.TypeofEClass(ecore2LogicTrace.trace,
255 calculateCommonSubtype(types.map[
256 (it.inputKey as BaseEMFTypeKey<EClass>).emfKey as EClass
257 ],ecore2LogicTrace))
258 }
259 } else {
260 val onlyConstraint = v.referringConstraints.head as NegativePatternCall
261 val indexOfVariable = v.lookup(onlyConstraint.actualParametersTuple.invertIndex)
262 val parameter = onlyConstraint.referredQuery.parameters.get(indexOfVariable)
263 val declaredUnaryType = parameter.declaredUnaryType as BaseEMFTypeKey<? extends EClassifier>
264 if(declaredUnaryType == null) {
265 throw new UnsupportedOperationException(
266 '''parameter «parameter.name» in pattern «
267 onlyConstraint.referredQuery.fullyQualifiedName» does not have type!''')
268 } else return declaredUnaryType.transformTypeReference(ecore2LogicTrace)
269 }
270 }
271
272 def calculateCommonSubtype(Iterable<EClass> allsuperClasses,TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) {
273 val superClasses = allsuperClasses.filter[it!=EcorePackage.eINSTANCE.EObject]
274 val head = superClasses.head
275 if(superClasses.forall[it.isSuperTypeOf(head)]) return head
276 else {
277 val allClasses = this.ecore2Logic.allClassesInScope(ecore2LogicTrace.trace)
278 //println(allClasses.toList)
279 val commonSubclasses = allClasses.filter[sub | superClasses.forall[sup | sup.isSuperTypeOf(sub)]]
280 //println(commonSubclasses.toList)
281 val mostGenericSubclasses = commonSubclasses.filter[generic | ! commonSubclasses.exists[moreGeneric | moreGeneric!=generic && moreGeneric.isSuperTypeOf(generic)]]
282 //println(mostGenericSubclasses.toList)
283 if(mostGenericSubclasses.isEmpty) throw new AssertionError('''No common supertype:
284 «FOR s : superClasses SEPARATOR ", "»«s.name»«ENDFOR»''')
285 else return mostGenericSubclasses.head
286
287 }
288 }
289
290 def dispatch transformTypeReference(EDataTypeInSlotsKey k,TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) {
291 val w = k.wrappedKey
292 if(w == EcorePackage.Literals.EINT) {
293 return builder.LogicInt
294 } else if(w == EcorePackage.Literals.EDOUBLE || w == EcorePackage.Literals.EFLOAT) {
295 return builder.LogicReal
296 } else if(w == EcorePackage.Literals.EBOOLEAN) {
297 return builder.LogicBool
298 } else if(w instanceof EEnum) {
299 this.ecore2Logic.TypeofEEnum(ecore2LogicTrace.trace,w);
300 } else throw new UnsupportedOperationException('''Unknown reference type «w.class.name»''')
301 }
302
303 def dispatch transformTypeReference(EClassTransitiveInstancesKey k,TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) {
304 this.ecore2Logic.TypeofEClass(ecore2LogicTrace.trace,k.wrappedKey)
305 }
306
307 def boolean isPositiveVariable(PVariable v) {
308 val constraints = v.referringConstraints
309 if(constraints.size == 1) {
310 val onlyConstraint = constraints.head
311 if(onlyConstraint instanceof NegativePatternCall) {
312 return false
313 }
314 }
315 return true
316 }
317} \ No newline at end of file