aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/Examples/ModelGenExampleFAM_standalone/inputs/FamMetamodel.ecore
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/Examples/ModelGenExampleFAM_standalone/inputs/FamMetamodel.ecore')
-rw-r--r--Domains/Examples/ModelGenExampleFAM_standalone/inputs/FamMetamodel.ecore52
1 files changed, 52 insertions, 0 deletions
diff --git a/Domains/Examples/ModelGenExampleFAM_standalone/inputs/FamMetamodel.ecore b/Domains/Examples/ModelGenExampleFAM_standalone/inputs/FamMetamodel.ecore
new file mode 100644
index 00000000..00d16fc0
--- /dev/null
+++ b/Domains/Examples/ModelGenExampleFAM_standalone/inputs/FamMetamodel.ecore
@@ -0,0 +1,52 @@
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" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="functionalarchitecture" nsURI="http://www.inf.mit.bme.hu/viatrasolver/example/fam" nsPrefix="functionalarchitecture">
3 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
4 <details key="settingDelegates" value="org.eclipse.viatra.query.querybasedfeature"/>
5 </eAnnotations>
6 <eClassifiers xsi:type="ecore:EClass" name="FunctionalElement" abstract="true">
7 <eStructuralFeatures xsi:type="ecore:EReference" name="interface" eType="//FunctionalInterface" containment="true" eOpposite="//FunctionalInterface/element"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1" eType="//FunctionalArchitectureModel" volatile="true" transient="true" derived="true">
9 <eAnnotations source="org.eclipse.viatra.query.querybasedfeature">
10 <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.fam.model"/>
11 </eAnnotations>
12 </eStructuralFeatures>
13 <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="//Function" eOpposite="//Function/subElements"/>
14 </eClassifiers>
15 <eClassifiers xsi:type="ecore:EClass" name="FunctionalArchitectureModel">
16 <eStructuralFeatures xsi:type="ecore:EReference" name="rootElements" upperBound="-1" eType="//FunctionalElement" containment="true"/>
17 </eClassifiers>
18 <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="//FunctionalElement">
19 <eStructuralFeatures xsi:type="ecore:EReference" name="subElements" upperBound="-1" eType="//FunctionalElement" containment="true" eOpposite="//FunctionalElement/parent"/>
20 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="//FunctionType" changeable="false" volatile="true" transient="true" derived="true">
21 <eAnnotations source="org.eclipse.viatra.query.querybasedfeature">
22 <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.fam.type"/>
23 </eAnnotations>
24 </eStructuralFeatures>
25 </eClassifiers>
26 <eClassifiers xsi:type="ecore:EClass" name="FAMTerminator">
27 <eStructuralFeatures xsi:type="ecore:EReference" name="data" eType="//FunctionalData" eOpposite="//FunctionalData/terminator"/>
28 </eClassifiers>
29 <eClassifiers xsi:type="ecore:EClass" name="InformationLink">
30 <eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="//FunctionalOutput" eOpposite="//FunctionalOutput/outgoingLinks"/>
31 <eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="//FunctionalInput" eOpposite="//FunctionalInput/IncomingLinks"/>
32 </eClassifiers>
33 <eClassifiers xsi:type="ecore:EClass" name="FunctionalInterface">
34 <eStructuralFeatures xsi:type="ecore:EReference" name="data" upperBound="-1" eType="//FunctionalData" containment="true" eOpposite="//FunctionalData/interface"/>
35 <eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="//FunctionalElement" eOpposite="//FunctionalElement/interface"/>
36 </eClassifiers>
37 <eClassifiers xsi:type="ecore:EClass" name="FunctionalInput" eSuperTypes="//FunctionalData">
38 <eStructuralFeatures xsi:type="ecore:EReference" name="IncomingLinks" upperBound="-1" eType="//InformationLink" eOpposite="//InformationLink/to"/>
39 </eClassifiers>
40 <eClassifiers xsi:type="ecore:EClass" name="FunctionalOutput" eSuperTypes="//FunctionalData">
41 <eStructuralFeatures xsi:type="ecore:EReference" name="outgoingLinks" upperBound="-1" eType="//InformationLink" containment="true" eOpposite="//InformationLink/from"/>
42 </eClassifiers>
43 <eClassifiers xsi:type="ecore:EClass" name="FunctionalData" abstract="true">
44 <eStructuralFeatures xsi:type="ecore:EReference" name="terminator" eType="//FAMTerminator" containment="true" eOpposite="//FAMTerminator/data"/>
45 <eStructuralFeatures xsi:type="ecore:EReference" name="interface" eType="//FunctionalInterface" eOpposite="//FunctionalInterface/data"/>
46 </eClassifiers>
47 <eClassifiers xsi:type="ecore:EEnum" name="FunctionType">
48 <eLiterals name="Root"/>
49 <eLiterals name="Intermediate" value="1"/>
50 <eLiterals name="Leaf" value="2"/>
51 </eClassifiers>
52</ecore:EPackage>