From 75cafbe84e8af64bb0a723ed249a493b5bbc4cb1 Mon Sep 17 00:00:00 2001 From: Oszkar Semerath Date: Fri, 17 Apr 2020 00:16:07 +0200 Subject: Variable trace added to Viatra2Logic mapping --- .../Viatra2LogicAnnotationsFactory.java | 9 + .../Viatra2LogicAnnotationsPackage.java | 135 ++++++++++- .../impl/Viatra2LogicAnnotationsFactoryImpl.java | 16 ++ .../impl/Viatra2LogicAnnotationsPackageImpl.java | 73 +++++- .../Viatra2LogicAnnotationsAdapterFactory.java | 18 ++ .../util/Viatra2LogicAnnotationsSwitch.java | 21 ++ .../model/ViatraModelAnnotations.aird | 270 +++++++++++++++------ .../model/ViatraModelAnnotations.ecore | 9 + .../model/ViatraModelAnnotations.genmodel | 13 +- .../dslreasoner/viatra2logic/Viatra2Logic.xtend | 6 +- 10 files changed, 495 insertions(+), 75 deletions(-) (limited to 'Framework') 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 index 1343bee3..f9ad485a 100644 --- 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 @@ -48,6 +48,15 @@ public interface Viatra2LogicAnnotationsFactory extends EFactory { */ DefinedByDerivedFeature createDefinedByDerivedFeature(); + /** + * Returns a new object of class 'Variable Mapping'. + * + * + * @return a new object of class 'Variable Mapping'. + * @generated + */ + VariableMapping createVariableMapping(); + /** * Returns the package supported by this factory. * 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 index 97df7608..ef83a6cc 100644 --- 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 @@ -95,6 +95,15 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage { */ int TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 1; + /** + * The feature id for the 'Variable Trace' containment reference list. + * + * + * @generated + * @ordered + */ + int TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 2; + /** * The number of structural features of the 'Transfomed Viatra Query' class. * @@ -102,7 +111,7 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage { * @generated * @ordered */ - int TRANSFOMED_VIATRA_QUERY_FEATURE_COUNT = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 2; + int TRANSFOMED_VIATRA_QUERY_FEATURE_COUNT = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 3; /** * The number of operations of the 'Transfomed Viatra Query' class. @@ -207,6 +216,53 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage { int DEFINED_BY_DERIVED_FEATURE_OPERATION_COUNT = LogicproblemPackage.RELATION_ANNOTATION_OPERATION_COUNT + 0; + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl Variable Mapping}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl + * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getVariableMapping() + * @generated + */ + int VARIABLE_MAPPING = 3; + + /** + * The feature id for the 'Source PVariable' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE_MAPPING__SOURCE_PVARIABLE = 0; + + /** + * The feature id for the 'Target Logic Variable' reference. + * + * + * @generated + * @ordered + */ + int VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE = 1; + + /** + * The number of structural features of the 'Variable Mapping' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_MAPPING_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'Variable Mapping' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_MAPPING_OPERATION_COUNT = 0; + + /** * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery Transfomed Viatra Query}'. * @@ -239,6 +295,17 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage { */ EAttribute getTransfomedViatraQuery_PatternPQuery(); + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getVariableTrace Variable Trace}'. + * + * + * @return the meta object for the containment reference list 'Variable Trace'. + * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getVariableTrace() + * @see #getTransfomedViatraQuery() + * @generated + */ + EReference getTransfomedViatraQuery_VariableTrace(); + /** * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint Transformed Viatra Wellformedness Constraint}'. * @@ -281,6 +348,38 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage { */ EReference getDefinedByDerivedFeature_Query(); + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping Variable Mapping}'. + * + * + * @return the meta object for class 'Variable Mapping'. + * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping + * @generated + */ + EClass getVariableMapping(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getSourcePVariable Source PVariable}'. + * + * + * @return the meta object for the attribute 'Source PVariable'. + * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getSourcePVariable() + * @see #getVariableMapping() + * @generated + */ + EAttribute getVariableMapping_SourcePVariable(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getTargetLogicVariable Target Logic Variable}'. + * + * + * @return the meta object for the reference 'Target Logic Variable'. + * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getTargetLogicVariable() + * @see #getVariableMapping() + * @generated + */ + EReference getVariableMapping_TargetLogicVariable(); + /** * Returns the factory that creates the instances of the model. * @@ -330,6 +429,14 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage { */ EAttribute TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY = eINSTANCE.getTransfomedViatraQuery_PatternPQuery(); + /** + * The meta object literal for the 'Variable Trace' containment reference list feature. + * + * + * @generated + */ + EReference TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE = eINSTANCE.getTransfomedViatraQuery_VariableTrace(); + /** * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl Transformed Viatra Wellformedness Constraint}' class. * @@ -366,6 +473,32 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage { */ EReference DEFINED_BY_DERIVED_FEATURE__QUERY = eINSTANCE.getDefinedByDerivedFeature_Query(); + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl Variable Mapping}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl + * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getVariableMapping() + * @generated + */ + EClass VARIABLE_MAPPING = eINSTANCE.getVariableMapping(); + + /** + * The meta object literal for the 'Source PVariable' attribute feature. + * + * + * @generated + */ + EAttribute VARIABLE_MAPPING__SOURCE_PVARIABLE = eINSTANCE.getVariableMapping_SourcePVariable(); + + /** + * The meta object literal for the 'Target Logic Variable' reference feature. + * + * + * @generated + */ + EReference VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE = eINSTANCE.getVariableMapping_TargetLogicVariable(); + } } //Viatra2LogicAnnotationsPackage 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 index fc8f23c7..33b726c2 100644 --- 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 @@ -59,6 +59,7 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY: return createTransfomedViatraQuery(); case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT: return createTransformedViatraWellformednessConstraint(); case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE: return createDefinedByDerivedFeature(); + case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING: return createVariableMapping(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } @@ -69,6 +70,7 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements * * @generated */ + @Override public TransfomedViatraQuery createTransfomedViatraQuery() { TransfomedViatraQueryImpl transfomedViatraQuery = new TransfomedViatraQueryImpl(); return transfomedViatraQuery; @@ -79,6 +81,7 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements * * @generated */ + @Override public TransformedViatraWellformednessConstraint createTransformedViatraWellformednessConstraint() { TransformedViatraWellformednessConstraintImpl transformedViatraWellformednessConstraint = new TransformedViatraWellformednessConstraintImpl(); return transformedViatraWellformednessConstraint; @@ -89,6 +92,7 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements * * @generated */ + @Override public DefinedByDerivedFeature createDefinedByDerivedFeature() { DefinedByDerivedFeatureImpl definedByDerivedFeature = new DefinedByDerivedFeatureImpl(); return definedByDerivedFeature; @@ -99,6 +103,18 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements * * @generated */ + @Override + public VariableMapping createVariableMapping() { + VariableMappingImpl variableMapping = new VariableMappingImpl(); + return variableMapping; + } + + /** + * + * + * @generated + */ + @Override public Viatra2LogicAnnotationsPackage getViatra2LogicAnnotationsPackage() { return (Viatra2LogicAnnotationsPackage)getEPackage(); } 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 index 06965e87..85474753 100644 --- 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 @@ -9,6 +9,7 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage; import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature; import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery; import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint; +import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping; import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsFactory; import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage; @@ -47,6 +48,13 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements */ private EClass definedByDerivedFeatureEClass = null; + /** + * + * + * @generated + */ + private EClass variableMappingEClass = null; + /** * Creates an instance of the model Package, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package @@ -75,7 +83,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements /** * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. - * + * *

