Asset Administration Shell Attributes Figure 1. Metamodel of an AssetAdministrationShell An Administration Shell is uniquely identifiable since it inherits from Identifiable. The derivedFrom attribute is used to establish a relationship between two Asset Administration Shells that are derived from each other. For more detailed information on the derivedFrom concept, see Clause Types and Instances. Class: AssetAdministrationShell Explanation: An Asset Administration Shell Inherits from: Identifiable; HasDataSpecification ID: https://admin-shell.io/aas/3/1/AssetAdministrationShell Attribute ID Explanation Type Card. derivedFrom https://admin-shell.io/aas/3/1/AssetAdministrationShell/derivedFrom The reference to the Asset Administration Shell, which the Asset Administration Shell was derived from ModelReference<AssetAdministrationShell> 0..1 assetInformation https://admin-shell.io/aas/3/1/AssetAdministrationShell/assetInformation Meta information about the asset, the Asset Administration Shell is representing AssetInformation 1 submodel https://admin-shell.io/aas/3/1/AssetAdministrationShell/submodels Reference to a submodel of the Asset Administration Shell A submodel is a description of an aspect of the asset, the Asset Administration Shell is representing. The asset of an Asset Administration Shell is typically described by one or more submodels. Temporarily, no submodel might be assigned to the Asset Administration Shell. ModelReference<Submodel> 0..* Asset Information Attributes Figure 2. Metamodel of Asset Information Class: AssetInformation Explanation: In AssetInformation, identifying metadata of the asset that is represented by an Asset Administration Shell is defined. The asset may either represent a type asset or an instance asset. The asset has a globally unique identifier, plus – if needed – additional domain-specific (proprietary) identifiers. However, to support the corner case of very first phase of life cycle where a stabilized/constant global asset identifier does not already exist, the corresponding attribute "globalAssetId" is optional. Constraint AASd-131: The globalAssetId or at least one specificAssetId shall be defined for AssetInformation. Note: see Clause Constraints for Asset-Related Information for constraints related to asset information. Inherits from: — ID: https://admin-shell.io/aas/3/1/AssetInformation Attribute ID Explanation Type Card. assetKind https://admin-shell.io/aas/3/1/AssetInformation/assetKind Denotes whether the Asset is of kind "Type", Instance", "Role" or none of these types is applicable AssetKind 1 globalAssetId https://admin-shell.io/aas/3/1/AssetInformation/globalAssetId Identifier of the asset, the Asset Administration Shell is representing This attribute is required as soon as the Asset Administration Shell is exchanged via partners in the life cycle of the asset. In a first phase of the life cycle, the asset might not yet have a global asset ID but already an internal identifier. The internal identifier would be modelled via "specificAssetId". Identifier 0..1 specificAssetId https://admin-shell.io/aas/3/1/AssetInformation/specificAssetIds Additional domain-specific, typically proprietary identifier for the asset like serial number, manufacturer part ID, customer part IDs, etc SpecificAssetId 0..* assetType https://admin-shell.io/aas/3/1/AssetInformation/assetType In case AssetInformation/assetKind is applicable the AssetInformation/assetType is the asset ID of the type asset of the asset under consideration as identified by AssetInformation/globalAssetId. Note: in case AssetInformation/assetKind is "Instance" then the AssetInformation/assetType denotes which "Type" the asset is of. But it is also possible to have an AssetInformation/assetType of an asset of kind "Type". Identifier 0..1 defaultThumbnail https://admin-shell.io/aas/3/1/AssetInformation/defaultThumbnail Thumbnail of the asset represented by the Asset Administration Shell; used as default. Resource 0..1 Note: besides this asset information, there still might be an identification submodel with further information. Specific asset IDs mainly serve the purpose of supporting discovery of Asset Administration Shells for an asset. Class: Resource Explanation: Resource represents an address to a file (a locator). The value is a URI that can represent an absolute or relative path. Inherits from: — ID: https://admin-shell.io/aas/3/1/Resource Attribute ID Explanation Type Card. path https://admin-shell.io/aas/3/1/Resource/path Path and name of the resource (with file extension) The path can be absolute or relative. PathType 1 contentType https://admin-shell.io/aas/3/1/Resource/contentType Content type of the content of the file The content type states which file extensions the file can have. ContentType 0..1 Enumeration: AssetKind Explanation: Enumeration for denoting whether an asset is a type asset or an instance asset or is a role or whether this kind of classification is not applicable Set of: — ID: https://admin-shell.io/aas/3/1/AssetKind Literal ID Explanation Type https://admin-shell.io/aas/3/0/AssetKind/Type Type asset Instance https://admin-shell.io/aas/3/0/AssetKind/Instance Instance asset Role https://admin-shell.io/aas/3/1/AssetKind/Role Role asset NotApplicable https://admin-shell.io/aas/3/0/AssetKind/NotApplicable Neither a type asset nor an instance asset nor a role asset For more information on types and instances, see Clause Types and Instances. Class: SpecificAssetId Explanation: A specific asset ID describes a generic supplementary identifying attribute of the asset. The specific asset ID is not necessarily globally unique. Constraint AASd-133: SpecificAssetId/externalSubjectId shall be a global reference, i.e. Reference/type = ExternalReference. Inherits from: HasSemantics ID: https://admin-shell.io/aas/3/1/SpecificAssetId Attribute ID Explanation Type Card. name https://admin-shell.io/aas/3/1/SpecificAssetId/name Name of the asset identifier LabelType 1 value https://admin-shell.io/aas/3/1/SpecificAssetId/value The value of the specific asset identifier with the corresponding name Identifier 1 externalSubjectId https://admin-shell.io/aas/3/1/SpecificAssetId/externalSubjectId The unique ID of the (external) subject the specific asset ID value belongs to or has meaning to Note: this is an external reference. Reference 0..1 Note 1: names for specificAssetIds do not need to be unique. Note 2: semanticIds for the single specificAssetIds do not need to be unique. For more information on the concept of subject, see Attribute Based Access Control (ABAC) [49]. The assumption is that every subject has a unique identifier. Submodel Attributes Figure 3. Metamodel of Submodel Adding a semanticId for a submodel is recommended (see Table "Elements with Allowed Identifying Values"). If the submodel is of kind=Template (modelling kind as inherited by HasKind), the submodel elements within the submodel are presenting submodel element templates. If the submodel is of kind=Instance, its submodel elements represent submodel element instances. Note: validators shall handle a submodel like SubmodelElementCollection/submodelElements and not like a SubmodelElementList/value. The difference is that a submodel is identifiable and a predefined unit of information within the Asset Administration Shell. Class: Submodel Explanation: A submodel defines a specific aspect of the asset represented by the Asset Administration Shell. A submodel is used to structure the digital representation and technical functionality of an Administration Shell into distinguishable parts. Each submodel refers to a well-defined domain or subject. Submodels can become standardized and, in turn, submodel templates. Inherits from: Identifiable; HasKind; HasSemantics; Qualifiable; HasDataSpecification ID: https://admin-shell.io/aas/3/1/Submodel Attribute ID Explanation Type Card. submodelElement https://admin-shell.io/aas/3/1/Submodel/submodelElements A submodel consists of zero or more submodel elements. SubmodelElement 0..* Submodel Element Attributes Figure 4. Metamodel of Submodel Element Submodel elements are qualifiable elements, i.e. one or more qualifiers may be defined for each of them. It is recommended to add a semanticId to a SubmodelElement. Submodel elements may also have defined data specification templates. A template might be defined to mirror some of the attributes like preferredName and unit of a property concept definition if there is no corresponding concept description available. Otherwise, there is only the property definition referenced by semanticId available for the property; the attributes must be looked up online in a different way and are not available offline. Class: SubmodelElement <<abstract>> Explanation: A submodel element is an element suitable for the description and differentiation of assets. Inherits from: Referable; HasSemantics; Qualifiable; HasDataSpecification ID: https://admin-shell.io/aas/3/1/SubmodelElement Attribute ID Explanation Type Card.