| <?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="aas" nsURI="http://www.eclipse.org/papyrus/AAS" nsPrefix="AAS"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="AAS"/> |
| </eAnnotations> |
| <eClassifiers xsi:type="ecore:EEnum" name="IdentifierType"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="IRDI: International Registration Data Identifier
IRI: Internationalized Resource Identifier"/> |
| </eAnnotations> |
| <eLiterals name="Custom"/> |
| <eLiterals name="IRDI" value="1"/> |
| <eLiterals name="IRI" value="2"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AssetAdministrationShell" eSuperTypes="#//Identifiable #//HasDataSpecification"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A project in Basyx
Basyx:

identifierType: IRDI (urn:...), URI, custom 
identifier (for submodel or operation) ->generated automatically
resource name
idshort: string -> generated automatically
category:string
description:string
parent: not used
administration: not used



Security is not implemented, but is an ongoing project
0 < port <= 65535
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="derivedFrom" ordered="false" |
| eType="#//AssetAdministrationShell"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="security" ordered="false" |
| eType="#//Security"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="assetInformation" ordered="false" |
| lowerBound="1" eType="#//AssetInformation" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="asset" ordered="false" |
| lowerBound="1" eType="#//Asset"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="submodel" ordered="false" |
| upperBound="-1" eType="#//Submodel" changeable="false" volatile="true" transient="true" |
| derived="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="get" value="// should return all nestedClassifier of a AAS of type Submodel
		EList<Submodel> submodels = new BasicEList<>();
		if (getBase_Class() != null) {
			org.eclipse.uml2.uml.Class base_class = getBase_Class();
			EList<Classifier> allNestedClassifier = base_class.getNestedClassifiers();
			Iterator<Classifier> it = allNestedClassifier.iterator();
			while (it.hasNext()) {
				Classifier classifier = it.next();
				if (org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(classifier, Submodel.class) != null) {

					Submodel submodel = org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(classifier, Submodel.class);
					submodels.add(submodel);
				}
			}
		}
		return new UnmodifiableEList<>(this, AASPackage.eINSTANCE.getSubmodel_Submodelelement(), submodels.size(), submodels.toArray());"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="endpoint" ordered="false" |
| eType="#//AASEndpoint" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Identifiable" abstract="true" eSuperTypes="#//Referable"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="administration" ordered="false" |
| eType="#//AdministrativeInformation" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="identification" ordered="false" |
| lowerBound="1" eType="#//Identifier" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Referable" abstract="true"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="idShort" ordered="false" |
| lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String" |
| changeable="false" volatile="true" transient="true" derived="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="get" value="// get the name of the Referable Element
		String name = null;
		if (getBase_Class() != null) {
			name = getBase_Class().getName();
		} else if (this instanceof DataElement) {
			DataElement dataElement = (DataElement) this;
			name = dataElement.getBase_Property().getName();
		} else if (this instanceof Capability) {
			Capability capability = (Capability) this;
			name = capability.getBase_Property().getName();
		} else if (this instanceof Event) {
			Event event = (Event) this;
			name = event.getBase_Property().getName();
		} else if (this instanceof Operation) {
			Operation operation = (Operation) this;
			name = operation.getBase_Operation().getName();
		}
		// remove space
		if (name != null) {
			String idShort = name.replace(" ", "");
			return idShort;
		}
		return null;"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" ordered="false" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="description" ordered="false" |
