Imprint

Publisher

Industrial Digital Twin Association

Lyoner Strasse 18

60528 Frankfurt am Main

Germany

Version history

Date Version Comment

04.08.2023

1.0

Release of the official Submodel template published by IDTA.

General

About this document

This document is a part of a specification series. Each part specifies the contents of a Submodel template for the Asset Administration Shell (AAS).

The AAS is described in [1], [2], [3] and [6]. First exemplary Submodel contents were described in [4], while the actual format of this document was derived by the "Administration Shell in Practice" [5].

The format aims to be very concise, giving only minimal necessary information for applying a Submodel Template, while leaving deeper descriptions and specification of concepts, structures and mapping to the respective documents [1] to [6]. Common terms and abbreviations can be found in [8].

The target group of the specification are developers and editors of technical documentation and manufacturer information, which are describing Assets in smart manufacturing by means of the Asset Administration Shell (AAS) and therefore need to create a Submodel instance with a hierarchy of SubmodelElements.

This document especially details on the question, which SubmodelElements with which semantic identification shall be used for this purpose.

Scope of the Submodel

Software becomes more and more an essential part in manufacturing value networks, in smart manufacturing, and in smart products.

For an effective and efficient use and management of such software, it is necessary to gather relevant information in a uniform representation.

Use cases like updates, patch management, license management, audits, etc. rely on information regarding identification, sources and features of software (Figure 1).

This information shall be provided in a consistent manner in form of a “nameplate for software”, derived and specialized from a common digital nameplate as defined in [9].

Software in manufacturing and the nameplate for software

The nameplate for software applies to stand-alone software Assets Figure 2, as well as to software as integral part of a physical Asset, e.g. firmware or application software of a machine, modelled as a composite component using hierarchies according to [11] Figure 3.

Software as an Asset

Software as integral part of a composite component (e.g. machine)

This Submodel Template aims at interoperable provision of software nameplate data describing the asset of the respective Asset Administration Shell.

Central element is the provision of properties [7], ideally interoperable by the means of dictionaries such as ECLASS and IEC CDD (Common data dictionary).

The intended use-case is, that a manufacturer of industrial equipment describes Assets (type or instance), which are provided to the market, by the means of software nameplate data (properties), which are interoperable and unambiguously understood by the other market participants, such as system integrators or operators of industrial equipment.

For providing individual industrial equipment to the market, also a supplier is covered by the use-case (for this purpose seen as functioning as manufacturer).

This Submodel Template specifies two basic sets of SubmodelElements in order to describe the necessary information according to this use-case.

Relevant standards for the Submodel Template

According to [3], interoperable properties might be defined by standards, consortium specifcations or manufacturer specifications.

For the former two cases, so called dictionaries, repositories or classification systems exist in the market.

In the further document, these entities are summarized by "property dictionaries" (see Terms and Definitions of [6]).

Such property dictionaries include:

Submodel for identification of Software in Industrial Applications

Approach

A Submodel according to this Submodel Template specification consists of properties identifying both the type of software and the specific instance.

The Submodel re-uses properties of the Submodel “Digital Nameplate” [9].

Thus, the Submodel refers to corresponding concept descriptions.

In addition, it uses properties defined in the Submodel “ContactInformation” [10].

The Submodel Template contains two separate SMCs.

While SMC “SoftwareNameplateType” contains prop­erties of the type of software (indicated by attribute “assetKind=type”), the SMC “Software­NameplateInstance” contains properties of the specific instance of software (“assetKind=instance”).

Figure 4 shows the corresponding UML-diagram, Table 1 defines the properties of the Submodel Template.

UML-Diagram of the Submodel Template “SoftwareNameplate”

Table 1. Properties of the Submodel Template “SoftwareNameplate”

idShort:

SoftwareNameplate

Note: The above idShort shall always be as stated.

Class:

Submodel

semanticId:

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0

Parent:

Asset Administration Shell with Asset, which is software

Explanation:

Submodel containing the nameplate information for software Asset and associated product classificatons.

