blob: ae8271c2cf7a880fb710c8c590cd2201247de99f [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="libraryElement" nsURI="org.eclipse.fordiac.ide.model.libraryElement"
nsPrefix="libraryElement">
<eClassifiers xsi:type="ecore:EClass" name="AdapterDeclaration" eSuperTypes="#//VarDeclaration">
<eOperations name="getType" eType="#//AdapterType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="//this code can not be moved to a model annotations class&#xA;return (AdapterType)super.getType();"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="adapterFB" eType="#//AdapterFB"
eOpposite="#//AdapterFB/adapterDecl"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="paletteEntry" eType="ecore:EClass palette.ecore#//AdapterTypePaletteEntry"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AdapterType" eSuperTypes="data.ecore#//DataType">
<eOperations name="getInterfaceList" eType="#//InterfaceList">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getInterfaceList(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getPlugType" eType="#//AdapterFBType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getPlugType(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getSocketType" eType="#//AdapterFBType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getSocketType(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="adapterFBType" eType="#//AdapterFBType"
resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Service"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Algorithm" abstract="true" eSuperTypes="#//INamedElement"/>
<eClassifiers xsi:type="ecore:EClass" name="Application" eSuperTypes="#//ConfigurableObject">
<eOperations name="getAutomationSystem" eType="#//AutomationSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAutomationSystem(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="fBNetwork" lowerBound="1"
eType="#//FBNetwork" containment="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="FBNetwork"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BasicFBType" eSuperTypes="#//BaseFBType">
<eOperations name="getAlgorithmNamed" lowerBound="1" eType="#//Algorithm">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAlgorithmNamed(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="eCC" eType="#//ECC" containment="true"
resolveProxies="false" eOpposite="#//ECC/basicFBType">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ECC"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="algorithm" upperBound="-1"
eType="#//Algorithm" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Algorithm"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompilerInfo">
<eStructuralFeatures xsi:type="ecore:EReference" name="compiler" upperBound="-1"
eType="#//Compiler" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Compiler"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="classdef" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="classdef"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="header" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="header"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Compiler">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" lowerBound="1"
eType="#//Language" defaultValueLiteral="C" unsettable="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Language"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="product" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Product"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="vendor" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Vendor"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Version"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Connection" abstract="true" eSuperTypes="#//ConfigurableObject">
<eOperations name="getSourceElement" lowerBound="1" eType="#//FBNetworkElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getSourceElement(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getDestinationElement" lowerBound="1" eType="#//FBNetworkElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getDestinationElement(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="isResourceConnection" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isResourceConnection(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getFBNetwork" lowerBound="1" eType="#//FBNetwork">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getFBNetwork(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="checkIfConnectionBroken" lowerBound="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="org.eclipse.fordiac.ide.model.Annotations.checkifConnectionBroken(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="updateRoutingData" lowerBound="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="final ConnectionRoutingData newRoutingData = org.eclipse.fordiac.ide.model.libraryElement.LibraryElementFactory.eINSTANCE.createConnectionRoutingData();&#xA;newRoutingData.setDx1(dx1);&#xA;newRoutingData.setDy(dy);&#xA;newRoutingData.setDx2(dx2);&#xA;setRoutingData(newRoutingData);"/>
</eAnnotations>
<eParameters name="dx1" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
<eParameters name="dy" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
<eParameters name="dx2" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="resTypeConnection" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="brokenConnection" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//IInterfaceElement"
eOpposite="#//IInterfaceElement/outputConnections"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="destination" eType="#//IInterfaceElement"
eOpposite="#//IInterfaceElement/inputConnections"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="routingData" lowerBound="1"
eType="#//ConnectionRoutingData"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConnectionRoutingData">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dx1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
defaultValueLiteral="0">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="dx1"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dx2" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
defaultValueLiteral="0">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="dx2"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dy" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
defaultValueLiteral="0">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="dy"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Device" eSuperTypes="#//TypedConfigureableObject #//PositionableElement #//ColorizableElement #//IVarElement">
<eOperations name="getAutomationSystem" lowerBound="1" eType="#//AutomationSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAutomationSystem(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getSystemConfiguration" lowerBound="1" eType="#//SystemConfiguration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getSystemConfiguration(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getType" lowerBound="1" eType="#//DeviceType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="//this cannot be moved to the annotation class because there we don't have the super access!!!&#xD;&#xA;org.eclipse.fordiac.ide.model.libraryElement.LibraryElement type = super.getType();&#xD;&#xA;if(type instanceof DeviceType){&#xD;&#xA;&#x9;return (DeviceType) type; &#xD;&#xA;}&#xD;&#xA;return null;"/>
</eAnnotations>
</eOperations>
<eOperations name="getResourceNamed" eType="#//Resource">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getResourceNamed(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="resource" upperBound="-1"
eType="#//Resource" containment="true" resolveProxies="false" eOpposite="#//Resource/device">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Resource"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="profile" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inConnections" upperBound="-1"
eType="#//Link" eOpposite="#//Link/device"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DeviceType" eSuperTypes="#//CompilableType">
<eStructuralFeatures xsi:type="ecore:EReference" name="varDeclaration" upperBound="-1"
eType="#//VarDeclaration" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="VarDeclaration"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="resourceTypeName" upperBound="-1"
eType="#//ResourceTypeName" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ResourceTypeName"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="resource" upperBound="-1"
eType="#//Resource" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Resource"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="fBNetwork" eType="#//FBNetwork"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="FBNetwork"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="profile" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributeDeclarations"
upperBound="-1" eType="#//AttributeDeclaration" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ECAction">
<eStructuralFeatures xsi:type="ecore:EReference" name="algorithm" eType="#//Algorithm"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="output" eType="#//Event"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="eCState" lowerBound="1"
eType="#//ECState" eOpposite="#//ECState/eCAction"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ECC">
<eStructuralFeatures xsi:type="ecore:EReference" name="eCState" lowerBound="1"
upperBound="-1" eType="#//ECState" containment="true" resolveProxies="false"
eOpposite="#//ECState/eCC">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ECState"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="eCTransition" lowerBound="1"
upperBound="-1" eType="#//ECTransition" containment="true" resolveProxies="false"
eOpposite="#//ECTransition/eCC">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ECTransition"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="start" eType="#//ECState"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="basicFBType" lowerBound="1"
eType="#//BasicFBType" eOpposite="#//BasicFBType/eCC"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ECState" eSuperTypes="#//INamedElement #//PositionableElement">
<eOperations name="isStartState" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isStartState(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="eCAction" upperBound="-1"
eType="#//ECAction" containment="true" resolveProxies="false" eOpposite="#//ECAction/eCState">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ECAction"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outTransitions" upperBound="-1"
eType="#//ECTransition" eOpposite="#//ECTransition/source"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inTransitions" upperBound="-1"
eType="#//ECTransition" eOpposite="#//ECTransition/destination"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="eCC" eType="#//ECC" eOpposite="#//ECC/eCState"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ECTransition" eSuperTypes="#//PositionableElement">
<eOperations name="getConditionText" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getConditionText(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getPriority" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return getSource().getOutTransitions().indexOf(this) + 1;"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="" derived="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Comment"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="conditionExpression" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral="1">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Condition"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
eType="#//ECState" eOpposite="#//ECState/outTransitions"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="destination" lowerBound="1"
eType="#//ECState" eOpposite="#//ECState/inTransitions"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="conditionEvent" eType="#//Event"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="eCC" lowerBound="1" eType="#//ECC"
eOpposite="#//ECC/eCTransition"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Event" eSuperTypes="#//IInterfaceElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="with" upperBound="-1" eType="#//With"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="With"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FB" eSuperTypes="#//FBNetworkElement">
<eOperations name="isResourceFB" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isResourceFB(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="isResourceTypeFB" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isResourceTypeFB(this);"/>
</eAnnotations>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FBNetworkElement" eSuperTypes="#//TypedConfigureableObject #//PositionableElement">
<eOperations name="getResource" lowerBound="1" eType="#//Resource">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getResource(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getInterfaceElement" lowerBound="1" eType="#//IInterfaceElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getInterfaceElement(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getOpposite" lowerBound="1" eType="#//FBNetworkElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getOpposite(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getFbNetwork" lowerBound="1" eType="#//FBNetwork">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getFbNetwork(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="checkConnections" lowerBound="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="org.eclipse.fordiac.ide.model.Annotations.checkConnections(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="isMapped" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isMapped(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getType" lowerBound="1" eType="#//FBType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="//the base class of all types a FBNetworkElement can be (FB, Subapp, Adapter) is a FBType. Therefore we can have this here.&#xA;&#xA;//this cannot be moved to the annotation class because there we don't have the super access!!!&#xA;&#xA;return super.getType() instanceof FBType ? (FBType)super.getType() : null;"/>
</eAnnotations>
</eOperations>
<eOperations name="isNestedInSubApp" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="final EObject parent = this.eContainer();if (parent == null) {return false;}final EObject grandParent = parent.eContainer();if (grandParent == null) {return false;}return grandParent instanceof org.eclipse.fordiac.ide.model.libraryElement.SubApp;"/>
</eAnnotations>
</eOperations>
<eOperations name="getOuterFBNetworkElement" lowerBound="1" eType="#//FBNetworkElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="&#x9;&#x9;if ((this.eContainer() == null) || !(this.eContainer().eContainer() instanceof FBNetworkElement)) {&#xA;&#x9;&#x9;&#x9;return null;&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return (FBNetworkElement) this.eContainer().eContainer();"/>
</eAnnotations>
</eOperations>
<eOperations name="isContainedInTypedInstance" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.helpers.FBNetworkElementHelper.isContainedInTypedInstance(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="interface" eType="#//InterfaceList"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mapping" eType="#//Mapping"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SubApp" eSuperTypes="#//FBNetworkElement">
<eOperations name="getType" lowerBound="1" eType="#//SubAppType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="//this cannot be moved to the annotation class because there we don't have the super access!!!&#xD;&#xA;org.eclipse.fordiac.ide.model.libraryElement.LibraryElement type = super.getType();&#xD;&#xA;if(type instanceof SubAppType){&#xD;&#xA; return (SubAppType) type; &#xD;&#xA;}&#xD;&#xA;return null;"/>
</eAnnotations>
</eOperations>
<eOperations name="isUnfolded" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="Attribute attr = this.getAttribute(LibraryElementTags.SUBAPP_REPRESENTATION_ATTRIBUTE);&#xA;return (attr != null) &amp;&amp; &quot;true&quot;.equals(attr.getValue()); //$NON-NLS-1$"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="subAppNetwork" eType="#//FBNetwork"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FBType" eSuperTypes="#//CompilableType">
<eStructuralFeatures xsi:type="ecore:EReference" name="interfaceList" lowerBound="1"
eType="#//InterfaceList" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="InterfaceList"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="service" lowerBound="1"
eType="#//Service" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceSequence"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Identification">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="applicationDomain" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="ApplicationDomain"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="classification" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Classification"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Description"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="function" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Function"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="standard" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Standard"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Type"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InputPrimitive" eSuperTypes="#//Primitive"/>
<eClassifiers xsi:type="ecore:EClass" name="InterfaceList">
<eOperations name="getAllInterfaceElements" lowerBound="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAllInterfaceElements(this);"/>
</eAnnotations>
<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
<eTypeArguments eClassifier="#//IInterfaceElement"/>
</eGenericType>
</eOperations>
<eOperations name="getEvent" eType="#//Event">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getEvent(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getVariable" eType="#//VarDeclaration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getVariable(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getInterfaceElement" lowerBound="1" eType="#//IInterfaceElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getInterfaceElement(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getFBNetworkElement" lowerBound="1" eType="#//FBNetworkElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getFBNetworkElement(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getAdapter" eType="#//AdapterDeclaration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAdapter(this, name);"/>
</eAnnotations>
<eParameters name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="copy" lowerBound="1" eType="#//InterfaceList">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.helpers.InterfaceListCopier.copy(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="plugs" upperBound="-1"
eType="#//AdapterDeclaration" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="AdapterDeclaration"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="sockets" upperBound="-1"
eType="#//AdapterDeclaration" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="AdapterDeclaration"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="eventInputs" upperBound="-1"
eType="#//Event" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="SubAppEventInputs"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="eventOutputs" upperBound="-1"
eType="#//Event" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="SubAppEventOutputs"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputVars" upperBound="-1"
eType="#//VarDeclaration" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="InputVars"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputVars" upperBound="-1"
eType="#//VarDeclaration" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="OutputVars"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Language">
<eLiterals name="C"/>
<eLiterals name="Other" value="1"/>
<eLiterals name="Java" value="2"/>
<eLiterals name="Cpp" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Link" eSuperTypes="#//ConfigurableObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="segment" eType="#//Segment"
eOpposite="#//Segment/outConnections"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="device" eType="#//Device"
eOpposite="#//Device/inConnections"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Mapping">
<eOperations name="getAutomationSystem" lowerBound="1" eType="#//AutomationSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAutomationSystem(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="#//FBNetworkElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="to" eType="#//FBNetworkElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OtherAlgorithm" eSuperTypes="#//TextAlgorithm">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Language"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OutputPrimitive" eSuperTypes="#//Primitive">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="TestResult" unique="false"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int" volatile="true"
defaultValueLiteral="0" unsettable="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//INamedElement #//TypedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="attributeDeclaration" eType="#//AttributeDeclaration"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Value"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Resource" eSuperTypes="#//TypedConfigureableObject #//IVarElement">
<eOperations name="getAutomationSystem" lowerBound="1" eType="#//AutomationSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAutomationSystem(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getType" lowerBound="1" eType="#//ResourceType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="//this cannot be moved to the annotation class because there we don't have the super access!!!&#xD;&#xA;org.eclipse.fordiac.ide.model.libraryElement.LibraryElement type = super.getType();&#xD;&#xA;if(type instanceof ResourceType){&#xD;&#xA;&#x9;return (ResourceType) type; &#xD;&#xA;}&#xD;&#xA;return null;"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="fBNetwork" eType="#//FBNetwork"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="FBNetwork"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="x"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="y"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="device" eType="#//Device"
eOpposite="#//Device/resource"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="deviceTypeResource" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResourceTypeName">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Name"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResourceType" eSuperTypes="#//CompilableType">
<eStructuralFeatures xsi:type="ecore:EReference" name="varDeclaration" upperBound="-1"
eType="#//VarDeclaration" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="fBNetwork" lowerBound="1"
eType="#//FBNetwork" containment="true" resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="supportedFBTypes" eType="#//FBType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Segment" eSuperTypes="#//TypedConfigureableObject #//PositionableElement #//ColorizableElement">
<eOperations name="getType" lowerBound="1" eType="#//SegmentType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="//this cannot be moved to the annotation class because there we don't have the super access!!!&#xD;&#xA;org.eclipse.fordiac.ide.model.libraryElement.LibraryElement type = super.getType();&#xD;&#xA;if(type instanceof SegmentType){&#xD;&#xA;&#x9;return (SegmentType) type; &#xD;&#xA;}&#xD;&#xA;return null;"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="width" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
defaultValueLiteral="200">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="dx1"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="varDeclarations" upperBound="-1"
eType="#//VarDeclaration" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outConnections" upperBound="-1"
eType="#//Link" eOpposite="#//Link/segment"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ServiceSequence" eSuperTypes="#//INamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceTransaction" upperBound="-1"
eType="#//ServiceTransaction" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="ServiceTransaction"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="TestResult" ordered="false"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int" volatile="true"
defaultValueLiteral="0" unsettable="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ServiceTransaction">
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPrimitive" eType="#//InputPrimitive"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="InputPrimitive"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPrimitive" upperBound="-1"
eType="#//OutputPrimitive" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="OutputPrimitive"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="TestResult" ordered="false"
unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
volatile="true" defaultValueLiteral="0" unsettable="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ServiceInterfaceFBType" eSuperTypes="#//FBType"/>
<eClassifiers xsi:type="ecore:EClass" name="STAlgorithm" eSuperTypes="#//TextAlgorithm"/>
<eClassifiers xsi:type="ecore:EClass" name="FBNetwork">
<eOperations name="addConnection">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="org.eclipse.fordiac.ide.model.Annotations.addConnection(this, connection);"/>
</eAnnotations>
<eParameters name="connection" lowerBound="1" eType="#//Connection"/>
</eOperations>
<eOperations name="removeConnection">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="org.eclipse.fordiac.ide.model.Annotations.removeConnection(this, connection);"/>
</eAnnotations>
<eParameters name="connection" lowerBound="1" eType="#//Connection"/>
</eOperations>
<eOperations name="isApplicationNetwork" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isApplicationNetwork(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="isSubApplicationNetwork" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isSubApplicationNetwork(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="isResourceNetwork" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isResourceNetwork(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="isCFBTypeNetwork" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isCFBTypeNetwork(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getAutomationSystem" eType="#//AutomationSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAutomationSystem(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getApplication" eType="#//Application">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getApplication(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getFBNamed" eType="#//FB">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getFBNamed(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eOperations>
<eOperations name="getSubAppNamed" eType="#//SubApp">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getSubAppNamed(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eOperations>
<eOperations name="getElementNamed" eType="#//FBNetworkElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getElementNamed(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="networkElements" upperBound="-1"
eType="#//FBNetworkElement" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="FB"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="dataConnections" upperBound="-1"
eType="#//DataConnection" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="DataConnections"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="eventConnections" upperBound="-1"
eType="#//EventConnection" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="adapterConnections" upperBound="-1"
eType="#//AdapterConnection" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="AdapterConnections"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SubAppType" eSuperTypes="#//CompositeFBType"/>
<eClassifiers xsi:type="ecore:EClass" name="AutomationSystem" eSuperTypes="#//LibraryElement">
<eOperations name="getDeviceNamed" lowerBound="1" eType="#//Device">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getDeviceNamed(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getApplicationNamed" lowerBound="1" eType="#//Application">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getApplicationNamed(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="application" upperBound="-1"
eType="#//Application" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Application"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="mapping" upperBound="-1"
eType="#//Mapping" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Mapping"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="palette" lowerBound="1"
eType="ecore:EClass palette.ecore#//Palette"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="systemConfiguration" lowerBound="1"
eType="#//SystemConfiguration" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="systemFile" eType="#//IFile"
transient="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="commandStack" eType="#//CommandStack"
transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VarDeclaration" eSuperTypes="#//IInterfaceElement">
<eOperations name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isArray(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="arraySize" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="arraySize"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="withs" upperBound="-1"
eType="#//With" eOpposite="#//With/variables"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Value"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VersionInfo">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="author" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Author"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="date" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="YYYY-MM-DD">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Date"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="organization" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Organization"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="remarks" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Remarks"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral="">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Version"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="With">
<eStructuralFeatures xsi:type="ecore:EReference" name="variables" lowerBound="1"
eType="#//VarDeclaration" eOpposite="#//VarDeclaration/withs"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LibraryElement" eSuperTypes="#//INamedElement">
<eOperations name="getTypeLibrary" lowerBound="1" eType="ecore:EDataType palette.ecore#//TypeLibrary">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if (null != getPaletteEntry()) {&#xA;&#x9;return getPaletteEntry().getTypeLibrary();&#xA;}&#xA;return null;"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="versionInfo" lowerBound="1"
upperBound="-1" eType="#//VersionInfo" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="identification" eType="#//Identification"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="paletteEntry" eType="ecore:EClass palette.ecore#//PaletteEntry"
transient="true" resolveProxies="false" eOpposite="palette.ecore#//PaletteEntry/type"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompilableType" eSuperTypes="#//LibraryElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="compilerInfo" eType="#//CompilerInfo"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConfigurableObject" eSuperTypes="#//INamedElement">
<eOperations name="setAttribute">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value=" searches for an existing Parameter with the specified parameterName. it is&#xD;&#xA; NOT case sensitive! If there is no Parameter available a new one will be created. "/>
<details key="body" value="org.eclipse.fordiac.ide.model.Annotations.setAttribute(this, attributeName, type, value, comment);"/>
</eAnnotations>
<eParameters name="attributeName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
<eParameters name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
<eParameters name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
<eParameters name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eOperations>
<eOperations name="getAttribute" eType="#//Attribute">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAttribute(this, attributeName);"/>
</eAnnotations>
<eParameters name="attributeName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eOperations>
<eOperations name="getAttributeValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAttributeValue(this, attributeName);"/>
</eAnnotations>
<eParameters name="attributeName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eOperations>
<eOperations name="deleteAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.deleteAttribute(this, attributeName);"/>
</eAnnotations>
<eParameters name="attributeName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
eType="#//Attribute" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompositeFBType" eSuperTypes="#//FBType">
<eStructuralFeatures xsi:type="ecore:EReference" name="fBNetwork" eType="#//FBNetwork"
containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="FBNetwork"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TextAlgorithm" abstract="true" eSuperTypes="#//Algorithm">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataConnection" eSuperTypes="#//Connection">
<eOperations name="getDataSource" lowerBound="1" eType="#//VarDeclaration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getDataSource(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getDataDestination" lowerBound="1" eType="#//VarDeclaration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getDataDestination(this);"/>
</eAnnotations>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EventConnection" eSuperTypes="#//Connection">
<eOperations name="getEventSource" lowerBound="1" eType="#//Event">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getEventSource(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getEventDestination" lowerBound="1" eType="#//Event">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getEventDestination(this);"/>
</eAnnotations>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AdapterConnection" eSuperTypes="#//Connection">
<eOperations name="getAdapterSource" lowerBound="1" eType="#//AdapterDeclaration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAdapterSource(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getAdapterDestination" lowerBound="1" eType="#//AdapterDeclaration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAdapterDestination(this);"/>
</eAnnotations>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ServiceInterface" eSuperTypes="#//INamedElement"/>
<eClassifiers xsi:type="ecore:EClass" name="IInterfaceElement" abstract="true" interface="true"
eSuperTypes="#//INamedElement">
<eOperations name="getFBNetworkElement" lowerBound="1" eType="#//FBNetworkElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getFBNetworkElement(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isInput" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputConnections" upperBound="-1"
eType="#//Connection" eOpposite="#//Connection/destination"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputConnections" upperBound="-1"
eType="#//Connection" eOpposite="#//Connection/source"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="ecore:EClass data.ecore#//DataType"
transient="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Value">
<eOperations name="getVarDeclaration" lowerBound="1" eType="#//VarDeclaration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getVarDeclaration(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral=""/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SystemConfiguration">
<eOperations name="getAutomationSystem" lowerBound="1" eType="#//AutomationSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getAutomationSystem(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getSegmentNamed" lowerBound="1" eType="#//Segment">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getSegmentNamed(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getDeviceNamed" lowerBound="1" eType="#//Device">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getDeviceNamed(this, name);"/>
</eAnnotations>
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="devices" lowerBound="1"
upperBound="-1" eType="#//Device" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Device"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="segments" upperBound="-1"
eType="#//Segment" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Segment"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="links" upperBound="-1"
eType="#//Link" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Link"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="INamedElement" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral=""/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
defaultValueLiteral=""/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResourceTypeFB" eSuperTypes="#//FB">
<eOperations name="isResourceTypeFB" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isResourceTypeFB();"/>
</eAnnotations>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SegmentType" eSuperTypes="#//CompilableType">
<eStructuralFeatures xsi:type="ecore:EReference" name="varDeclaration" upperBound="-1"
eType="#//VarDeclaration" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AdapterFBType" eSuperTypes="#//FBType">
<eStructuralFeatures xsi:type="ecore:EReference" name="adapterType" eType="#//AdapterType"
transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AdapterEvent" eSuperTypes="#//Event">
<eStructuralFeatures xsi:type="ecore:EReference" name="adapterDeclaration" lowerBound="1"
eType="#//AdapterDeclaration"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Service">
<eStructuralFeatures xsi:type="ecore:EReference" name="rightInterface" eType="#//ServiceInterface"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="leftInterface" eType="#//ServiceInterface"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="serviceSequence" upperBound="-1"
eType="#//ServiceSequence" containment="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="OutputPrimitive"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedConfigureableObject" eSuperTypes="#//ConfigurableObject">
<eOperations name="getTypeName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getTypeName(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getType" lowerBound="1" eType="#//LibraryElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getType(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getTypeLibrary" lowerBound="1" eType="ecore:EDataType palette.ecore#//TypeLibrary">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getTypeLibrary(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="paletteEntry" lowerBound="1"
eType="ecore:EClass palette.ecore#//PaletteEntry" transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AdapterFB" eSuperTypes="#//FB">
<eOperations name="isSocket" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isSocket(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="getType" lowerBound="1" eType="#//FBType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.getType(this);"/>
</eAnnotations>
</eOperations>
<eOperations name="isPlug" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return org.eclipse.fordiac.ide.model.Annotations.isPlug(this);"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="adapterDecl" lowerBound="1"
eType="#//AdapterDeclaration" eOpposite="#//AdapterDeclaration/adapterFB"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="IProject" instanceClassName="org.eclipse.core.resources.IProject"/>
<eClassifiers xsi:type="ecore:EClass" name="Primitive">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="event" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Event"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="attribute"/>
<details key="name" value="Parameters"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="interface" lowerBound="1"
eType="#//ServiceInterface"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PositionableElement">
<eOperations name="updatePosition" lowerBound="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="final Position pos = org.eclipse.fordiac.ide.model.libraryElement.LibraryElementFactory.eINSTANCE.createPosition();&#xA;pos.setX(x);&#xA;pos.setY(y);&#xA;&#xA;setPosition(pos);"/>
</eAnnotations>
<eParameters name="x" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
<eParameters name="y" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
</eOperations>
<eOperations name="updatePosition" lowerBound="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="updatePosition(newPos.x, newPos.y);"/>
</eAnnotations>
<eParameters name="newPos" lowerBound="1" eType="#//Point"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="position" lowerBound="1"
eType="#//Position"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Position">
<eOperations name="asPoint" lowerBound="1" eType="#//Point">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return new org.eclipse.draw2d.geometry.Point(getX(), getY());"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
defaultValueLiteral="0"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
defaultValueLiteral="0"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Color">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="red" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
defaultValueLiteral="1"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="green" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
defaultValueLiteral="34"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="blue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
defaultValueLiteral="105"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ColorizableElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="color" lowerBound="1" eType="#//Color"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IVarElement" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="varDeclarations" upperBound="-1"
eType="#//VarDeclaration" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AttributeDeclaration" eSuperTypes="#//INamedElement #//TypedElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="initialValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EEnum data.ecore#//BaseType1"
defaultValueLiteral="STRING"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SimpleFBType" eSuperTypes="#//BaseFBType">
<eStructuralFeatures xsi:type="ecore:EReference" name="algorithm" lowerBound="1"
eType="#//Algorithm" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="Algorithm"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BaseFBType" eSuperTypes="#//FBType">
<eStructuralFeatures xsi:type="ecore:EReference" name="internalVars" upperBound="-1"
eType="#//VarDeclaration" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="VarDeclaration"/>
<details key="namespace" value="##targetNamespace"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="IFile" instanceClassName="org.eclipse.core.resources.IFile"/>
<eClassifiers xsi:type="ecore:EClass" name="StructManipulator" abstract="true" eSuperTypes="#//FB">
<eOperations name="setStructTypeElementsAtInterface">
<eAnnotations/>
<eParameters name="newStruct" eType="ecore:EClass data.ecore#//StructuredType"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="structType" lowerBound="1"
eType="ecore:EClass data.ecore#//StructuredType" transient="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Demultiplexer" eSuperTypes="#//StructManipulator"/>
<eClassifiers xsi:type="ecore:EClass" name="Multiplexer" eSuperTypes="#//StructManipulator"/>
<eClassifiers xsi:type="ecore:EClass" name="LocalVariable" eSuperTypes="#//VarDeclaration">
<eOperations name="getArraySize" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return arrayStop-arrayStart+1;"/>
<details key="documentation" value="overwrite"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="arrayStart" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="arrayStop" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="CommandStack" instanceClassName="org.eclipse.gef.commands.CommandStack"/>
<eClassifiers xsi:type="ecore:EDataType" name="Point" instanceClassName="org.eclipse.draw2d.geometry.Point"/>
</ecore:EPackage>