Added mapping metamodel and generated code.

This commit is contained in:
Arnaud Dieumegard
2019-01-17 16:03:54 +01:00
parent a3370dc0c7
commit a85ade0b42
60 changed files with 7563 additions and 113 deletions

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="mapping" nsURI="http://www.irit.fr/patterns/mapping/0.1" nsPrefix="mapping">
<eAnnotations source="http://www.eclipse.org/OCL/Import">
<details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/>
<details key="pseim" value="pseim.ecore#/"/>
<details key="seim" value="seim.ecore#/"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
<details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
<details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="PatternApplication">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="InvariantName"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="InvariantName" value="true"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="cardinalityValues" upperBound="-1"
eType="#//CardinalityValue" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="portMapping" upperBound="-1"
eType="#//PortMapping" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="pattern" lowerBound="1"
eType="ecore:EClass pseim.ecore#//Pattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modelElement" lowerBound="1"
upperBound="-1" eType="#//GraphElementMapping" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1" eType="ecore:EClass seim.ecore#//Model"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CardinalityValue">
<eStructuralFeatures xsi:type="ecore:EReference" name="cardinalityElement" lowerBound="1"
eType="ecore:EClass pseim.ecore#//CardinalityElement"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PortMapping">
<eStructuralFeatures xsi:type="ecore:EReference" name="modelPort" ordered="false"
upperBound="-1" eType="ecore:EClass seim.ecore#//BorderElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="patternPort" lowerBound="1"
eType="ecore:EClass seim.ecore#//BorderElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GraphElementMapping">
<eStructuralFeatures xsi:type="ecore:EReference" name="modelGraphElement" ordered="false"
upperBound="-1" eType="ecore:EClass seim.ecore#//GraphElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="patternGraphElement" lowerBound="1"
eType="ecore:EClass seim.ecore#//GraphElement"/>
</eClassifiers>
</ecore:EPackage>

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/com.irtsaintexupery.pseim/src-gen" editDirectory="/com.irtsaintexupery.pseim.edit/src-gen"
editorDirectory="/com.irtsaintexupery.pseim.editor/src-gen" modelPluginID="com.irtsaintexupery.pseim"
templateDirectory="" modelName="Mapping" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
testsDirectory="/com.irtsaintexupery.pseim.tests/src-gen" importerID="org.eclipse.emf.importer.ecore"
complianceLevel="8.0" copyrightFields="false" usedGenPackages="pseim.genmodel#//pseim seim.genmodel#//seim"
operationReflection="true" importOrganizing="true">
<foreignModel>mapping.ecore</foreignModel>
<genPackages prefix="Mapping" basePackage="com.irtsaintexupery.pseim" disposableProviderFactory="true"
ecorePackage="mapping.ecore#/">
<genClasses ecoreClass="mapping.ecore#//PatternApplication">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference mapping.ecore#//PatternApplication/cardinalityValues"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference mapping.ecore#//PatternApplication/portMapping"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//PatternApplication/pattern"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference mapping.ecore#//PatternApplication/modelElement"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//PatternApplication/model"/>
</genClasses>
<genClasses ecoreClass="mapping.ecore#//CardinalityValue">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//CardinalityValue/cardinalityElement"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute mapping.ecore#//CardinalityValue/value"/>
</genClasses>
<genClasses ecoreClass="mapping.ecore#//PortMapping">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//PortMapping/modelPort"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//PortMapping/patternPort"/>
</genClasses>
<genClasses ecoreClass="mapping.ecore#//GraphElementMapping">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//GraphElementMapping/modelGraphElement"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference mapping.ecore#//GraphElementMapping/patternGraphElement"/>
</genClasses>
</genPackages>
</genmodel:GenModel>

View File

@@ -98,8 +98,8 @@
<details key="constraints" value="srcIsPatternPort dstIsPatternPort"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="srcIsPatternPort" value="src.oclIsTypeOf(PatternLink)"/>
<details key="dstIsPatternPort" value="dst.oclIsTypeOf(PatternLink)"/>
<details key="srcIsPatternPort" value="src.oclIsTypeOf(PatternPort)"/>
<details key="dstIsPatternPort" value="dst.oclIsTypeOf(PatternPort)"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="linkType" lowerBound="1"
eType="#//LinkType"/>

View File

@@ -3,7 +3,7 @@
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2018 IRT AESE (IRT Saint Exupéry).&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v2.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;https://www.eclipse.org/legal/epl-2.0"
modelDirectory="/com.irtsaintexupery.pseim/src-gen" editDirectory="/com.irtsaintexupery.pseim.edit/src-gen"
editorDirectory="/com.irtsaintexupery.pseim.editor/src-gen" modelPluginID="com.irtsaintexupery.pseim"
redirection="" modelName="Pseim" editPluginClass="com.irtsaintexupery.pseim.pseim.provider.PseimEditPlugin"
redirection="" modelName="Pseim" modelPluginClass="" editPluginClass="com.irtsaintexupery.pseim.pseim.provider.PseimEditPlugin"
editorPluginClass="com.irtsaintexupery.pseim.pseim.presentation.PseimEditorPlugin"
rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true"
testsDirectory="/com.irtsaintexupery.pseim.tests/src-gen" testSuiteClass="com.irtsaintexupery.pseim.pseim.tests.PseimAllTests"

View File

@@ -6,6 +6,8 @@
<semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
<semanticResources>pseim.ecore</semanticResources>
<semanticResources>pseim.genmodel</semanticResources>
<semanticResources>mapping.ecore</semanticResources>
<semanticResources>mapping.genmodel</semanticResources>
<ownedViews xmi:type="viewpoint:DView" xmi:id="_2M5gcCtyEei2HetS0nQhKw">
<viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
<ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_FZgtNyt2Eei2HetS0nQhKw" name="seim class diagram" repPath="#_FY63UCt2Eei2HetS0nQhKw">

View File

@@ -69,7 +69,7 @@
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="nameNotEmpty" value="name &lt;> ''"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IdentifiedElement" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">