blob: bbdf5c50df49891735c10445737144f2869da5ec [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="semantic"
nsURI="http://www.eclipse.org/gmf/examples/runtime/1.0.0/logicsemantic" nsPrefix="semantic">
<eClassifiers xsi:type="ecore:EClass" name="LED" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="0"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="terminals" upperBound="-1"
eType="#//Terminal" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputTerminals" upperBound="-1"
eType="#//Terminal" changeable="false" volatile="true" transient="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputTerminals" upperBound="-1"
eType="#//Terminal" changeable="false" volatile="true" transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Wire" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
eType="#//OutputTerminal"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
eType="#//InputTerminal"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Circuit" eSuperTypes="#//ContainerElement"/>
<eClassifiers xsi:type="ecore:EClass" name="Gate" abstract="true" eSuperTypes="#//Element"/>
<eClassifiers xsi:type="ecore:EClass" name="FlowContainer" eSuperTypes="#//ContainerElement"/>
<eClassifiers xsi:type="ecore:EClass" name="AndGate" eSuperTypes="#//Gate"/>
<eClassifiers xsi:type="ecore:EClass" name="OrGate" eSuperTypes="#//Gate"/>
<eClassifiers xsi:type="ecore:EClass" name="XORGate" eSuperTypes="#//Gate"/>
<eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//ContainerElement"/>
<eClassifiers xsi:type="ecore:EClass" name="ContainerElement" abstract="true" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
eType="#//Element" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Terminal" abstract="true" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral=""/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OutputTerminal" eSuperTypes="#//Terminal"/>
<eClassifiers xsi:type="ecore:EClass" name="InputTerminal" eSuperTypes="#//Terminal"/>
<eClassifiers xsi:type="ecore:EClass" name="InputOutputTerminal" eSuperTypes="#//OutputTerminal #//InputTerminal"/>
</ecore:EPackage>