This project is a demonstrator of pattern instanciation on system engineering model (pseim), made by the MOISE project. It contains the metamodel of the pseim, graphical and textual editors, formal verification models (event-B) and examples.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
5.9 KiB

<?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="seim" nsURI="http://www.irt-saintexupery.com/seim/0.1" nsPrefix="seim">
<eAnnotations source="http://www.eclipse.org/OCL/Import">
<details key="ecore" value="http://www.eclipse.org/emf/2002/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="Component" eSuperTypes="#//GraphElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="content" upperBound="-1"
eType="#//Element" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//BorderElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" lowerBound="1"
eType="#//PortDirection"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Link" eSuperTypes="#//GraphElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="src" eType="#//Port"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dst" eType="#//Port"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GraphElement" abstract="true" interface="true"
eSuperTypes="#//Element"/>
<eClassifiers xsi:type="ecore:EClass" name="Property" abstract="true" interface="true"
eSuperTypes="#//IdentifiedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="keyNotNull"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="keyNotNull" value="key &lt;> ''"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="key" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BasicProperty" abstract="true" interface="true"
eSuperTypes="#//Property"/>
<eClassifiers xsi:type="ecore:EClass" name="IntegerProperty" eSuperTypes="#//BasicProperty">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="0"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StringProperty" eSuperTypes="#//BasicProperty">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="''"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BooleanProperty" eSuperTypes="#//BasicProperty">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReferenceProperty" eSuperTypes="#//Property">
<eStructuralFeatures xsi:type="ecore:EReference" name="ref" lowerBound="1" eType="#//PropertyHolder"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PropertyHolder" abstract="true" interface="true"
eSuperTypes="#//NamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="uniqueKeys"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uniqueKeys" value="properties->forAll(p1, p2 | p1 &lt;> p2 implies p1.key &lt;> p2.key)"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
eType="#//Property" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" interface="true"
eSuperTypes="#//IdentifiedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="nameNotEmpty"/>
</eAnnotations>
<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" 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">
<details key="constraints" value="uidNotEmpty"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="uidNotEmpty" value="uid &lt;> ''"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" unsettable="true" iD="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="PortDirection">
<eLiterals name="UNSPECIFIED" value="3"/>
<eLiterals name="IN"/>
<eLiterals name="OUT" value="1"/>
<eLiterals name="INOUT" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//PropertyHolder">
<eStructuralFeatures xsi:type="ecore:EReference" name="modelElements" upperBound="-1"
eType="#//GraphElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BorderElement" abstract="true" interface="true"
eSuperTypes="#//Element"/>
<eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" interface="true"
eSuperTypes="#//PropertyHolder"/>
</ecore:EPackage>