| <?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> |