This method is used to initialize {@link Viatra2LogicAnnotationsPackage#eINSTANCE} when that field is accessed. * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. * @@ -89,7 +97,8 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements if (isInited) return (Viatra2LogicAnnotationsPackage)EPackage.Registry.INSTANCE.getEPackage(Viatra2LogicAnnotationsPackage.eNS_URI); // Obtain or create and register package - Viatra2LogicAnnotationsPackageImpl theViatra2LogicAnnotationsPackage = (Viatra2LogicAnnotationsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Viatra2LogicAnnotationsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new Viatra2LogicAnnotationsPackageImpl()); + Object registeredViatra2LogicAnnotationsPackage = EPackage.Registry.INSTANCE.get(eNS_URI); + Viatra2LogicAnnotationsPackageImpl theViatra2LogicAnnotationsPackage = registeredViatra2LogicAnnotationsPackage instanceof Viatra2LogicAnnotationsPackageImpl ? (Viatra2LogicAnnotationsPackageImpl)registeredViatra2LogicAnnotationsPackage : new Viatra2LogicAnnotationsPackageImpl(); isInited = true; @@ -106,7 +115,6 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements // Mark meta-data to indicate it can't be changed theViatra2LogicAnnotationsPackage.freeze(); - // Update the registry and return the package EPackage.Registry.INSTANCE.put(Viatra2LogicAnnotationsPackage.eNS_URI, theViatra2LogicAnnotationsPackage); return theViatra2LogicAnnotationsPackage; @@ -117,6 +125,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements * * @generated */ + @Override public EClass getTransfomedViatraQuery() { return transfomedViatraQueryEClass; } @@ -126,6 +135,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements * * @generated */ + @Override public EAttribute getTransfomedViatraQuery_PatternFullyQualifiedName() { return (EAttribute)transfomedViatraQueryEClass.getEStructuralFeatures().get(0); } @@ -135,6 +145,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements * * @generated */ + @Override public EAttribute getTransfomedViatraQuery_PatternPQuery() { return (EAttribute)transfomedViatraQueryEClass.getEStructuralFeatures().get(1); } @@ -144,6 +155,17 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements * * @generated */ + @Override + public EReference getTransfomedViatraQuery_VariableTrace() { + return (EReference)transfomedViatraQueryEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override public EClass getTransformedViatraWellformednessConstraint() { return transformedViatraWellformednessConstraintEClass; } @@ -153,6 +175,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements * * @generated */ + @Override public EReference getTransformedViatraWellformednessConstraint_Query() { return (EReference)transformedViatraWellformednessConstraintEClass.getEStructuralFeatures().get(0); } @@ -162,6 +185,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements * * @generated */ + @Override public EClass getDefinedByDerivedFeature() { return definedByDerivedFeatureEClass; } @@ -171,6 +195,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements * * @generated */ + @Override public EReference getDefinedByDerivedFeature_Query() { return (EReference)definedByDerivedFeatureEClass.getEStructuralFeatures().get(0); } @@ -180,6 +205,37 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements * * @generated */ + @Override + public EClass getVariableMapping() { + return variableMappingEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getVariableMapping_SourcePVariable() { + return (EAttribute)variableMappingEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getVariableMapping_TargetLogicVariable() { + return (EReference)variableMappingEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override public Viatra2LogicAnnotationsFactory getViatra2LogicAnnotationsFactory() { return (Viatra2LogicAnnotationsFactory)getEFactoryInstance(); } @@ -206,12 +262,17 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements transfomedViatraQueryEClass = createEClass(TRANSFOMED_VIATRA_QUERY); createEAttribute(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME); createEAttribute(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY); + createEReference(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE); transformedViatraWellformednessConstraintEClass = createEClass(TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT); createEReference(transformedViatraWellformednessConstraintEClass, TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY); definedByDerivedFeatureEClass = createEClass(DEFINED_BY_DERIVED_FEATURE); createEReference(definedByDerivedFeatureEClass, DEFINED_BY_DERIVED_FEATURE__QUERY); + + variableMappingEClass = createEClass(VARIABLE_MAPPING); + createEAttribute(variableMappingEClass, VARIABLE_MAPPING__SOURCE_PVARIABLE); + createEReference(variableMappingEClass, VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE); } /** @@ -239,6 +300,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements // Obtain other dependent packages LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI); + LogiclanguagePackage theLogiclanguagePackage = (LogiclanguagePackage)EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI); // Create type parameters @@ -253,6 +315,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements initEClass(transfomedViatraQueryEClass, TransfomedViatraQuery.class, "TransfomedViatraQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 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); initEAttribute(getTransfomedViatraQuery_PatternPQuery(), ecorePackage.getEJavaObject(), "patternPQuery", null, 1, 1, TransfomedViatraQuery.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTransfomedViatraQuery_VariableTrace(), this.getVariableMapping(), null, "variableTrace", null, 0, -1, TransfomedViatraQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(transformedViatraWellformednessConstraintEClass, TransformedViatraWellformednessConstraint.class, "TransformedViatraWellformednessConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 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); @@ -260,6 +323,10 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements initEClass(definedByDerivedFeatureEClass, DefinedByDerivedFeature.class, "DefinedByDerivedFeature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 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); + initEClass(variableMappingEClass, VariableMapping.class, "VariableMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getVariableMapping_SourcePVariable(), ecorePackage.getEJavaObject(), "sourcePVariable", null, 1, 1, VariableMapping.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getVariableMapping_TargetLogicVariable(), theLogiclanguagePackage.getVariable(), null, "targetLogicVariable", null, 1, 1, VariableMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + // Create resource createResource(eNS_URI); } 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 index 91bbdc9f..f66f480f 100644 --- 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 @@ -84,6 +84,10 @@ public class Viatra2LogicAnnotationsAdapterFactory extends AdapterFactoryImpl { return createDefinedByDerivedFeatureAdapter(); } @Override + public Adapter caseVariableMapping(VariableMapping object) { + return createVariableMappingAdapter(); + } + @Override public Adapter caseAnnotation(Annotation object) { return createAnnotationAdapter(); } @@ -157,6 +161,20 @@ public class Viatra2LogicAnnotationsAdapterFactory extends AdapterFactoryImpl { return null; } + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping Variable Mapping}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping + * @generated + */ + public Adapter createVariableMappingAdapter() { + return null; + } + /** * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation Annotation}'. * 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 index 09288a62..72b2fc4c 100644 --- 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 @@ -94,6 +94,12 @@ public class Viatra2LogicAnnotationsSwitch extends Switch { if (result == null) result = defaultCase(theEObject); return result; } + case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING: { + VariableMapping variableMapping = (VariableMapping)theEObject; + T result = caseVariableMapping(variableMapping); + if (result == null) result = defaultCase(theEObject); + return result; + } default: return defaultCase(theEObject); } } @@ -143,6 +149,21 @@ public class Viatra2LogicAnnotationsSwitch extends Switch { return null; } + /** + * Returns the result of interpreting the object as an instance of 'Variable Mapping'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Variable Mapping'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVariableMapping(VariableMapping object) { + return null; + } + /** * Returns the result of interpreting the object as an instance of 'Annotation'. * diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird index 1af6ebf0..01843da0 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird @@ -1,30 +1,30 @@ - + ViatraModelAnnotations.ecore platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore http://www.eclipse.org/emf/2002/Ecore - + - + - + - + - + - - - + + + @@ -47,9 +47,18 @@ + + + + + + + + + - + @@ -121,6 +130,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -234,205 +269,302 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + KEEP_LOCATION KEEP_SIZE KEEP_RATIO - + - + - + bold - + - + bold - + KEEP_LOCATION KEEP_SIZE KEEP_RATIO - + - + - - + + bold - + - + - + KEEP_LOCATION KEEP_SIZE KEEP_RATIO - + - + - + bold - + - - + + - + italic - + - + - + KEEP_LOCATION KEEP_SIZE KEEP_RATIO - + - + - - + + - + - + italic - + - + - + KEEP_LOCATION KEEP_SIZE KEEP_RATIO - + - + - + bold - + - - + + - + - + italic - + - + - - + + - + italic - + - + KEEP_LOCATION KEEP_SIZE KEEP_RATIO - + - + - - + + - + italic - + - + - - + + + bold + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + bold + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + bold + + + + + + + + + bold - + - + diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore index b7d2dcc3..0d3a9755 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore @@ -8,6 +8,8 @@ + @@ -16,4 +18,11 @@ + + + + diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel index 7a367c7e..e252177e 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel @@ -8,9 +8,20 @@ ViatraModelAnnotations.ecore - + + + + + + + + + + + + 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 index 0f97d3fe..a098945d 100644 --- 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 @@ -248,6 +248,10 @@ class Viatra2Logic { innerPositiveVariables += logicVariable } variable2Variable.put(innerVariable,logicVariable) + body.pattern.lookup(viatra2LogicTrace.query2Annotation).variableTrace += createVariableMapping=>[ + it.sourcePVariable = innerVariable + it.targetLogicVariable = logicVariable + ] } } } @@ -267,7 +271,7 @@ class Viatra2Logic { } else { Exists(innerPositiveVariables,allNegativeVariablesAreSatisfied); } - + return allVariablesAreExisting } -- cgit v1.2.3-54-g00ecf