Skip to content

Commit d1ce353

Browse files
committed
Rossystem metamodel: add ComponentRef to reference rosnode in process; uncapitalize index
1 parent 3437f51 commit d1ce353

File tree

2 files changed

+60
-45
lines changed

2 files changed

+60
-45
lines changed

plugins/de.fraunhofer.ipa.rossystem/model/rossystem.ecore

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,68 +2,76 @@
22
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
33
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="system" nsURI="http://www.ipa.fraunhofer.de/rossystem" nsPrefix="system">
44
<eClassifiers xsi:type="ecore:EClass" name="System">
5-
<eStructuralFeatures xsi:type="ecore:EAttribute" name="Name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
6-
<eStructuralFeatures xsi:type="ecore:EReference" name="Processes" upperBound="-1"
5+
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
6+
<eStructuralFeatures xsi:type="ecore:EReference" name="processes" upperBound="-1"
77
eType="#//Process" containment="true"/>
8-
<eStructuralFeatures xsi:type="ecore:EReference" name="Components" upperBound="-1"
8+
<eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1"
99
eType="#//Component" containment="true"/>
10-
<eStructuralFeatures xsi:type="ecore:EReference" name="Connections" upperBound="-1"
10+
<eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1"
1111
eType="#//Connection" containment="true"/>
12-
<eStructuralFeatures xsi:type="ecore:EReference" name="Parameter" upperBound="-1"
13-
eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Parameter"
14-
derived="true" containment="true"/>
12+
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
13+
eType="#//RosParameter" derived="true" containment="true"/>
1514
</eClassifiers>
15+
<eClassifiers xsi:type="ecore:EClass" name="Rossystem" eSuperTypes="#//System"/>
1616
<eClassifiers xsi:type="ecore:EClass" name="Process">
17-
<eStructuralFeatures xsi:type="ecore:EAttribute" name="Name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
18-
<eStructuralFeatures xsi:type="ecore:EAttribute" name="Threads" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
19-
<eStructuralFeatures xsi:type="ecore:EReference" name="Nodes" upperBound="-1"
20-
eType="#//RosNode"/>
17+
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
18+
<eStructuralFeatures xsi:type="ecore:EAttribute" name="threads" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
19+
<eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1"
20+
eType="#//Component" containment="true"/>
2121
</eClassifiers>
2222
<eClassifiers xsi:type="ecore:EClass" name="Component" abstract="true"/>
2323
<eClassifiers xsi:type="ecore:EClass" name="Connection" abstract="true"/>
2424
<eClassifiers xsi:type="ecore:EClass" name="RosNode" eSuperTypes="#//Component">
25-
<eStructuralFeatures xsi:type="ecore:EAttribute" name="Name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
26-
<eStructuralFeatures xsi:type="ecore:EReference" name="From" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Node"/>
25+
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
26+
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Node"/>
2727
<eStructuralFeatures xsi:type="ecore:EReference" name="rosinterfaces" upperBound="-1"
2828
eType="#//RosInterface" containment="true"/>
2929
<eStructuralFeatures xsi:type="ecore:EReference" name="rosparameters" upperBound="-1"
3030
eType="#//RosParameter" containment="true"/>
3131
</eClassifiers>
3232
<eClassifiers xsi:type="ecore:EClass" name="RosInterface">
33-
<eStructuralFeatures xsi:type="ecore:EAttribute" name="Name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
34-
<eStructuralFeatures xsi:type="ecore:EReference" name="Reference" lowerBound="1"
33+
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
34+
<eStructuralFeatures xsi:type="ecore:EReference" name="reference" lowerBound="1"
3535
eType="#//InterfaceReference" containment="true"/>
3636
</eClassifiers>
3737
<eClassifiers xsi:type="ecore:EClass" name="InterfaceReference"/>
3838
<eClassifiers xsi:type="ecore:EClass" name="RosPublisherReference" eSuperTypes="#//InterfaceReference">
39-
<eStructuralFeatures xsi:type="ecore:EReference" name="From" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Publisher"/>
39+
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Publisher"/>
4040
</eClassifiers>
4141
<eClassifiers xsi:type="ecore:EClass" name="RosSubscriberReference" eSuperTypes="#//InterfaceReference">
42-
<eStructuralFeatures xsi:type="ecore:EReference" name="From" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Subscriber"/>
42+
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Subscriber"/>
4343
</eClassifiers>
4444
<eClassifiers xsi:type="ecore:EClass" name="RosServiceServerReference" eSuperTypes="#//InterfaceReference">
45-
<eStructuralFeatures xsi:type="ecore:EReference" name="From" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//ServiceServer"/>
45+
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//ServiceServer"/>
4646
</eClassifiers>
4747
<eClassifiers xsi:type="ecore:EClass" name="RosServerClientReference" eSuperTypes="#//InterfaceReference">
48-
<eStructuralFeatures xsi:type="ecore:EReference" name="From" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//ServiceClient"/>
48+
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//ServiceClient"/>
4949
</eClassifiers>
5050
<eClassifiers xsi:type="ecore:EClass" name="RosActionServerReference" eSuperTypes="#//InterfaceReference">
51-
<eStructuralFeatures xsi:type="ecore:EReference" name="From" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//ActionServer"/>
51+
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//ActionServer"/>
5252
</eClassifiers>
5353
<eClassifiers xsi:type="ecore:EClass" name="RosActionClientReference" eSuperTypes="#//InterfaceReference">
54-
<eStructuralFeatures xsi:type="ecore:EReference" name="From" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//ActionClient"/>
54+
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//ActionClient"/>
5555
</eClassifiers>
5656
<eClassifiers xsi:type="ecore:EClass" name="RosParameterReference" eSuperTypes="#//InterfaceReference">
57-
<eStructuralFeatures xsi:type="ecore:EReference" name="From" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Parameter"/>
57+
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Parameter"/>
5858
</eClassifiers>
5959
<eClassifiers xsi:type="ecore:EClass" name="RosParameter">
60-
<eStructuralFeatures xsi:type="ecore:EAttribute" name="Name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
60+
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
6161
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//ParameterValue"
6262
containment="true"/>
63-
<eStructuralFeatures xsi:type="ecore:EReference" name="From" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Parameter"/>
63+
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="ecore:EClass ../../de.fraunhofer.ipa.ros/model/ros.ecore#//Parameter"/>
6464
</eClassifiers>
6565
<eClassifiers xsi:type="ecore:EClass" name="RosConnection" eSuperTypes="#//Connection">
6666
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//RosInterface"/>
6767
<eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="#//RosInterface"/>
6868
</eClassifiers>
69+
<eClassifiers xsi:type="ecore:EClass" name="SystemRef">
70+
<eStructuralFeatures xsi:type="ecore:EReference" name="systemRef" lowerBound="1"
71+
eType="#//System"/>
72+
</eClassifiers>
73+
<eClassifiers xsi:type="ecore:EClass" name="ComponentRef" eSuperTypes="#//Component">
74+
<eStructuralFeatures xsi:type="ecore:EReference" name="componentRef" lowerBound="1"
75+
eType="#//Component"/>
76+
</eClassifiers>
6977
</ecore:EPackage>