| upperBound="-1" eType="#//LangString" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="LangString"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" lowerBound="1" eType="#//LangEnum"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="LangEnum"> |
| <eLiterals name="en"/> |
| <eLiterals name="ar" value="1"/> |
| <eLiterals name="cs" value="2"/> |
| <eLiterals name="da" value="3"/> |
| <eLiterals name="de" value="4"/> |
| <eLiterals name="es" value="5"/> |
| <eLiterals name="fr" value="6"/> |
| <eLiterals name="hi" value="7"/> |
| <eLiterals name="id" value="8"/> |
| <eLiterals name="it" value="9"/> |
| <eLiterals name="ja" value="10"/> |
| <eLiterals name="ko" value="11"/> |
| <eLiterals name="ml" value="12"/> |
| <eLiterals name="nl" value="13"/> |
| <eLiterals name="no" value="14"/> |
| <eLiterals name="pl" value="15"/> |
| <eLiterals name="pt" value="16"/> |
| <eLiterals name="ro" value="17"/> |
| <eLiterals name="ru" value="18"/> |
| <eLiterals name="sr" value="19"/> |
| <eLiterals name="sv" value="20"/> |
| <eLiterals name="th" value="21"/> |
| <eLiterals name="tr" value="22"/> |
| <eLiterals name="zh" value="23"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AdministrativeInformation"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" ordered="false" |
| lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" ordered="false" |
| lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Identifier"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="idType" ordered="false" |
| lowerBound="1" eType="#//IdentifierType"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="HasDataSpecification" abstract="true"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="dataSpecification" ordered="false" |
| upperBound="-1" eType="#//Reference"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Reference"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="key" ordered="false" lowerBound="1" |
| upperBound="-1" eType="#//Key"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Key"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" lowerBound="1" |
| eType="#//KeyElements"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false" |
| lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="idType" ordered="false" |
| lowerBound="1" eType="#//KeyType"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="KeyElements"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="baseType" value="ReferableElements"/> |
| </eAnnotations> |
| <eLiterals name="GlobalReference"/> |
| <eLiterals name="FragmentReference" value="1"/> |
| <eLiterals name="AccessPermissionRule" value="2"/> |
| <eLiterals name="AnnotatedRelationshipElement" value="3"/> |
| <eLiterals name="BasicEvent" value="4"/> |
| <eLiterals name="Blob" value="5"/> |
| <eLiterals name="Capability" value="6"/> |
| <eLiterals name="ConceptDictionary" value="7"/> |
| <eLiterals name="DataElement" value="8"/> |
| <eLiterals name="File" value="9"/> |
| <eLiterals name="Entity" value="10"/> |
| <eLiterals name="Event" value="11"/> |
| <eLiterals name="MultiLanguageProperty" value="12"/> |
| <eLiterals name="Operation" value="13"/> |
| <eLiterals name="Property" value="14"/> |
| <eLiterals name="Range" value="15"/> |
| <eLiterals name="ReferenceElement" value="16"/> |
| <eLiterals name="RelationshipElement" value="17"/> |
| <eLiterals name="SubmodelElement" value="18"/> |
| <eLiterals name="SubmodelElementCollection" value="19"/> |
| <eLiterals name="View" value="20"/> |
| <eLiterals name="ConceptDescription" value="21"/> |
| <eLiterals name="Asset" value="22"/> |
| <eLiterals name="AssetAdministrationShell" value="23"/> |
| <eLiterals name="Submodel" value="24"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="ReferableElements"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="baseType" value="IdentifiableElement"/> |
| </eAnnotations> |
| <eLiterals name="AccessPermissionRule"/> |
| <eLiterals name="AnnotatedRelationshipElement" value="1"/> |
| <eLiterals name="BasicEvent" value="2"/> |
| <eLiterals name="Blob" value="3"/> |
| <eLiterals name="Capability" value="4"/> |
| <eLiterals name="ConceptDictionary" value="5"/> |
| <eLiterals name="DataElement" value="6"/> |
| <eLiterals name="File" value="7"/> |
| <eLiterals name="Entity" value="8"/> |
| <eLiterals name="Event" value="9"/> |
| <eLiterals name="MultiLanguageProperty" value="10"/> |
| <eLiterals name="Operation" value="11"/> |
| <eLiterals name="Property" value="12"/> |
| <eLiterals name="Range" value="13"/> |
| <eLiterals name="ReferenceElement" value="14"/> |
| <eLiterals name="RelationshipElement" value="15"/> |
| <eLiterals name="SubmodelElement" value="16"/> |
| <eLiterals name="SubmodelElementCollection" value="17"/> |
| <eLiterals name="View" value="18"/> |
| <eLiterals name="ConceptDescription" value="19"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="IdentifiableElement"> |
| <eLiterals name="Asset"/> |
| <eLiterals name="AssetAdministrationShell" value="1"/> |
| <eLiterals name="ConceptDescription" value="2"/> |
| <eLiterals name="Submodel" value="3"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="KeyType"> |
| <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> |
| <details key="baseType" value="IdentifierType"/> |
| </eAnnotations> |
| <eLiterals name="Custom"/> |
| <eLiterals name="IRDI" value="1"/> |
| <eLiterals name="IRI" value="2"/> |
| <eLiterals name="IdShort" value="3"/> |
| <eLiterals name="FragmentId" value="4"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="LocalKeyType"> |
| <eLiterals name="IdShort"/> |
| <eLiterals name="FragmentId" value="1"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Security"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="accessControlPolicyPoints" |
| ordered="false" lowerBound="1" eType="#//AccessControlPolicyPoints" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="certificate" ordered="false" |
| upperBound="-1" eType="#//Certificate" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="requiredCertificateExtension" |
| ordered="false" upperBound="-1" eType="#//Reference"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AccessControlPolicyPoints"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="localAccessControl" ordered="false" |
| lowerBound="1" eType="#//AccessControl" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="externalAccessControl" |
| ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="externalInformationPoints" |
| ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="internalInformationPoint" |
| ordered="false" lowerBound="1" eType="#//Submodel"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="externalPolicyDecisionPoints" |
| ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="externalPolicyEnforcementPoint" |
| ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AccessControl"/> |
| <eClassifiers xsi:type="ecore:EClass" name="Submodel" eSuperTypes="#//Identifiable #//HasKind #//HasSemantics #//HasDataSpecification"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A model in Basyx
Basyx:

