AssetInformation🔗

In AssetInformation identifying meta data of the asset that is represented by an AAS is defined.

The asset may either represent an asset type or an asset instance.

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 lifecycle where a stabilised/constant_set global asset identifier does not already exist, the corresponding attribute AssetInformation.globalAssetId is optional.

Constraint AASd-116🔗

globalAssetId is a reserved key. If used as value for SpecificAssetId.name then SpecificAssetId.value shall be identical to AssetInformation.globalAssetId.

AASd-116 is important to enable a generic search across global and specific asset IDs.

In the book, AASd-116 imposes a case-insensitive equality against globalAssetId. This is culturally-dependent, and depends on the system settings. For example, the case-folding for the letters "i" and "I" is different in Turkish from English.

We implement the constraint as case-sensitive instead to allow for interoperability across different culture settings.

Constraint AASd-131🔗
For AssetInformation either the AssetInformation.globalAssetId shall be defined or at least one item in AssetInformation.specificAssetIds.

Properties 🔗

assetKind: AssetKind 🔗
Denotes whether the Asset is of kind AssetKind.Type or AssetKind.Instance.
globalAssetId: Optional[Identifier] 🔗
Global identifier of the asset the AAS is representing.

This attribute is required as soon as the AAS 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 ID but already an internal identifier. The internal identifier would be modelled via AssetInformation.specificAssetIds.

This is a global reference.
specificAssetIds: Optional[List[SpecificAssetId]] 🔗
Additional domain-specific, typically proprietary identifier for the asset like e.g., serial number etc.
assetType: Optional[Identifier] 🔗
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.
In case AssetInformation.assetKind is "Instance" than 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".
defaultThumbnail: Optional[Resource] 🔗
Thumbnail of the asset represented by the Asset Administration Shell.
Used as default.

Invariants 🔗

  • Constraint AASd-116: ``globalAssetId`` is a reserved key. If used as value for the name of specific asset ID then the value of specific asset ID shall be identical to the global asset ID.
    not (self.specificAssetIds is not None)
    or (
        all(
            (
                specificAssetId.name != 'globalAssetId'
                or (
                    (
                        (self.globalAssetId is not None)
                        and specificAssetId.name == 'globalAssetId'
                        and specificAssetId.value == self.globalAssetId
                    )
                )
            )
            for specificAssetId in self.specificAssetIds
        )
    )
  • Constraint AASd-131: Either the global asset ID shall be defined or at least one specific asset ID.
    (
        (
            (
                (self.globalAssetId is not None)
                or (self.specificAssetIds is not None)
            )
        )
        and (
            not (self.specificAssetIds is not None)
            or (len(self.specificAssetIds) >= 1)
        )
    )
  • Specific asset IDs must be either not set or have at least one item.
    not (self.specificAssetIds is not None)
    or (len(self.specificAssetIds) >= 1)

Usages

AssetAdministrationShell AssetAdministrationShell.assetInformation