6.8 SubmodelElementType specialization

To meet the range of aspects of the assets which have to be described in the AAS a set of submodel element types are defined. Each submodel element type represents one of these aspects. Figure 14 provides a general overview.

Figure 14 – SubmodelElement Subtypes

6.8.1 AASSubmodelElementType common attributes

Figure 15 shows an overview about the AASSubmodelElement ObjectType.

Figure 15 – AASSubmodelElementType graphical overview

A data element is a submodel element that is not further composed of other submodel elements (Table 27). A data element is a submodel element that has a value. The type of value may differ for different data elements.

Table 27 – AASSubmodelElementType Definition
Attribute Value
BrowseNameAASSubmodelElementType
IsAbstractTrue
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node.
0:HasInterfaceObjectTypeIAASReferableType--
0:HasPropertyVariableModelingKindAASModelingKindDataType0:PropertyTypeM
0:HasComponentObject<Qualifier>AASQualifierTypeOP
0:HasComponentObject<DataSpecification>AASReferenceTypeOP
0:HasDictionaryEntryObject<IRDI_or_IRI_or_Custom_concept_description_entry>AASIriConceptDescriptionType
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/SubmodelElementAASIriConceptDescriptionType
Applied from IAASReferableType
0:HasPropertyVariableCategory0:String0:PropertyTypeM

The default value of the variable “ModelingKind” is “Instance”.

For each AASSubmodelElementType instance the semanticId is mapped to the OPC UA HasDictionaryEntry. This is at instance level because the DictionaryEntry refers to the concept dictionary element, which describes the individual instance and not the submodel element type.

The components of the AASSubmodelElementType have additional references which are defined in Table 28.

Table 28 – AASSubmodelElementType Additional References
Source Path Reference Type Is Forward Target Path
<DataSpecification>0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/hasDataSpecification/dataSpecification
ModelingKind0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/SubmodelElement/kind
<Qualifier>0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/SubmodelElement/qualifiers

6.8.2 AASSubmodelElementCollectionType

Figure 16 shows an overview about the AASSubmodelElementCollection ObjectType.

Figure 16 – AASSubmodelElementCollectionType graphical overview

A submodel element collection is a set or list of submodel elements. The AASSubmodelElementCollectionType is defined in Table 29

Table 29 – AASSubmodelElementCollectionType Definition
Attribute Value
BrowseNameAASSubmodelElementCollectionType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasComponentObject<SubmodelElement>AASSubmodelElementTypeOP
0:HasPropertyVariableAllowDuplicates0:Boolean0:PropertyTypeO
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/SubmodelElementCollectionAASIriConceptDescriptionType

The components of the AASSubmodelElementCollectionType have additional references which are defined in Table 30.

Table 30 – AASSubmodelElementCollectionType Additional References
Source Path Reference Type Is Forward Target Path
<SubmodelElement>0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/SubmodelElementCollection/values
AllowDuplicates0:HasDictionaryEntryTrue Admin-shell.io/aas/2/0/SubmodelElementCollection/allowDuplicates