identifierType: IRDI (urn:...), URI, custom 
identifier (for submodel or operation) ->generated automatically
resource name
idshort: string -> generated automatically
category:string
description:string
parent: not used
administration: not used


"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="submodelelement" ordered="false" |
| upperBound="-1" eType="#//SubmodelElement" changeable="false" volatile="true" |
| transient="true" derived="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="get" value="// get all SubmodelElementCollection and add them to the list of submodelElements
				EList<SubmodelElement> submodelElements = new org.eclipse.emf.common.util.BasicEList<>();
				if (getBase_Class() != null) {
					org.eclipse.uml2.uml.Class base_class = getBase_Class();
		
					// get all SECs and add them to the list of submodelElements
					EList<Classifier> allNestedClassifier = base_class.getNestedClassifiers();
					java.util.Iterator<org.eclipse.uml2.uml.Classifier> it = allNestedClassifier.iterator();
					while (it.hasNext()) {
						Classifier classifier = it.next();
						if (org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(classifier, org.eclipse.papyrus.aas.SubmodelElementCollection.class) != null) {
		
							SubmodelElementCollection sec = org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(classifier, org.eclipse.papyrus.aas.SubmodelElementCollection.class);
							submodelElements.add(sec);
						}
					}
		
					// get all submodelElements (stereotyped attributes) and add them to the list of submodelElements
					EList<org.eclipse.uml2.uml.Property> allAttributes = base_class.getAllAttributes();
					java.util.Iterator<Property> p_it = allAttributes.iterator();
					while (p_it.hasNext()) {
						Property property = p_it.next();
						if (org.eclipse.papyrus.uml.tools.utils.UMLUtil.getAppliedStereotype(property, "AAS::SubmodelElement", false) != null) {
							SubmodelElement child = org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(property, org.eclipse.papyrus.aas.SubmodelElement.class);
							submodelElements.add(child);
		
						}
					}
		
					// get all Operations and add them to the list of submodelElements
					EList<org.eclipse.uml2.uml.Operation> allOperations = base_class.getAllOperations();
					java.util.Iterator<org.eclipse.uml2.uml.Operation> o_it = allOperations.iterator();
					while (o_it.hasNext()) {
						org.eclipse.uml2.uml.Operation operation = o_it.next();
						if (org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(operation, org.eclipse.papyrus.aas.Operation.class) != null) {
		
							org.eclipse.papyrus.aas.Operation op = org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(operation, org.eclipse.papyrus.aas.Operation.class);
							submodelElements.add(op);
						}
					}
		
		
				}
				return new org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList<>(this, AASPackage.eINSTANCE.getSubmodel_Submodelelement(), submodelElements.size(), submodelElements.toArray());"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="HasKind" abstract="true"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" eType="#//ModelingKind"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_HasKind_Class" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="base_Class"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="ModelingKind"> |
