blob: 89c8248fc1ba0fe9b9961e6554286a9638d02cee [file] [log] [blame]
<?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="comps" nsURI="comps" nsPrefix="comps">
<eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//Component"/>
<eClassifiers xsi:type="ecore:EClass" name="Component">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inPorts" upperBound="-1"
eType="#//Port" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outPorts" upperBound="-1"
eType="#//Port" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1"
eType="#//Component" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="connectors" upperBound="-1"
eType="#//Connector" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ComponentInstance" eSuperTypes="#//Component">
<eAnnotations source="instance">
<details key="of" value="Component"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="prototype" eType="#//Component"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Port">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" upperBound="-1"
eType="#//Connector" eOpposite="#//Connector/from"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="incoming" upperBound="-1"
eType="#//Connector" eOpposite="#//Connector/to"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Connector">
<eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="#//Port" eOpposite="#//Port/outgoing"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="to" eType="#//Port" eOpposite="#//Port/incoming"/>
</eClassifiers>
</ecore:EPackage>