[SME type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

example

[SubmodelElementCollection] SoftwareNameplate_Type

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/ SoftwareNameplateType

n/a

[0..1]

SMC defining type-related properties of a software Asset

[SubmodelElementCollection] SoftwareNameplate_Instance

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/ SoftwareNameplateInstance

n/a

[0..1]

SMC defining instance-related properties of a software Asset

Properties of the SMC “SoftwareNameplateType”

Figure 5 shows the UML-diagram of the SMC “SoftwareNameplateType”, defining the relevant properties which need to be set to describe a type of software.

The properties in red color are re-used from the Submodel “Digital Nameplate” [9].

UML-Diagram of the SMC “SoftwareNameplateType”

Table 2 describes the details of the Submodel structure combined with examples.

Table 2. Properties of the SMC “SoftwareNameplateType”

idShort:

SoftwareNameplate_Type

Note: The above idShort shall always be as stated.

Class:

SubmodelElementCollection

semanticId:

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplateType

Parent:

SoftwareNameplate

Explanation:

SMC containing the nameplate information for a type of a software Asset.

[SME type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

example

[Property] URIOfTheProduct

[IRDI] 0173-1#02-AAY811#001

string

[1]

Unique global identification of the product using a universal resource identifier (URI)

ZVEI.I40.ITinAutomation.DemoSW_123456

[MLP] ManufacturerName

[IRDI] 0173-1#02-AAO677#002

langString

[1]

Legally valid designation of the natural or judicial person which is directly responsible for the design, production, packaging and labeling of a product in respect to its being brought into circulation

ZVEI AK IT in Automation

[MLP] ManufacturerProductDesignation

[IRDI] 0173-1#02-AAW338#001

langString

[1]

The name of the product, provided by the manufacturer

My Software Package for Demonstration

[MLP] ManufacturerProductDescription

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/ SoftwareNameplateType/ManufacturerProductDescription

langString

[0..1]

Description of the product, it’s technical features and implementation if needed (long text)

A first software installation to be used for demo purpose only.

[MLP] ManufacturerProductFamily

[IRDI] 0173-1#02-AAU731#001

langString

[0..1]

2nd level of a 3 level manufacturer specific product hierarchy

Demo Products for IT in Automation

[MLP] ManufacturerProductType

[IRDI] 0173-1#02-AAO057#002

langString

[0..1]

Characteristic to differentiate between different products of a product family or special variants

DP-AKIT-A

[Property] SoftwareType

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/SoftwareType

string

[0..1]

The type of the software (category, e.g. Runtime, Application, Firmeware, Driver, etc.)

PLC Runtime

[Property] Version

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/Version

string

[1]

The complete version information consisting of Major Version, Minor Version, Revision and Build Number

0.9.1.0

[MLP] VersionName

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/VersionName

langString

[0..1]

The name this particular version is given

R2021 beta

[MLP] VersionInfo

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/VersionInfo

langString

[0..1]

Provides a textual description of most relevant characteristics of the version of the software

Please do not install in productive environments!

[Property] ReleaseDate

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/ReleaseDate

date

[1]

The moment in time, when this version of the software was made publicly available

20220207

[MLP] ReleaseNotes

[[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/ReleaseNotes

langString

[0..1]

Contains information about this release

This release requires special configuration.

[Property] BuildDate

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/BuildDate

date

[1]

The moment in time, when this particular build of software was created

20201119

[Property] InstallationURI

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/InstallationURI

anyURI

[0..1]

Indicates the resource, where the software is being provided by the manufacturer

https://tud.de/inf/pk/demo-sw/download/DemoFirmware_09.zip

[Property] InstallationFile

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/InstallationFile

Blob [0..1]

[0..1]

Contains the installation code as BLOB.

[Property] InstallerType

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/InstallerType

string

[0..1]

Indicates the type of installation package

MSI

[Property] InstallationChecksum

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateType/InstallationChecksum

string

[0..1]

Provides the checksum for the software available at InstallationURI

0x2783

Properties of the SMC “SoftwareNameplateInstance”

Figure 6 shows the UML-diagram of the SMC “SoftwareNameplateInstance”, defining the relevant properties which need to be set to describe a specific instance of software.

Table 3 shows the relevant properties which need to be set.

The properties in red color are re-used from the Submodel “Digital Nameplate” [9], the SMC “Contact” (in green color) is de­fined in the Submodel “ContactInformation” [10].

UML-Diagram of the SMC “SoftwareNameplateInstance”.

Table 3. Properties of the SMC “SoftwareNameplateInstance”

idShort:

SoftwareNameplate_Instance

Note: The above idShort shall always be as stated.

Class:

SubmodelElementCollection

semanticId:

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplateInstance

Parent:

Asset Administration Shell with Asset, which is software

Explanation:

SMC containing the nameplate information for an instance of a software Asset.

[SME type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

Example

[Property] SerialNumber

[IRDI] 0173-1#02-AAM556#002
( [IRDI] 0112/2///61987#ABA951#007 serial number)

String

[0..1]

Unique combination of numbers and letters used to identify the software instance

123456

[Property] InstanceName

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstanceName

String

[0..1]

The name of the software instance

My Software Instance

[Property] InstalledVersion

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstalledVersion

String

[0..1]

The version information of the installed instance, consisting of Major Version, Minor Version, Revision and Build Number indicates the actual version of the instance

0.9.1.0

[Property] InstallationDate

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstallationDate

Date

[0..1]

Date of Installation

20201119T09:30:20

[Property] InstallationPath

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstallationPath

anyURI

[0..1]

Indicates the path to the installed instance of the software

C:\Windows\Program Files\Demo\Firmware

[Property] InstallationSource

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstallationSource

anyURI

[0..1]

Indicates the path to the installation files used in this instance of the software

https://tud.de/inf/pk/installation/firmware/src

[Property] InstalledOnArchitecture

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstalledOnArchitecture

String

[0..1]

Indicates the processor architecture this instance is installed on

x86-32

[Property] InstalledOnOS

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstalledOnOS

String

[0..1]

Indicates the operating system this instance is installed on

Windows 10

[Property] InstalledOnHost

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstalledOnHost

String

[0..1]

Indicates the host system in case of a virtual environment

IPC_42

[SubmodelElementCollection] InstalledModules

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstalledModules

n/a

[0..1]

Collection of installed modules

[SubmodelElementCollection] ConfigurationPaths

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/ConfigurationPaths

n/a

[0..1]

Indicates the path to the configuration information

[Property] SLAInformation

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/SLAInformation

string

[0..1]

Indicates the actual service level agreements

Service level GOLD USER.

[SubmodelElementCollection] Contact

[IRI]https://admin-shell.io/zvei/nameplate/1/0/ContactInformations/ContactInformation

n/a

[0..1]

Collection for general contact data

[Property] InventoryTag

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InventoryTag

string

[0..*]

Specifies an information used for inventory of the software

TU3-88D5

Properties of the SMC “InstalledModules”

Figure 6 shows the UML-diagram defining the relevant properties which need to be set. Table 4 describes the details of the SMC structure combined with examples.

Table 4. Properties of the SMC “InstalledModules”
idShort: InstalledModules

Class:

SubmodelElementCollection

semanticId:

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstalledModules

Parent:

Submodel element collection “SoftwareNameplateInstance”

Explanation:

Contains a list of installed modules of the software instance.

[SME type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

example

[Property] InstalledModule

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/InstalledModule

string

[1..*]

The name of a particular module installed

main

Properties of the SMC “ConfigurationPaths”

Figure 6 shows the UML-diagram defining the relevant properties which need to be set. Table 5 describes the details of the SMC structure combined with examples.

Table 5. Properties of the SMC “ConfigurationPaths”
idShort: ConfigurationPaths

Class:

SubmodelElementCollection

semanticId:

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/ConfigurationPaths

Parent:

Submodel element collection “SoftwareNameplateInstance”

Explanation:

Contains a list of configuration entries of the software instance.

[SME type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

example

[SubmodelElementCollection] ConfigurationPath

[IRI]https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/ConfigurationPath

n/a

[1..*]

Contains a single configuration entry

Properties of the SMC “ConfigurationPath”

Figure 6 shows the UML-diagram defining the relevant properties which need to be set. Table 6 describes the details of the SMC structure combined with examples.

Table 6. Properties of the SMC “ConfigurationPath”
idShort: ConfigurationPath

Class:

SubmodelElementCollection

semanticId:

[IRI] https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/ConfigurationPath

Parent:

Submodel element collection “ConfigurationPaths”

Explanation:

Contains a single configuration entry of the software instance.

[SME type]

semanticId = [idType]value

[valueType]

card.

idShort

Description@en

example

[Property] ConfigurationURI

[IRI]https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/ConfigurationURI

anyURI

[1]

Indicates the path to the configuration

C:\Users\mw30\Documents\ZVEI\AKITinAutomation\20210113

[Property] ConfigurationType

[IRI]https://admin-shell.io/idta/SoftwareNameplate/1/0/SoftwareNameplate/SoftwareNameplateInstance/ConfigurationType

string

[0..1]

Indicates the type of configuration (e.g. general configuration, user configuration)

initial configuration

Properties of the SMC “Contact”

This SMC contains information on the contact information of the person responsible for the software instance.

It uses the SMC structure defined in the Submodel “ContactInformation” [10].

The property “RoleOfContactPerson” shall use the IRDI 0173-1#07-AAS931#001 (technical contact).

Display names for sections and properties with no semanticId available

For displaying property names in a user interface, the following precedence of display names shall be maintained:

Table 7. Display names for sections and properties with no semanticId available
Priority Concept in AAS metamodel Description

1 (highest)

SubmodelElement/
description

If availabe, an adequate language will be chosen from the LangStringSet of description. Thus, the user explanation of the property by the SubmodelElement will overrule the definition of the ConceptDescription by the semanticId.

Note: In a future version of the AAS metamodel, a distinctive

"DisplayName" will be available and will substitute the use of description.

Note: If a user or application requests a preferred language, then this

language shall be used; default is English (en).

2

ConceptDescription/
preferredName

If available, an adequate language will be chosen from preferrred name.

Note: The user interface is recommended to be capable of handling

presentation of at least 50 characters.

Note: If a user or application requests a preferred language, then this

language shall be used; default is English (en).

3

ConceptDescription/
shortName

As above, but shorter definition.

Note: If a user or application requests a preferred language, then this

language shall be used; default is English (en).

4 (lowest)

SubmodelElement/
idShort

If only available, the idShort shall be presented.

Note: This is usually not language adequate and the least user

orientation presentation.

Note: Consequently, for editors of instances of this Submodel Template,

the following procedure is recommended to be applied:

  1. Whenever possible, include a ConceptDescription within the AAS with speaking elaboration of preferredName, shortName and definition.

  2. If no ConceptDescription could be provided (no semanticId, that is, no formal conceptualization of the property could be given to the user), a speaking explanation shall be provided by SubmodelElement/description.

  3. In any case, a short but speaking, unique idShort for the SubmodelElement shall be chosen, respecting the allowed characters (regex definition: [a-zA-Z0-9_-]+)

Explanations on used table formats

General

The used tables in this document try to outline information as concise as possible.

They do not convey all information on Submodels and SubmodelElements.

For this purpose, the definitive definitions are given by a separate file in form of an AASX file of the Submodel Template and its elements.

Tables on Submodels and SubmodelElements

For clarity and brevity, a set of rules is used for the tables for describing Submodels and SubmodelElements.

  • The tables follow in principle the same conventions as in [5].

  • The table heads abbreviate 'cardinality' with 'card'.

  • The tables often place two informations in different rows of the same table cell. In this case, the first information is marked out by sharp brackets [] form the second information. A special case are the semanticIds, which are marked out by the format: (type)(local)[idType]value.

  • The types of SubmodelElements are abbreviated:

SME type

SubmodelElement type

Property

Property

MLP

MultiLanguageProperty

Range

Range

File

File

Blob

Blob

Ref

ReferenceElement

Rel

RelationshipElement

SMC

SubmodelElementCollection

If an idShort ends with '{00}', this indicates a suffix of the respective length (here: 2) of decimal digits, in order to make the idShort unique.

A different idShort might be choosen, as long as it is unique in the parent’s context.

The Keys of semanticId in the main section feature only idType and value, such as: [IRI]https://admin-shell.io/vdi/2770/1/0/DocumentId/Id.

The attributes "type" and "local" (typically "ConceptDescription" and "(local)" or "GlobalReference" and (no-local)") need to be set accordingly; see [6].

If a table does not contain a column with "parent" heading, all represented attributes share the same parent.

This parent is denoted in the head of the table.

Multi-language strings are represented by the text value, followed by '@'-character and the ISO 639 language code: example@EN.

The [valueType] is only given for Properties.

Bibliography

[1] “Recommendations for implementing the strategic initiative INDUSTRIE 4.0”, acatech, April 2013. [Online]. Available_ _https://www.acatech.de/Publikation/recommendations-for-implementing-the-strategic-initiative-industrie-4-0-final-report-of-the-industrie-4-0-working-group/[https://www.acatech.de/Publikation/recommendations-for-implementing-the-strategic-initiative-industrie-4-0-final-report-of-the-industrie-4-0-working-group/]

[2] “Implementation Strategy Industrie 4.0: Report on the results of the Industrie 4.0 Platform”; BITKOM e.V. / VDMA e.V., /ZVEI e.V., April 2015. [Online]. Available: https://www.bitkom.org/noindex/Publikationen/2016/Sonstiges/Implementation-Strategy-Industrie-40/2016-01-Implementation-Strategy-Industrie40.pdf

[3] “The Structure of the Administration Shell: TRILATERAL PERSPECTIVES from France, Italy and Germany”, March 2018, [Online]. Available: https://www.plattform-i40.de/I40/Redaktion/EN/Downloads/Publikation/hm-2018-trilaterale-coop.html

[4] “Beispiele zur Verwaltungsschale der Industrie 4.0-Komponente – Basisteil (German)”; ZVEI e.V., Whitepaper, November 2016. [Online]. Available: https://www.zvei.org/presse-medien/publikationen/beispiele-zur-verwaltungsschale-der-industrie-40-komponente-basisteil/

[5] “Verwaltungsschale in der Praxis. Wie definiere ich Teilmodelle, beispielhafte Teilmodelle und Interaktion zwischen Verwaltungsschalen (in German)”, Version 1.0, April 2019, Plattform Industrie 4.0 in Kooperation mit VDE GMA Fachausschuss 7.20, Federal Ministry for Economic Affairs and Energy (BMWi), Available: https://www.plattform-i40.de/PI40/Redaktion/DE/Downloads/Publikation/2019-verwaltungsschale-in-der-praxis.html

[6] “Details of the Asset Administration Shell; Part 1 - The exchange of information between partners in the value chain of Industrie 4.0 (Version 3.0RC01)”, November 2020, [Online]. Available: https://www.plattform-i40.de/PI40/Redaktion/EN/Downloads/Publikation/Details-of-the-Asset-Administration-Shell-Part1.html

[7] Semantic interoperability: challenges in the digital transformation age, IEC, International Electronical Commision; 2019; Available: https://basecamp.iec.ch/download/iec-white-paper-semantic-interoperability-challenges-in-the-digital-transformation-age-en/?

[8] Common terms and abbreviations according to VDI FA 7.21 Wiki; Available: http://i40.iosb.fraunhofer.de/

[9] “Submodel Template of the Asset Administration Shell - Digital Nameplate for Industrial Equipment (Version 2.0)”, IDTA 02006-2-0, 2022, [Online]. Available:
https://github.com/admin-shell-io/submodel-templates/tree/main/published

[10] “Submodel Template of the Asset Administration Shell - Submodel for Contact Information (Version 1.0)”, IDTA-02002-1-0, 2022, [Online]. Available:
https://github.com/admin-shell-io/submodel-templates/tree/main/published

[11] “Submodel Template of the Asset Administration Shell - Hierarchical Structures enabling Bills of Material (Version 1.0)”, IDTA-02011-1-0, April 2023, [Online]. Available:
https://github.com/admin-shell-io/submodel-templates/tree/main/published

www.industrialdigitaltwin.org