plugins/de.fraunhofer.ipa.rossystem/model/rossystem.genmodel

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,59 +8,66 @@
88
<foreignModel>rossystem.ecore</foreignModel>
99
<genPackages prefix="Rossystem" disposableProviderFactory="true" ecorePackage="rossystem.ecore#/">
1010
<genClasses ecoreClass="rossystem.ecore#//System">
11-
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//System/Name"/>
12-
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//System/Processes"/>
13-
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//System/Components"/>
14-
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//System/Connections"/>
15-
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//System/Parameter"/>
11+
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//System/name"/>
12+
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//System/processes"/>
13+
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//System/components"/>
14+
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//System/connections"/>
15+
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//System/parameter"/>
1616
</genClasses>
17+
<genClasses ecoreClass="rossystem.ecore#//Rossystem"/>
1718
<genClasses ecoreClass="rossystem.ecore#//Process">
18-
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//Process/Name"/>
19-
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//Process/Threads"/>
20-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//Process/Nodes"/>
19+
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//Process/name"/>
20+
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//Process/threads"/>
21+
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//Process/nodes"/>
2122
</genClasses>
2223
<genClasses image="false" ecoreClass="rossystem.ecore#//Component"/>
2324
<genClasses image="false" ecoreClass="rossystem.ecore#//Connection"/>
2425
<genClasses ecoreClass="rossystem.ecore#//RosNode">
25-
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//RosNode/Name"/>
26-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosNode/From"/>
26+
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//RosNode/name"/>
27+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosNode/from"/>
2728
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosNode/rosinterfaces"/>
2829
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosNode/rosparameters"/>
2930
</genClasses>
3031
<genClasses ecoreClass="rossystem.ecore#//RosInterface">
31-
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//RosInterface/Name"/>
32-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosInterface/Reference"/>
32+
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//RosInterface/name"/>
33+
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosInterface/reference"/>
3334
</genClasses>
3435
<genClasses image="false" ecoreClass="rossystem.ecore#//InterfaceReference"/>
3536
<genClasses ecoreClass="rossystem.ecore#//RosPublisherReference">
36-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosPublisherReference/From"/>
37+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosPublisherReference/from"/>
3738
</genClasses>
3839
<genClasses ecoreClass="rossystem.ecore#//RosSubscriberReference">
39-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosSubscriberReference/From"/>
40+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosSubscriberReference/from"/>
4041
</genClasses>
4142
<genClasses ecoreClass="rossystem.ecore#//RosServiceServerReference">
42-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosServiceServerReference/From"/>
43+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosServiceServerReference/from"/>
4344
</genClasses>
4445
<genClasses ecoreClass="rossystem.ecore#//RosServerClientReference">
45-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosServerClientReference/From"/>
46+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosServerClientReference/from"/>
4647
</genClasses>
4748
<genClasses ecoreClass="rossystem.ecore#//RosActionServerReference">
48-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosActionServerReference/From"/>
49+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosActionServerReference/from"/>
4950
</genClasses>
5051
<genClasses ecoreClass="rossystem.ecore#//RosActionClientReference">
51-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosActionClientReference/From"/>
52+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosActionClientReference/from"/>
5253
</genClasses>
5354
<genClasses ecoreClass="rossystem.ecore#//RosParameterReference">
54-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosParameterReference/From"/>
55+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosParameterReference/from"/>
5556
</genClasses>
5657
<genClasses ecoreClass="rossystem.ecore#//RosParameter">
57-
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//RosParameter/Name"/>
58+
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute rossystem.ecore#//RosParameter/name"/>
5859
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosParameter/value"/>
59-
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosParameter/From"/>
60+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosParameter/from"/>
6061
</genClasses>
6162
<genClasses ecoreClass="rossystem.ecore#//RosConnection">
6263
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosConnection/from"/>
6364
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//RosConnection/to"/>
6465
</genClasses>
66+
<genClasses ecoreClass="rossystem.ecore#//SystemRef">
67+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//SystemRef/systemRef"/>
68+
</genClasses>
69+
<genClasses ecoreClass="rossystem.ecore#//ComponentRef">
70+
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference rossystem.ecore#//ComponentRef/componentRef"/>
71+
</genClasses>
6572
</genPackages>
6673
</genmodel:GenModel>

0 commit comments

Comments
 (0)