The value elements in this collection are not ordered (i.e. http://Admin-shell.io/aas/2/0/ SubmodelElementCollection/ordered == False).

6.8.3 AASOrderedSubmodelElementCollectionType

Figure 17 shows an overview about the AASOrderedSubmodelElementCollection ObjectType.

Figure 17 – AASOrderedSubmodelElementCollectionType graphical overview

Table 31 defines the AASOrderedSubmodelElementCollection ObjectType.

Table 31 – AASOrderedSubmodelElementCollectionType Definition
Attribute Value
BrowseNameAASOrderedSubmodelElementCollectionType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementCollectionType defined in Table 29 and Table 30 i.e. inheriting the InstanceDeclarations of that Node.
0:HasOrderedComponentObject<SubmodelElement>AASSubmodelElementTypeOP
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/SubmodelElementCollectionAASIriConceptDescriptionType

The components of the AASOrderedSubmodelElementCollectionType have additional references which are defined in Table 32.

Table 32 – AASOrderedSubmodelElementCollectionType Additional References
Source Path Reference Type Is Forward Target Path
<SubmodelElement>0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/SubmodelElementCollection/values

The value elements in this collection are ordered (i.e. http://Admin-shell.io/aas/2/0/ SubmodelElementCollection/ordered == True).

6.8.4 AASMultiLanguagePropertyType

Figure 18 shows an overview about the AASMultiLanguageProperty ObjectType

Figure 18 – AASMultiLanguagePropertyType graphical overview

This submodel element type is used for properties with a value that can be provided in multiple languages (see Table 33).

Table 33 – AASMultiLanguagePropertyType Definition
Attribute Value
BrowseNameAASMultiLanguagePropertyType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node
0:HasComponentObjectValueIdAASReferenceTypeO
0:HasPropertyVariableValue0:LocalizedText[]0:PropertyTypeO
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/MultiLanguagePropertyAASIriConceptDescriptionType

The components of the AASMultiLanguagePropertyType have additional references which are defined in Table 34.

Table 34 – AASMultiLanguagePropertyType Additional References
Source Path Reference Type Is Forward Target Path
ValueId0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/MultiLanguageProperty/valueId
Value0:HasDictionaryEntryTrue Admin-shell.io/aas/2/0/MultiLanguageProperty/value

6.8.5 AASPropertyType

Figure 19 shows an overview about the AASProperty ObjectType.

Figure 19 – AASPropertyType graphical overview

The valueId attribute references a DictionaryEntry. Table 35 defines the AASProperty ObjectType.

Table 35 – AASPropertyType Definition
Attribute Value
BrowseNameAASPropertyType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasPropertyVariableValue0:BaseDataType0:PropertyTypeO
0:HasPropertyVariableValueTypeAASValueTypeDataType0:PropertyTypeM
0:HasComponent ObjectValueId-AASReferenceTypeO
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/PropertyAASIriConceptDescriptionType

The components of the AASPropertyType have additional references which are defined in Table 36.

Table 36 – AASPropertyType Additional References
Source Path Reference Type Is Forward Target Path
Value0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Property/value
ValueType0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Property/valueType
ValueId0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Property/valueId

6.8.6 AASCapabilityType

Table 37 defines the AASCapability ObjectType.

Table 37 – AASCapabilityType Definition
Attribute Value
BrowseNameAASCapabilityType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/PropertyAASIriConceptDescriptionType

6.8.7 AASOperationType

Figure 20 shows an overview about the AASOperation ObjectType.

Figure 20 – AASOperationType graphical overview

AASOperationType is defined in Table 38. It encapsulates the standard OPC UA Method “Operation”. All rules for the OPC UA Method NodeClass declaration apply. “Operation” is defined without Arguments but with the OptionalPlaceholder ModellingRule. As defined in OPC 10000-3, this rule allows the inclusion of Arguments to this Method on sub-types or on instances.

Table 38 – AASOperationType Definition
Attribute Value
BrowseNameAASOperationType
IsAbstractFalse
References Node
Class
BrowseName

Data

Type

TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasComponentMethodOperationMP
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/OperationAASIriConceptDescriptionType

An example of a method definition is:

Signature

Method_xy_name (

[InputArgument]
0:PropertyType BrowseNameA
0:PropertyType BrowseNameB
[OutputArgument]
0:PropertyType BrowseNameK
0:PropertyType BrowseNameL

)

Each individual element of the InputArgument and OutputArgument has to be referenced by a 0:HasDictionaryEntry to its semantic definition.

6.8.8 AASBlobType

Figure 21 shows an overview about the AASBlob ObjectType.

Figure 21 – AASBlobType graphical overview

Table 39 defines the AASBlob ObjectType.

Table 39 – AASBlobType Definition
Attribute Value
BrowseNameAASBlobType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasComponentObjectFile0:FileTypeM
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/BlobAASIriConceptDescriptionType

The components of the AASBlobType have additional references which are defined in Table 40.

Table 40 – AASBlobType Additional References
Source Path Reference Type Is Forward Target Path
File0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Blob/value

6.8.9 AASFileType

Figure 22 shows an overview about the AASFile ObjectType.

Figure 22 – AASFileType graphical overview

Table 41 defines the AASFile ObjectType.

Table 41 – AASFileType Definition
Attribute Value
BrowseNameAASFileType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasPropertyVariableValue0:String0:PropertyTypeM
0:HasPropertyVariableMimeTypeAASMimeDataType0:PropertyTypeM
0:HasComponentObjectFile0:FileTypeO
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/FileAASIriConceptDescriptionType

The components of the AASFileType have additional references which are defined in Table 42.

Table 42 – AASFileType Additional References
Source Path Reference Type Is Forward Target Path
File0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/File/value
MimeType0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/File/mimeType

The additional reference to the real file of type 0:FileType is optional and not specified as such in the asset administration shell metamodel.

6.8.10 AASRelationshipElementType

Figure 23 shows an overview about the AASRelationElement ObjectType.

Figure 23 – AASRelationElementType graphical overview

A relationship element is used to define a relationship between two referable elements (Table 43).

Table 43 – AASRelationshipElementType Definition
Attribute Value
BrowseNameAASRelationshipElementType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasComponentObjectFirstAASReferenceTypeM
0:HasComponentObjectSecondAASReferenceTypeM
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/RelationshipElementAASIriConceptDescriptionType

Objects which have the AASReferenceType shall reference another type. According to Table 43 these are the following references:

the “First” node shall reference the Referable Type instance having the role of the subject

the “Second” node shall reference the Referable Type instance having the role of the object

The components of the AASRelationshipType have additional references defined in Table 44.

Table 44 – AASRelationshipElementType Additional References
Source Path Reference Type Is Forward Target Path
First0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/RelationshipElement/first
Second0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/RelationshipElement/second

Table 45 defines the AASAnnotatedRelationshipElement ObjectType.

Table 45 – AASAnnotatedRelationshipElementType Definition
Attribute Value
BrowseNameAASAnnotatedRelationshipElementType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASRelationshipElementType defined in Table 45, i.e. inheriting the InstanceDeclarations of that Node.
0:HasComponentObject<DataElement>AASSubmodelElementTypeOP
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/AnnotatedRelationshipElementAASIriConceptDescriptionType

The components of the AASAnnotatedRelationshipElementType have additional references which are defined in Table 46.

Table 46 – AASAnnotatedRelationshipElementType Additional References
Source Path Reference Type Is Forward Target Path
<DataElement>0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/AnnotatedRelationshipElement/annotations

The following SubmodelElement objects are allowed for AASAnnotatedRelationshipElementType:

AASProperty

AASMultiLanguageProperty

AASRangeType

AASReferenceElementType

AASFileType

AASBlobType

6.8.11 AASReferenceElementType

Figure 24 shows an overview about the AASReferenceElement ObjectType.

Figure 24 – AASReferenceElementType graphical overview

An AASReferenceElement has a Reference as value (Table 47). This reference has an aggregation of keys (see Table 47) which represents a key chain. The resolved key chain points to an element.

Table 47 – AASReferenceElementType Definition
Attribute Value
BrowseNameAASReferenceElementType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasComponentObjectValueAASReferenceTypeM
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/ReferenceElementAASIriConceptDescriptionType

The Object which has the AASReferenceType shall reference another type. According to Table 47 the “Value” can contain the allowed subtypes of AASSubmodelElementTypes as defined in chapter 6.3.

The components of the AASReferenceElementType have additional references which are defined in Table 48.

Table 48 – AASReferenceElementType Additional References
Source Path Reference Type Is Forward Target Path
Value0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/ReferenceElement/value

6.8.12 AASEventType

Figure 25 shows an overview about the AASEvent ObjectType.

Figure 25 – AASEventType graphical overview

Table 49 defines the AASEvent ObjectType.

Table 49 – AASEventType Definition
Attribute Value
BrowseNameAASEventType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
The attribute “observed” of the BasicEvent submodel element in the AAS metamodel is mapped to the OPC UA eventing mechanism using GeneratesEvent-references pointing from instances of this AASEventType to ObjectTypeNodes of type BaseEventType or its customized subclasses.

6.8.13 AASEntityType

Figure 26 shows an overview about the AASEntity ObjectType.

Figure 26 – AASEntityType graphical overview

Table 50 defines the AASEntity ObjectType.

Table 50 – AASEntityType Definition
Attribute Value
BrowseNameAASEntityType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasComponentObject<SubmodelElement>-AASSubmodelElementTypeOP
0:HasPropertyVariableEntityTypeAASEntityTypeDataType0:PropertyTypeM
0:HasComponentObjectAsset-AASReferenceTypeO
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/EntityAASIriConceptDescriptionType

The components of the AASEntityType have additional references which are defined in Table 51.

Table 51 – AASEntityType Additional References
Source Path Reference Type Is Forward Target Path
<SubmodelElement>0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Entity/statements
EntityType0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Entity/entityType
Asset0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Entity/asset

6.8.14 AASRangeType

If Min missing then negative open range infinitely, if max missing the open range infinitely.
Table 52 – AASRangeType Definition
Attribute Value
BrowseNameAASRangeType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Others
Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.
0:HasPropertyVariableValueTypeAASValueTypeDataType0:PropertyTypeM
0:HasPropertyVariableMin0:BaseDataType0:PropertyTypeO
0:HasPropertyVariableMax0:BaseDataType0:PropertyTypeO
0:HasDictionaryEntryObjectAdmin-shell.io/aas/2/0/RangeAASIriConceptDescriptionType

Only simple data type of the OPC UA specification are allowed.

The components of the AASRangeType have additional references which are defined in Table 53.

Table 53 – AASRangeType Additional References
Source Path Reference Type Is Forward Target Path
ValueType0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Range/valueType
Min0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Range/min
Max0:HasDictionaryEntryTrueAdmin-shell.io/aas/2/0/Range/max