| <eLiterals name="Template"/> |
| <eLiterals name="Instance" value="1"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="HasSemantics" abstract="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="semanticid is present in Basyx but not used
semanticid should be typed by an URI or a refereable"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="semanticId" ordered="false" |
| lowerBound="1" eType="#//Reference"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_HasSemantics_Class" |
| ordered="false" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="base_Class"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="SubmodelElement" abstract="true" eSuperTypes="#//Referable #//HasKind #//HasSemantics #//HasDataSpecification"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDynamic" ordered="false" |
| lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="endPoint" ordered="false" |
| eType="#//Endpoint" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="nodeId" ordered="false" |
| eType="#//NodeId" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Endpoint"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" ordered="false" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="protocol" ordered="false" |
| eType="#//ProtocolKind"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="ProtocolKind"> |
| <eLiterals name="HTTP"/> |
| <eLiterals name="MQTT" value="1"/> |
| <eLiterals name="OPCUA" value="2"/> |
| <eLiterals name="CoAP" value="3"/> |
| <eLiterals name="ROS" value="4"/> |
| <eLiterals name="OTHER" value="5"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="NodeId"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="nameSpaceIndex" ordered="false" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="identifier" ordered="false" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="idType" ordered="false" |
| eType="#//IdType"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="IdType"> |
| <eLiterals name="String"/> |
| <eLiterals name="Integer" value="1"/> |
| <eLiterals name="Long" value="2"/> |
| <eLiterals name="ByteArray" value="3"/> |
| <eLiterals name="UUID" value="4"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Certificate"/> |
| <eClassifiers xsi:type="ecore:EClass" name="AssetInformation"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="AssetInformation/globalAssetId either is a reference 
to an Asset object or a global reference."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="assetKind" ordered="false" |
| lowerBound="1" eType="#//AssetKind"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="globalAssetId" ordered="false" |
| eType="#//Reference"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="specificAssetId" ordered="false" |
| upperBound="-1" eType="#//IdentifierKeyValuePair"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="billOfMaterial" ordered="false" |
| upperBound="-1" eType="#//Submodel"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="defaultThumbnail" ordered="false" |
| eType="#//File"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="AssetKind"> |
| <eLiterals name="Type"/> |
| <eLiterals name="Instance" value="1"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="IdentifierKeyValuePair" eSuperTypes="#//HasSemantics"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" ordered="false" lowerBound="1" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false" |
| lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="externalSubjectId" ordered="false" |
| eType="#//Reference"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="File" eSuperTypes="#//DataElement"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A File is a data element that represents an address to a file. The value is an URI that can represent an absolute or relative path."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="mimeType" ordered="false" |
| lowerBound="1" eType="#//MimeType"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="DataElement" abstract="true" eSuperTypes="#//SubmodelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false" |
| lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="MimeType"> |
| <eLiterals name="applicationjson"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="application-json"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="applicationxls" value="1"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="application-xls"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="applicationpdf" value="2"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="application-pdf"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="applicationzip" value="3"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="application-zip"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="applicationxml" value="4"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="application-xml"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="applicationiges" value="5"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="application-iges"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="applicationstep" value="6"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="application-step"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="imagepng" value="7"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="image-png"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="imagebmp" value="8"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="image-bmp"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="imagejpeg" value="9"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="image-jpeg"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="imagegif" value="10"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="image-gif"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="textxml" value="11"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="text-xml"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="textplain" value="12"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="text-plain"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="texthtml" value="13"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="text-html"/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="other" value="14"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Asset" eSuperTypes="#//Identifiable #//HasDataSpecification"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="There is no asset in Basyx"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1" |
| eType="#//AssetKind"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="endpoint" ordered="false" |
| upperBound="-1" eType="#//Endpoint" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AASEndpoint"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" ordered="false" |
| lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="port" ordered="false" lowerBound="1" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="security" ordered="false" |
| lowerBound="1" eType="#//SecurityKind"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="SecurityKind"> |
| <eLiterals name="none"/> |
| <eLiterals name="HTTPS" value="1"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="EntityType"> |
| <eLiterals name="CoManagedEntity"/> |
| <eLiterals name="SelfManagedEntity" value="1"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Entity" eSuperTypes="#//SubmodelElement"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="entityType" ordered="false" |
| lowerBound="1" eType="#//EntityType"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="asset" ordered="false" |
| lowerBound="1" eType="#//Asset"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="RelationshipElement" eSuperTypes="#//SubmodelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//SubmodelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false" |
| lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Operation"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="SubmodelElementCollection" eSuperTypes="#//SubmodelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1" |
| eType="#//SubmodelElement" changeable="false" volatile="true" transient="true" |
| derived="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="get" value="	// get all SubmodelElementCollection and add them to the list of submodelElements
		EList<SubmodelElement> submodelElements = new org.eclipse.emf.common.util.BasicEList<>();
		if (getBase_Class() != null) {
			org.eclipse.uml2.uml.Class base_class = getBase_Class();

			// get all SECs and add them to the list of submodelElements
			EList<Classifier> allNestedClassifier = base_class.getNestedClassifiers();
			java.util.Iterator<org.eclipse.uml2.uml.Classifier> it = allNestedClassifier.iterator();
			while (it.hasNext()) {
				Classifier classifier = it.next();
				if (org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(classifier, org.eclipse.papyrus.aas.SubmodelElementCollection.class) != null) {

					SubmodelElementCollection sec = org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(classifier, org.eclipse.papyrus.aas.SubmodelElementCollection.class);
					submodelElements.add(sec);
				}
			}

			// get all submodelElements (stereotyped attributes) and add them to the list of submodelElements
			EList<org.eclipse.uml2.uml.Property> allAttributes = base_class.getAllAttributes();
			java.util.Iterator<Property> p_it = allAttributes.iterator();
			while (p_it.hasNext()) {
				Property property = p_it.next();
				if (org.eclipse.papyrus.uml.tools.utils.UMLUtil.getAppliedStereotype(property, "AAS::SubmodelElement", false) != null) {
					SubmodelElement child = org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(property, org.eclipse.papyrus.aas.SubmodelElement.class);
					submodelElements.add(child);

				}
			}

			// get all Operations and add them to the list of submodelElements
			EList<org.eclipse.uml2.uml.Operation> allOperations = base_class.getAllOperations();
			java.util.Iterator<org.eclipse.uml2.uml.Operation> o_it = allOperations.iterator();
			while (o_it.hasNext()) {
				org.eclipse.uml2.uml.Operation operation = o_it.next();
				if (org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(operation, org.eclipse.papyrus.aas.Operation.class) != null) {

					org.eclipse.papyrus.aas.Operation op = org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(operation, org.eclipse.papyrus.aas.Operation.class);
					submodelElements.add(op);
				}
			}


		}
		return new org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList<>(this, AASPackage.eINSTANCE.getSubmodel_Submodelelement(), submodelElements.size(), submodelElements.toArray());"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//DataType"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordered" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowDuplicates" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//DataElement"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ReferenceElement" eSuperTypes="#//DataElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false" |
| eType="#//Reference"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//SubmodelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="BasicEvent" eSuperTypes="#//Event"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="observed" ordered="false" |
| lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Range" eSuperTypes="#//DataElement"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="min" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="max" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Capability" eSuperTypes="#//SubmodelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ConceptDescription" eSuperTypes="#//Identifiable #//HasDataSpecification"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="isCaseOf" ordered="false" |
| upperBound="-1" eType="#//Reference"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="LangStringSet"/> |
| <eClassifiers xsi:type="ecore:EClass" name="DataSpecificationContent" abstract="true"/> |
| <eClassifiers xsi:type="ecore:EClass" name="DataSpecificationIEC61360"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="preferredName" ordered="false" |
| lowerBound="1" upperBound="-1" eType="#//LangString" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="shortName" ordered="false" |
| upperBound="-1" eType="#//LangString" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="unitId" ordered="false" |
| eType="#//Reference"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="sourceOfDefinition" ordered="false" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="symbol" ordered="false" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" ordered="false" |
| eType="#//DataSpecificationIEC61360"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="definition" ordered="false" |
| upperBound="-1" eType="#//LangString" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueFormat" ordered="false" |
| eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="valueList" ordered="false" |
| upperBound="-1" eType="#//ValueReferencePairType" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false" |
| eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="valueId" ordered="false" |
| eType="#//Reference"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="levelType" ordered="false" |
| upperBound="-1" eType="#//LevelType"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ValueReferencePairType"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false" |
| lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="valueId" ordered="false" |
| lowerBound="1" eType="#//Reference"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="LevelType"> |
| <eLiterals name="Min"/> |
| <eLiterals name="Max" value="1"/> |
| <eLiterals name="Nom" value="2"/> |
| <eLiterals name="Typ" value="3"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="DataTypeIEC61360"> |
| <eLiterals name="_"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value=""/> |
| </eAnnotations> |
| </eLiterals> |
| <eLiterals name="DATE" value="1"/> |
| <eLiterals name="STRING" value="2"/> |
| <eLiterals name="STRING_TRANSLATABLE" value="3"/> |
| <eLiterals name="INTEGER_MEASURE" value="4"/> |
| <eLiterals name="INTEGER_COUNT" value="5"/> |
| <eLiterals name="INTEGER_CURRENCY" value="6"/> |
| <eLiterals name="REAL_MEASURE" value="7"/> |
| <eLiterals name="REAL_COUNT" value="8"/> |
| <eLiterals name="REAL_CURRENCY" value="9"/> |
| <eLiterals name="BOOLEAN" value="10"/> |
| <eLiterals name="URL" value="11"/> |
| <eLiterals name="RATIONAL" value="12"/> |
| <eLiterals name="RATIONAL_MEASURE" value="13"/> |
| <eLiterals name="TIME" value="14"/> |
| <eLiterals name="TIMESTAMP" value="15"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="View" eSuperTypes="#//Referable #//HasSemantics #//HasDataSpecification"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="containedElement" ordered="false" |
| upperBound="-1" eType="#//Referable"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="MultiLanguageProperty" eSuperTypes="#//DataElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1" |
| eType="#//LangString" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="valueId" eType="#//Reference"/> |
| </eClassifiers> |
| </ecore:EPackage> |