Metamodel Changes

General

This annex lists the changes from version to version of the metamodel, together with major changes in the overall document. Non-backward compatible changes (nc) are marked as such.

nc="x" means non-backward compatible; if no value is added in the table, then the change is backward compatible.

nc="(x)" means that the change made was implicitly contained or stated in the document before and is now being formalized. Therefore, the change is considered to be backward compatible.

Before splitting the document, changes to the data specification templates and the security of the metamodel were listed in separate tables.

Three tables are introduced to explain the changes:

  1. changes w.r.t. previous version,

  2. new elements in metamodel w.r.t previous version,

  3. new, changed, or removed constraints w.r.t previous version.

If there are no changes the corresponding tables are omitted.

Note: before V3.0, the security metamodel and the predefined data specifications were also part of this document.

Changes V3.1 vs. V3.0.1

Major Changes:

  • New value "Role" to enumeration AssetKind (#294)

  • Data type Identifier: change length from 2000 to 2048 characters (#306)

  • Referable/idShort and Constraint AASd-002: now also allows hyphens to be included in name (#295)

  • Entity/entityType and Constraint AASd-014: entityType now optional (#287)

  • Change RelationshipElement: attributes "first" and "second" now optional (conformant to "min" and "max" of "Range")(#412), AnnotatedRelationshipElement inherits from RelationshipElement and is thus also affected.

  • Change File and Blob: attribute "contentType" now optional (#412),

  • Relaxation of grammar for semantic IDs for metamodel elements in the context of data specifications (#307)

  • Terms and Definitions adopted to IEC 63278-1:2023 (before IEC 63278-1 Draft July 2022 was the basis), (#365) also abbreviations partly adopted; changes:

    • changed: asset

    • changed: digital representation (example only)

    • removed: ontology

    • changed: service

    • removed: smart manufacturing

    • changed: Submodel

    • changed: Submodel template

    • changed: Submodel template element

    • removed: technical functionality

  • Update clause on matching algorithm for references (#350)

    • introduce equivalent matching and rename exact matching to value matching

    • added notes

  • (Editorial) Adding metamodel element IDs to tables themselves for easier usage (besides grammar defining how to derive them) (#366)

  • Update all metamodel element IDs to V3.1 (#366)

  • Transfer of chapters on formats Metadata, Paths and Value-Only from Part 2 API to Part 1 Metamodel (#325)

  • Enhanced documentation or Value-Only serialization (#371, #370)

  • (Editorial) Update Chapter on Value-Only Serialization

    • add table similar to metadata table: which attributes are displayed in Value-Only serialization

    • update examples to provide Value-Only serialization for every submodel element (not in the context of a Submodel as before)

    • add chapter for Submodel Example (with properties from SMT Technical Data, not Families any longer)

    • update Schema for JSON-Value Serialization (#366)

  • update explanatory text and notes in the context of AdministrativeInformation (#331)

  • Transfer from .docx to asciidoc (.adoc) and maintenance in GitHub

  • Transfer of all UML figures to PlantUML (.puml) and maintenance in GitHub, no XMI presenation part of release any longer (#439)

Minor Changes:

  • explanation of ValueOnly-Normal round-trip issues (#364)

  • improve explanation for recommendation to use external references for semanticId (#376) and related attributes like valueId and isCaseOf (#396)

  • update information on OPC UA mapping (#373)

  • update information on AutomationML mapping (#397)

  • update bibliography (newer versions, link update, removal of entries not referenced)

  • consistent usage of idShortPath and IRDI-Path (#385)

  • add example for deprecated attribute in class in Annex UML

  • editorial changes

Metamodel Changes V3.1 vs. V3.0.1

Table 1. Changes in Metamodel
Nc V3.1 Change w.r.t. V3.0.1 Comment

AssetKind

Add new value "Role" to enumeration AssetKind

Blob/contentType

now optional

Entity/entityType

now optional

File/contentType

now optional

Identifier

data type: change length from 2000 to 2024 characters

NameType

implicit change due to change of Constraint AASd-002

Referable/idShort

implicit change because constraint AASd-002 now also allows hyphen

RelationshipElement/first

now optional

RelationshipElement/second

now optional

Table 2. New Elements in Metamodel
New Elements V3.1 vs V3.0.1 Comment

AssetKind/Role

New value in enumeration

Table 3. New, Changed or Removed Constraints
Nc V3.1 vs. V3.0 New, Update, Removed, Reformulated Comment

AASd-002

Update

now also allows hyphens to be included in name

Constraint AASd-002: idShort of Referables shall only feature letters, digits, hyphen ("-") and underscore (""); starting mandatory with a letter, and not ending with a hyphen, i.e. ^[a-zA-Z][a-zA-Z0-9-]*[a-zA-Z0-9_]+$.].

AASd-014

Update

Change since Entity/entityType is now optional

Constraint AASd-014: Either the attribute globalAssetId or specificAssetId of an Entity must be set if Entity/entityType is set to "SelfManagedEntity".

AASd-016

Update

Update version of globalAssetId

Constraint AASd-116: "globalAssetId" (case-insensitive) is a reserved key for SpecificAssetId/name with the semantics as defined in https://admin-shell.io/aas/3/1/AssetInformation/globalAssetId.

Changes V3.0.1 vs. V3.0

Major Bugfixes:

  • CHANGE: DataTypeDefXsd all links now reference correctly to XML Schema 1.0 (xmlschema-2) not to XML Schema V1.1 (xmlschema11-2) (#312, #363), i.e. remove xs:yearMonthDuration + editorial changes (remove redundant entries, sort entries. Additionally, added notes that RDF is using XML Schema 1.1 but a subset.

  • CHANGE: support relative path for SubmodelElement File, PathType: support complete URI scheme for files RFC2396 conformant to anyURI of XML Schema 1.0, Part 2 (#299)

  • CHANGE: Constraint AASd-116 globalAssetId + added note that globalAssetId should only be used in discovery functionality but not as value for SpecificAssetId/name (#390)

  • CHANGE: make EmbeddedDataSpecification/dataSpecification mandatory (as implemented in schemas) (#296)

  • CHANGE: Update on handling AASd-130 for schemas different to xml and reformulation of Constraint AASd-130 (#362)

  • CHANGE (Editorial): updated Change Logs of V3.0 w.r.t. Range: Range was set to experimental in V3.0

  • CHANGE (Editorial, the schemas implemented it like this) Annex UML Tables: "0..*" or "0..3" etc. means that the list may be either not available (optional) or the list is not empty. (#418)

  • CHANGE (Editorial, the schemas implemented it like this, table was correct) Update Figure containing Resource: Resource/path has cardinality 1 and Resource/contentType has cardinality 0..1 (#438)

Other Bugfixes:

  • (Editorial) Fix Figure Logical Model for Keys of References (add value Referable to AASReferables, remove Referable from AasReferableNonIdentifiables (enumeration table were correct) (used in Constraints only).

  • (Editorial) MultiLanguageNameType inconsistent description, maxLength=128 (schemata were correct) (#313)

  • (Editorial) HasKind/kind explanatory text: use template, not type (#313)

  • (Editorial) Qualifier/Kind changed to Qualifier/kind (typo in table, UML and schema correct)

  • (Editorial) BasicEventElement/Direction and BasicEventElement/State changed to BasicEventElement/direction and BasicEventElement/state typo in table, UML and schema correct)

  • Fix figure for DataTypeDefXsd: ordering was not correct, xs:float moved to its place

  • (Editorial) fix figure "Association" in Annex for UML (#328)

  • (Editorial) change recommendation to use a global reference to use an external reference, same for externalSubjectId: it is an external reference.

  • (Editorial) JSON and XML Schema references to GitHub admin-shell-io reformulated

  • (Editorial) correct Figure 23 Metamodel of an AssetAdministrationShell: arrow removed from association between Submodel and AssetAdministrationShell

  • (Editorial) update deprecated web links

  • (Editorial) correct information in Changes V3.0 vs. V3.0RC02 w.r.t. VersionType and RevisionType

  • Update links and names of documents in Bibliography

Metamodel Changes V3.0.1 vs. V3.0

Table 4. Changes in Metamodel
Nc V3.1 Change w.r.t. V3.0 Comment

(x)

BasicEventElement/Direction

(bugfix in Text only) attribute starts with small letter

(x)

BasicEventElement/State

(bugfix in Text only) attribute starts with small letter

x

DataTypeDefXsd

BUGFIX: Remove xs:yearMonthDuration from enumeration

Updated links to XML Schema 1.0 (not 1.1)

(x)

EmbeddedDataSpecification/dataSpecification

(bugfix in Text only) now mandatory

File/value

Type was extended, see PathType

(x)

MultiLanguageNameType

(bugfix in Text only) maxLength=128 (as derived and implemented)

PathType

string instead of Identifier but with same length constraints

extend data type to support complete URI scheme for files RFC2396

(x)

Qualifier/Kind

(bugfix in Text only) attribute starts with small letter

Resource/path

Type was extended, see PathType

Table 5. New, Changed or Removed Constraints
Nc V3.0 vs. V2.0.1 New, Update, Removed, Reformulated Comment

x

AASd-116

Update

Constraint AASd-116: "globalAssetId" (case-insensitive) is a reserved key. If used as value for SpecificAssetId/name, SpecificAssetId/value shall be identical to AssetInformation/globalAssetId.

to

Constraint AASd-116: "globalAssetId" (case-insensitive) is a reserved key for SpecificAssetId/name with the semantics as defined in https://admin-shell.io/aas/3/0/AssetInformation/globalAssetId.

AASd-130

Reformulated

Constraint AASd-130: an attribute with data type "string" shall consist of these characters only: ^[\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u00010000-\u0010FFFF]*$.

to

Constraint AASd-130: An attribute with data type "string" shall be restricted to the characters as defined in XML Schema 1.0, i.e. the string shall consist of these characters only: ^[\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u00010000-\u0010FFFF]*$.

Changes V3.0 vs. V2.0.1

Major Changes:

  • Document split into several documents: Part 1 on metamodel of the AAS (this document), Part 5 on the aasx package exchange format, Part 3 series on the predefined data specifications, and Part 4 (security)

  • CHANGED: Split of SubmodelElementCollection into SubmodelElementList (with orderRelevant) and SubmodelElementCollection

  • CHANGED: Reference type and referredSemanticId added to Reference; Local and Parent attributes removed from Reference. Logical enumeration concept updated. Some renaming and some new enumerations. Constraint added for references. Grammar for text serialization updated.

  • CHANGED: idType from Identifier removed, ID now string

  • CHANGED: idShort of Referable now optional + Constraints added with respect to ID and idShort, includes that idShort of Submodels etc. no longer need to be unique in the context of an AssetAdministrationShell

  • CHANGED: semanticId no longer mandatory but recommended for SubmodelElement. semanticId now recommended not only for submodel instance but also for submodel template

  • NEW: supplemental Semantic IDs

  • CHANGED: SubmodelElements do no longer inherit from HasKind, only Submodel has distinction between submodel template or submodel instance (including update of tAAS-#18 and -#19)

  • CHANGED: Revised concept on handling of Asset and assetIdentificationModel (assetInformation), Asset removed, no Asset/billOfMaterial any longer. Specific asset IDs added.

  • CHANGED: Attributes with type "string" were substituted by string types with length restrictions + some more constraints on string handling. LangStringSet handling updated.

  • REMOVED: ConceptDictionaries removed, no longer supported

  • REMOVED: Views removed, no longer supported

  • NEW: Events now experimental parts of normative part (including renaming and smaller changes)

  • NEW: Besides type assets and instance assets, assets for which this kind of classification is not applicable are also supported (conformant to IEC 63278-1)

  • REMOVED: Security attribute removed from Asset Administration Shell, Access Control remains part of the specification

  • ENHANCED: DataTypeIEC61360 extended with values for IRI, IRDI, BLOB, FILE + corresponding new constraints added

  • CHANGED: Handling of attributes with xsd-related types like DataTypeDef. New types introduced.

  • NEW: hasExtensions introduced

  • CHANGED: In some mappings or serializations, the type "Reference" is converted into a single string. In this case, it is now required (and not only recommended) to use the defined string serialization.

  • CHANGED: Extracted and not part of this specification any longer; mapping rules for different serializations + Schemata + Example in different serializations

  • CHANGED: Referable/category set to <<Deprecated>>

  • CHANGED: Range set to <<Experimental>>

  • NEW: Besides <<Deprecated>>, new stereotype <<Experimental>> introduced

  • NEW: Qualifier/kind introduced (ValueQualifier, TemplateQualifier, ConceptQualifier)

  • CHANGED: Terms and Definitions updated to be conformant to IEC 63278-1 DRAFT, July 2022 (note: this document contains more terms and definitions than IEC 63278-1 and vice versa: not all terms and definitions from IEC 63278-1 are included). Definition of view removed. Definition of service added from Part 2.

  • CHANGED: Description of ModellingKind

  • Parent attribute in Referables removed

  • NEW: Two new terms introduced: coded value and explicit value

  • CHANGED: Updated grammar on how to define semantic identifiers for metamodel elements of this specification

  • CHANGED: Blob type changed from byte[0..*] to base64Binary

  • NEW: Appendix for Backus-Naur form (BNF) + update of all grammars using BNF and variants so that they are using consistent grammar language

  • NEW: Clause on embedded data specifications

  • EDITORIAL: Text updated, no kind column any longer in class tables, instead notation of ModelReference<{Referable}>. New table for Primitives/Data Types

  • EDITORIAL: New clause "Introduction"

  • EDITORIAL: New clause "Matching strategies for semantic identifiers"

  • EDITORIAL (REMOVED): Clause on Tooling and Open Source removed

  • EDITORIAL: Vector graphics

  • NEW: Constraints implicitly contained in text were formalized and numbered (normative)

  • NEW: Environment explicitly part of UML (was part of serializations from the beginning)

Bugfixes:

  • Corrected Japanese example for xd:string

  • HasDataSpecification/embeddedDataSpecs 0..* not 0..1

  • Qualifier is and never was abstract (Constraint was), table was correct, UML corrected

  • Correct AASd-051: VIEW no longer supported

  • Type of SubmodelElementList/typeValueListElement corrected to AasSubmodelElements (before SubmodelElementElements

  • Missing table for enumeration ReferenceTypes added

  • Bugfix table specifications w.r.t. kind of attribute (from aggr to attr – column kind was removed, see above)

Smaller changes:

  • EDITORIAL: Qualifier description updated

  • EDITORIAL: Reformulation of constraints dealing with References and Key/type

  • EDITORIAL: Examples now with https: and not http:

  • EDITORIAL: Footnotes reused

  • EDITORIAL: Added explanation for annotated relationship elements

  • EDITORIAL: Asset type and asset instance now type asset and instance asset (conformant to IEC 63278-1)

  • EDITORIAL: example for langString serialization changed (table 6)

Metamodel Changes V3.0 vs. V2.0.1

Table 6. Changes
Nc V3.0 Change w.r.t. V2.0.1 Comment

anySimpleTypeDef

Type removed, was no longer used in any class definition, was mentioned in text only.

x

Asset

Removed, asset referenced via AssetInformation/globalAssetId only

x

AssetAdministrationShell/asset

Removed, substituted by AssetAdministrationShell/assetInformation (but no reference any longer, instead now aggregation)

x

AssetAdministrationShell/conceptDictionaries

Removed

x

AssetAdministrationShell/security

Removed

Note: Security is still part of the Asset Administration Shell, but the Asset Administration Shell and its elements are referenced from Security.

x

AssetAdministrationShell/view

Removed, Views no longer supported

AssetKind/Instance

Updated description of value "Instance" of enumeration "AssetKind" conformant to IEC 63278-1

AssetKind/Type

Updated description of value "Type" of enumeration "AssetKind" conformant to IEC 63278-1

x

BasicEvent

Renamed to BasicEventElement and set to <<Experimental>>

x[2]

BlobType

Primitive changed from "group of bytes" to Base64Binary

x

ConceptDictionary

Removed

x

Constraint

Abstract class removed. Formula now used in Security part only

x

DataSpecification

No longer inherits from Identifiable. However, same attribute names and types

x

DataSpecification/description

Type changed from LangStringSet to MultiLanguageTextType, thus adding a length constraint

DataSpecificationContent

Stereotype <<Template>> added

(x)

DataTypeDef

Removed and split into DataTypeDefXsd and DataTypeDefRdf. Some types excluded and not supported because now XML Schema 1.0 reference
+ Before: just string allowing any xsd simple type as string
+ + added prefix xs: or rdf:, resp., to every value in enumeration

x

Entity/asset

Removed, substituted by Entity/globalAssetId and Entity/specificAssetId

x

Event

Renamed to EventElement

x

File/mimeType

Renamed to contentType + Type changed from MimeType to ContentType

x

Formula

Now abstract class

Formula now used in Security part only

x

HasKind/kind

Type changed from ModelingKind to ModellingKind

x

Identifiable/identification

Removed
+ Substituted by Identifiable/id

x

IdentifiableElements

Renamed to AasIdentifiables

x

Identifier

Type changed

Before struct class with two attributes: id and idType. Now string data type only.

Maximum length defined: 2,000 characters

IdentifierType

Enumeration removed because no idType any longer

x

Key/idType

removed

x

Key/local

Local attribute removed.

x

Key/value

Type changed from string to Identifier, thus adding a length constraint

(x)

KeyElements

Renamed to KeyTypes

The elements remain, except for new SubmodelElementList, and renamed submodel elements Event and BasicEvent to EventElement and BasicEventElement

KeyType

Enumeration removed because no Key/idType any longer

LocalKeyType

Enumeration removed because no Key/idType any longer

x

MimeType

Type name changed to ContentType

x

MultiLanguageProperty/value

Type changed from LangStringSet to MultiLanguageTextType, thus adding a length constraint

x

PathType

Same as Identifier, i.e. length constraint added

Property/valueType

Type changed from DataTypeDef to DataTypeDefXsd

x

Qualifiable/qualifier

Type changed from Constraint to Qualifier

Qualifier

No longer inherits from abstract class "Constraint"

Qualifier/valueType

Type changed from DataTypeDef to DataTypeDefXsd

x

QualifierType

Type changed from string to NameType (i.e. length constraint added)

Range

set to <<Experimental>>

Range/valueType

Type changed from DataTypeDef to DataTypeDefXsd

x

Referable/category

Type changed from string to NameType (i.e. length constraint added)

Set to deprecated

x

Referable/description

Type changed from string to MultiLanguageTextType, thus adding length constraint

Referable/idShort

Now optional, was mandatory

Type changed from string to NameType (i.e. length constraint added)

x

Referable/parent

Parent attribute removed.

x

ReferableElement/BasicEvent

Renamed to BasicEventElement

Now part of AasSubmodelElements

x

ReferableElements

Substituted with enumeration AasSubmodelElements and AasIdentifiables

x

ReferableElements/AccessPermissionRule

Removed from Enumeration, AccessPermissionRule is not referable any longer

Not part of new AasReferableNonIdentifiables

x

ReferableElements/Event

Renamed to EventElement

Now part of AasSubmodelElements

x

ReferenceTypes/GlobalReference

Renamed to ExternalReference

RelationshipElement/first

Type changes from model reference Referable to Reference (global or model reference)

RelationshipElement/second

Type changes from model reference Referable to Reference (global or model reference)

x[1]

SubmodelElement/kind

Removed. SubmodelElement no longer inherits from HasKind

ValueDataType

Before as specified via DataTypeDef, now any xsd atomic type as specified via DataTypeDefXsd

x

View

Removed

Table 7. New Elements in Metamodel
New Elements V3.0 vs V2.0.1 Comment

AasIdentifiables

New enumeration used for References, includes abstract Identifiable
+ Before: Identifiables

AasReferableNonIdentifiables

New enumeration used for References

AasReferables

New enumeration used for References, includes abstract Referable

AasSubmodelElements

New enumeration used for References
+ Before: ReferableElements

AdministrativeInformation/creator

New optional attribute

AdministrativeInformation/templateId

New optional attribute

x

AssetAdministrationShell/assetInformation

Substitute for AssetAdministrationShell/asset; no reference any longer, instead aggregation

AssetInformation

with attributes/functionality from former class Asset because not specific to Asset but AAS

AssetInformation/assetKind

Former Asset/assetKind

AssetInformation/assetType

New optional attribute

AssetInformation/globalAssetId

Former Asset/identification/id

AssetInformation/specificAssetId

Former Asset/assetIdentificationModel

AssetInformation/thumbnail

Optional Attribute of new class AssetInformation that was not available in Asset class before

AssetKind/NotApplicable

New enumeration value

BasicEventElement

Former BasicEvent
+ New <<Experimental>> submodel element for events

BasicEventElement/direction

Was part of non-normative part before

BasicEventElement/lastUpdate

Was part of non-normative part before

BasicEventElement/maxInterval

Was part of non-normative part before
Type changed from dateTime to duration

BasicEventElement/messageBroker

Was part of non-normative part before

BasicEventElement/messageTopic

Was part of non-normative part before

BasicEventElement/minInterval

Was part of non-normative part before
Type changed from dateTime to duration

BasicEventElement/observed

Former name: BasicEvent/observed

BasicEventElement/state

Was part of non-normative part before

ContentType

Former name: MimeType
Maximum length defined: 100 characters

DataTypeDefRdf

Enumeration for types of Rdf + added prefix rdf: to every value in enumeration

DataTypeDefXsd

Enumeration that corresponds to anySimpleTypes of XML Schema 1.0
+ + added prefix xs: to every value in enumeration

dateTimeStamp

New data type for metamodel as used in EventPayload

DataSpecification/administration

Was inherited before by Identifiable

DataSpecification/id

Was inherited before by Identifiable

DataSpecification/description

Was inherited before by Identifiable

Direction

New Enumeration for BasicEventElement

Entity/globalAssetId

Former Entity/asset was split into globalAssetId and specificAssetId

Entity/specificAssetId

Former Entity/asset was split into globalAssetId and specificAssetId

Environment

New class for entry point for Asset Administration Shells, submodels and concept descriptions.

EventElement

Former name: Event
Set to <<Experimental>>

EventPayload

New experimental class for event payload
Was part of non-normative part before

EventPayload/observableSemanticId

Was part of non-normative part before

EventPayload/payload

Was part of non-normative part before
Type changed from string to BlobType

EventPayload/source

Was part of non-normative part before
Type changed from ModelReference(Referable) to ModelReference(EventElement)

EventPayload/sourceSemanticId

Was part of non-normative part before

EventPayload/subjectId

Was part of non-normative part before

EventPayload/timestamp

Was part of non-normative part before
Type changed from dateTimeStamp to dateTime because restriction to types of XML Schema 1.0 that does not contain dateTimeStamp. dateTimeStamp is a derived type of dateTime in XML Schema 1.1

EventPayload/topic

Was part of non-normative part before
Type changed from string to MessageTopicType (i.e. length constraint added, maximum 255 characters)

Extension

New class, part of new abstract class HasExtensions

Extension/name

Extension/refersTo

Extension/valueType

Extension/valueType

File/contentType

Former File/mimeType

FragmentKeys

New enumeration used for References

GenericFragmentKeys

New enumeration used for References

GenericGloballyIdentifiers

New enumeration used for References

GloballyIdentifiables

New enumeration used for References

HasExtensions

New abstract class, inherited by Referable

HasSemantics/supplementalSemanticId

New attribute

Identifiable/id

Substitute for Identifiable/identification

KeyTypes

Before: KeyElements
+ New submodel element SubmodelElementList added, renamed submodel elements Event and BasicEvent to EventElement and BasicEventElement

LabelType

New string type with maximum 64 characters

MessageTopicType

New string type with maximum 255 characters

ModellingKind

Renamed enumeration, before: ModelingKind

MultiLanguageNameType

Substitute for LangStringSet with short multi-language strings, maximum 64 characters

MultiLanguageTextType

Substitute for LangStringSet with long multi-language strings, maximum 64 characters

NameType

New string type with maximum 128 characters

Qualifier/kind

New experimental attribute for Qualifier

QualifierKind

New enumeration for Qualifier/kind

Referable/displayName

New optional attribute for all referables

Reference/referredSemanticId

New optional attribute for Reference

Reference/type

New mandatory attribute for Reference

ReferenceTypes

New enumeration for Reference/type

ReferenceTypes/ExternalReference

Enumeration value, was named GlobalReference before

Resource

new type for AssetInformation/defaultThumbnail

ShortNameType

New string type with maximum 64 characters

SpecificAssetId

New type for AssetInformation/specificAssetId

SpecificAssetId/externalSubjectId

See Attribute Based Access Control (ABAC) for subject concept

SpecificAssetId/name

New type for AssetInformation/specificAssetId

SpecificAssetId/value

New type for AssetInformation/specificAssetId

StateOfEvent

New experimental enumeration for BasicEventElement

SubmodelElementElements

Enumeration for submodel elements (split of ReferableElements)

SubmodelElementList

Before SubmodelElementCollection was used for lists and collections

SubmodelElementList/orderRelevant

Similar to SubmodelElementCollection/ordered

SubmodelElementList/semanticIdListElement

Attribute of new class SubmodelElementList

SubmodelElementList/typeValueListElement

Attribute of new class SubmodelElementList

SubmodelElementList/value

Similar to SubmodelElementCollection/value but ordered and with all elements having the same semanticId

SubmodelElementList/valueTypeListElement

Attribute of new class SubmodelElementList

Table 8. New, Changed or Removed Constraints
Nc V3.0 vs. V2.0.1 New, Update, Removed, Reformulated Comment

AASd-001

Removed

Constraint AASd-001: In case a referable element is not an identifiable element, this ID is mandatory and used for referring to the element in its name space.

For namespace part see AASd-022

AASd-002

Update

Regular expression added

Constraint AASd-002: idShort of Referables shall only feature letters, digits, underscore (""); starting mandatory with a letter, i.e. [a-zA-Z][a-zA-Z0-9]*.

AASd-003

Removed

See AASd-022

Constraint AASd-003: idShort of Referables within the same name space shall be unique (case-sensitive).

AASd-006

Reformulated

Constraint AASd-006: If both, the value and the valueId of a Qualifier are present, the value needs to be identical to the value of the referenced coded value in Qualifier/valueId.

AASd-005

Reformulated

Constraint AASd-005: If AdministrativeInformation/version is not specified, AdministrativeInformation/revision shall also be unspecified. This means that a revision requires a version. If there is no version, there is no revision either. Revision is optional.

AASd-007

Reformulated

Constraint AASd-007: If both the Property/value and the Property/valueId are present, the value of Property/value needs to be identical to the value of the referenced coded value in Property/valueId.

AASd-008

Removed

Constraint AASd-008: The submodel element value of an operation variable shall be of kind=Template.

AASd-010

Renamed

Renamed and reformulated to AASs-010

Not part of this document any longer but of part security

AASd-011

Renamed

Renamed and reformulated to AASs-011

Not part of this document any longer but of part security

AASd-012

Reformulated

Constraint AASd-012: If both the MultiLanguageProperty/value and the MultiLanguageProperty/valueId are present, the meaning must be the same for each string in a specific language, as specified in MultiLanguageProperty/valueId

AASd-014

Reformulated

Entity was changed

Constraint AASd-014: Either the attribute globalAssetId or specificAssetId of an Entity must be set if Entity/entityType is set to "SelfManagedEntity". Otherwise, they do not exist.

AASd-115

Reformulated

Constraint AASd-115: If a first level child element in a SubmodelElementList does not specify a semanticId, the value is assumed to be identical to SubmodelElementList/semanticIdListElement.

AASd-118

Reformulated

Constraint AASd-118: If a supplemental semantic ID (HasSemantics/supplementalSemanticId) is defined, there shall also be a main semantic ID (HasSemantics/semanticId).

AASd-119

Reformulated

Constraint AASd-119: If any Qualifier/kind value of a Qualifiable/qualifier is equal to TemplateQualifier and the qualified element inherits from "hasKind", the qualified element shall be of kind Template (HasKind/kind = "Template").

(x)

AASd-020

New

Constraint AASd-020: The value of Property/value shall be consistent to the data type as defined in Property/valueType.

(x)

AASd-021

New

Constraint AASd-021: Every qualifiable can only have one qualifier with the same Qualifier/type.

AASd-022

New

Added case-sensitivity for idShort (since AASd-003 was removed)

Constraint AASd-022: idShort of non-identifiable referables within the same name space shall be unique (case-sensitive)

AASd-129

Reformulated

Constraint AASd-129: If any Qualifier/kind value of a SubmodelElement/qualifier (attribute qualifier inherited via Qualifiable) is equal to TemplateQualifier, the submodel element shall be part of a submodel template, i.e. a Submodel with Submodel/kind (attribute kind inherited via HasKind) value equal to Template.

AASd-077

New

Constraint AASd-077: The name of an extension (Extension/name) within HasExtensions needs to be unique.

AASd-090

New

Constraint AASd-090: For data elements, category (inherited by Referable) shall be one of the following values: CONSTANT, PARAMETER or VARIABLE. Default: VARIABLE

AASd-107

New

Constraint AASd-107: If a first level child element in a SubmodelElementList has a semanticId, it shall be identical to SubmodelElementList/semanticIdListElement.

AASd-108

New

Constraint AASd-108: All first level child elements in a SubmodelElementList shall have the same submodel element type as specified in SubmodelElementList/typeValueListElement.

AASd-109

New

Constraint AASd-109: If SubmodelElementList/typeValueListElement is equal to Property or Range, SubmodelElementList/valueTypeListElement shall be set and all first level child elements in the SubmodelElementList shall have the value type as specified in SubmodelElementList/valueTypeListElement.

AASd-114

New

Constraint AASd-114: If two first level child elements in a SubmodelElementList have a semanticId, they shall be identical.

AASd-115

New

Constraint AASd-115: If a first level child element in a SubmodelElementList does not specify a semanticId, the value is assumed to be identical to SubmodelElementList/semanticIdListElement.

AASd-116

New

Constraint AASd-116: "globalAssetId" (case-insensitive) is a reserved key. If used as value for SpecificAssetId/name, IdentifierKeyValuePair/value shall be identical to AssetInformation/globalAssetId.

AASd-117

New

Constraint AASd-117: idShort of non-identifiable Referables not being a direct child of a SubmodelElementList shall be specified.

AASd-118

New

Because of new attribute supplementalSemanticId for HasSemantics

Constraint AASd-118: If a supplemental semantic ID (HasSemantics/supplementalSemanticId) is defined, there shall also be a main semantic ID (HasSemantics/semanticId).

AASd-119

New

New Qualifier/kind attribute

Constraint AASd-119: If any Qualifier/kind value of a Qualifiable/qualifier is equal to TemplateQualifier and the qualified element inherits from "hasKind", the qualified element shall be of kind Template (HasKind/kind = "Template").

AASd-120

New

Constraint AASd-120: idShort of submodel elements being a direct child of a SubmodelElementList shall not be specified.

AASd-121

New

Constraint AASd-121: For References, the value of Key/type of the first key of Reference/keys shall be one of GloballyIdentifiables.

AASd-122

New

Constraint AASd-122: For external references, i.e. References with Reference/type = ExternalReference, the value of Key/type of the first key of Reference/keys shall be one of GenericGloballyIdentifiables.

AASd-123

New

Constraint AASd-123: For model references, i.e. References with Reference/type = ModelReference, the value of Key/type of the first key of Reference/keys shall be one of AasIdentifiables.

AASd-124

New

Constraint AASd-124: For external references, i.e. References with Reference/type = ExternalReference, the last key of Reference/keys shall be either one of GenericGloballyIdentifiables or one of GenericFragmentKeys.

AASd-125

New

Constraint AASd-125: For model references, i.e. References with Reference/type = ModelReference with more than one key in Reference/keys, the value of Key/type of each of the keys following the first key of Reference/keys shall be one of FragmentKeys.

AASd-126

New

Constraint AASd-126: For model references, i.e. References with Reference/type = ModelReference with more than one key in Reference/keys, the value of Key/type of the last Key in the reference key chain may be one of GenericFragmentKeys, or no key at all shall have a value out of GenericFragmentKeys.

AASd-127

New

Constraint AASd-127: For model references, i.e. References with Reference/type = ModelReference with more than one key in Reference/keys, a key with Key/type FragmentReference shall be preceded by a key with Key/type File or Blob. All other AAS fragments, i.e. Key/type values out of AasSubmodelElements, do not support fragments.

AAS-128

New

Constraint AASd-128: For model references, i.e. References with Reference/type = ModelReference, the Key/value of a Key preceded by a Key with Key/type=SubmodelElementList is an integer number denoting the position in the array of the submodel element list.

AASd-129

New

Necessary as supplement for AASd-119 since SubmodelElement does not inherit from HasKind any longer

Constraint AASd-129: If any Qualifier/kind value of a SubmodelElement/qualifier (attribute qualifier inherited via Qualifiable) is equal to TemplateQualifier, the submodel element shall be part of a submodel template, i.e. a Submodel with Submodel/kind (attribute kind inherited via HasKind) value equal to Template.

x

AASd-130

New

ensures that encoding is possible and interoperability between different serializations is possible.

Constraint AASd-130: An attribute with data type "string" shall consist of these characters only: ^[\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u00010000-\u0010FFFF]*$.

(x)

AASd-131

New

Constraint AASd-131: The globalAssetId or at least one specificAssetId shall be defined for AssetInformation.

(x)

AASd-133

New

Constraint AASd-133: SpecificAssetId/externalSubjectId shall be a global reference, i.e. Reference/type = GlobalReference.

(x)

AASd-134

New

Constraint AASd-134: For an Operation, the idShort of all inputVariable/value, outputVariable/value and inoutputVariable/value shall be unique.

x

AASd-135

New

Constraint AASd-135: AdministrativeInformation/version shall have a length of maximum 4 characters.

x

AASd-136

New

Constraint AASd-136: AdministrativeInformation/revision shall have a length of maximum 4 characters.

Changes V3.0 vs. V3.0RC02

Major changes:

  • Document split into several documents: Part 1 on metamodel of the AAS (this document), Part 5 on the aasx package exchange format, Part 3 series on the predefined data specifications, and Part 4 (security)

  • CHANGED: SubmodelElements do not inherit from HasKind any longer, only Submodel has distinction between submodel template or submodel instance (including update of tAAS-#18 and -#19)

  • NEW: New Constraint for valid strings (AASd-130)

  • NEW: Length constraints added for many string attributes, in most cases by introducing new string types

  • CHANGED: renamed ReferenceTypes/GlobalReference to ReferenceTypes/ExternalReference (text serialization of references and constraints updated accordingly)

  • CHANGED: Type of globalAsset is now Identifier and not Reference (AssetInformation and Entity)

  • CHANGED: Updated text for submodel element collections

  • EDITORIAL: Examples for matching references

  • CHANGED: Terms and definitions updated to be conformant to IEC 63278-1 DRAFT, July 2022 (note: this document contains more terms and definitions than IEC 63278-1 and vice versa; not all terms and definitions from IEC 63278-1 are included). Definition of view removed. Definition of service added from Part 2.

  • CHANGED: Description of ModellingKind

  • NEW: Appendix for Backus-Naur form (BNF), including update of all grammars using BNF and variants for consistent grammar language usage

  • ENHANCED: Extended grammar (referredSemanticId) for text serialization of <Reference>

  • CHANGED: Grammar on how to define semantic identifiers for metamodel elements of this specification: <Character> definition in <Namespace> (before "an unreserved character permitted by DIN SPEC 91406", now regular expression [a..zA..Z-])

  • CHANGED: In some mappings or serializations, the type "Reference" is converted into a single string. In this case, it is now required (instead of just recommended) to use the defined string serialization.

  • CHANGED: Type of BlobType changed from "group of bytes" to "base64Binary"

  • NEW: Two new terms introduced: coded value and explicit value

  • REMOVED: Referable/checksum

  • CHANGE: EventElements including all classes introduced for Events set to <<Experimental>>

  • CHANGE: Referable/category set to <<Deprecated>>

  • CHANGE: Range set to <<Experimental>>

  • CHANGE: AdministrativeInformation Class, not data type

  • NEW: New stereotype <<Experimental>> introduced besides <<Deprecated>>

  • CHANGED: Qualifier/kind set to <<Experimental>>

  • CHANGED: enumeration DataTypeDefXsd for data types for valueType attribute (e..g. in Property) as well as enumeration DataTypeDefRdf (for consistency) + restriction to XML Schema 1.0 (not 1.1.)

  • EDITORIAL (REMOVED): Clause on Tooling and Open Source

  • EDITORIAL: vector graphics

  • NEW: Besides type assets and instance assets now also assets for which this kind of classification is not applicable are supported (conformant to IEC 63278-1)

Bugfixes: * Corrected Japanese example for xd:string * UML figure for HasExtensions did not show inheritance (table for Extension was correct) * HasDataSpecification/embeddedDataSpecs 0..* not 0..1 * Qualifier is and never was abstract (Constraint was), table was correct, UML corrected * Correct AASd-051: VIEW no longer supported * Type of SubmodelElementList/typeValueListElement corrected to AasSubmodelElements (before SubmodelElementElements) * Correct text serialization of <Reference> * Added missing table for enumeration ReferenceTypes * AASd-117 it is not the SubmodelElementList having no idShort but its childs * KeyTypes Table: set of AasReferables added

Smaller changes:

  • EDITORIAL: Qualifier description updated

  • EDITORIAL: Reformulation of constraints dealing with References and Key/type

  • EDITORIAL: Examples now with https: and not http:

  • EDITORIAL: Footnotes reused

  • EDITORIAL: Added explanation for annotated relationship elements

  • EDITORIAL: asset type and asset instance now type asset and instance asset (conformant to IEC 63278-1)

  • EDITORIAL: example for langString serialization changed (table 6)

Metamodel Changes V3.0 vs. V3.0RC02

Table 9. Changes
nc V3.0 Change w.r.t. V3.0RC02 Comment

AdministrativeInformation

Stereotype <<dataType>> removed

AssetInformation/externalSubjectId

Not mandatory any longer; now optional

x

AssetInformation/globalAssetId

Type changed from Reference to Identifier

AssetKind/Type

Updated description of value "Type" of enumeration "AssetKind" conformant to IEC 63278-1

AssetKind/Instance

Updated description of value "Instance" of enumeration "AssetKind" - conformant to IEC 63278-1

BasicEventElement

Set to <<Experimental>>

x

BasicEventElement/messageTopic

Type changed from string to MessageTopicType (i.e. length constraint added, maximum 255 characters)

x

BasicEventElement/minInterval

Type changed from dateTime to duration

x

BasicEventElement/maxInterval

Type changed from dateTime to duration

(x)[1]

Primitive changed from "group of bytes" to Base64Binary

ContentType

Maximum length defined: 100 characters

decimalBuildInTypes

Removed

durationBuildInTypes

Removed

x

DataSpecification/description

Type changed from LangStringSet to MultiLanguageTextType; length constraint added

x

DataTypeDefRdf/langString

Added prefix "rdf:", i.e. change from langString to rdf:langString

x

DateTypeDefXsd/dateTimeStamp

Removed since not part of XML Schema 1.0

x

DataTypeDefXsd/dayTimeDuration

Removed since not part of XML Schema 1.0

x

DataTypeDefXsd/yearMonthDuration

Removed since not part of XML Schema 1.0

Direction

Set to <<Experimental>>

x

Entity/globalAssetId

Type changed from Reference to Identifier

x

Extension/name

Type changed from string to NameType; length constraint added

EventElement

Set to <<Experimental>>

EventElement/duration

Type changed from dateTimeStamp to dateTime

EventPayload

Set to <<Experimental>>

EventPayload/payload

Type changed from string to BlobType

EventPayload/source

Type changed from ModelReference(Referable) to ModelReference(EventElement)

EventPayload/timestamp

Type changed from dateTimeStamp to dateTime because restriction to types of XML Schema 1.0 that does not contain dateTimeStamp. dateTimeStamp is a derived type of dateTime in XML Schema 1.1

EventPayload/topic

Type changed from string to MessageTopicType (i.e. length constraint added, maximum 255 characters)

x

HasKind/kind

Type changed from ModelingKind to ModellingKind

x

Identifier

Maximum length defined: 2,000 characters

x

Key/value

Type changed from string to Identifier; length constraint added

x

MultiLanguageProperty/value

Type changed from LangStringSet to MultiLanguageTextType; length constraint added

x

PathType

Same as Identifier; length constraint added

PrimitiveTypes

Removed

Qualifier/kind

Set to <<Experimental>>

x

QualifierType

Type changed from string to NameType; length constraint added

rdfBuildInTypes

Removed

Range

Set to <<Experimental>>

x

Referable/category

Type changed from string to NameType; length constraint added

Category set to deprecated

x

Referable/checksum

Removed

x

Referable/displayName

Type changed from string to MultiLanguageNameType; length constraint added

Text how to select a suitable display name removed; now explained in Table 2

x

Referable/description

Type changed from string to MultiLanguageTextType; length constraint added

x

Referable/idShort

Type changed from string to NameType; length constraint added

x

ReferenceTypes/GlobalReference

Renamed to ExternalReference

Resource

Stereotype <<DataType>> removed.

StateOfEvent

Set to <<Experimental>>

x

SpecificAssetId/name

Type changed from string to LabelType (a string with length constraint)

x

SpecificAssetId/value

Type changed from string to Identifier (because of length constraint)

x[2]

SubmodelElement/kind

Removed. SubmodelElement does not inherit from HasKind any longer

Table 10. New Elements in Metamodel
nc V3.0 vs. V3.0RC02 New Elements Comment

AdministrativeInformation/creator

New optional attribute

AdministrativeInformation/templateId

New optional attribute

AssetInformation/assetType

New optional attribute

AssetKind/NotApplicable

New enumeration value

LabelType

New string type with maximum 64 characters

MessageTopicType

New string type with maximum 255 characters

ModellingKind

Renamed enumeration, before: ModelingKind

MultiLanguageNameType

Substitute for LangStringSet with short multi-language strings, maximum 64 characters

MultiLanguageTextType

Substitute for LangStringSet with long multi-language strings, maximum 64 characters

NameType

New string type with maximum 128 characters

ReferenceTypes/ExternalReference

Enumeration value: before: GlobalReference

RevisionType

New type for AdministrativeInformation/revision with length constraints and regular expression

ShortNameType

New string type with maximum 64 characters

VersionType

New type for AdministrativeInformation/version with length constraints and regular expression

Table 11. New, Changed or Removed Constraints
Nc V3.0 vs. V3.0RC02 New, Update, Removed, Reformulated Comment

EDITORIAL

The following constraints were also updated with minor editorial changes:

Constraints AASd-121, AASd-122, AASd-123, AASd-124, AASd-125, AASd-126, AASd-127, AASd-129

AASd-002

Reformulated

Now min length 1, before 2

Constraint AASd-002: idShort of Referables shall only feature letters, digits, underscore (""); starting mandatory with a letter, i.e. [a-zA-Z][a-zA-Z0-9]*.

AASd-003

Removed

See AASd-022

Constraint AASd-003: idShort of Referables within the same name space shall be unique (case-sensitive).

AASd-005

Reformulated

Constraint AASd-005: If AdministrativeInformation/version is not specified, AdministrativeInformation/revision shall also be unspecified. This means that a revision requires a version. If there is no version, there is no revision. Revision is optional.

AASd-006

Reformulated

Constraint AASd-006: If both, the value and the valueId of a Qualifier are present, the value needs to be identical to the value of the referenced coded value in Qualifier/valueId.

AASd-007

Reformulated

Constraint AASd-007: If both the Property/value and the Property/valueId are present, the value of Property/value needs to be identical to the value of the referenced coded value in Property/valueId.

AASd-012

Reformulated

Constraint AASd-012: if both the MultiLanguageProperty/value and the MultiLanguageProperty/valueId are present, the meaning must be the same for each string in a specific language, as specified in MultiLanguageProperty/valueId.

AASd-020

Reformulated

Constraint AASd-020: The value of Qualifier/value shall be consistent with the data type as defined in Qualifier/valueType.

AASd-022

Update

Added case-sensitivity for idShort (since AASd-003 was removed)

Constraint AASd-022: idShort of non-identifiable Referables within the same name space shall be unique (case-sensitive)

AASd-027

Removed

Not needed any longer since Type of idShort was changed to NameType and NameType has a maximum length of 128 characters

Constraint AASd-027: idShort of Referables shall have a maximum length of 128 characters

AASd-077

Reformulated

Constraint AASd-077: the name of an extension (Extension/name) within HasExtensions needs to be unique

AASd-100

Removed

Since new string types with length constraints were added, this constraint is no longer needed

Constraint AASd-100: An attribute with data type "string" is not allowed to be empty

AASd-109

Reformulated

Constraint AASd-109: If SubmodelElementList/typeValueListElement is equal to Property or Range, SubmodelElementList/valueTypeListElement shall be set and all first level child elements in the SubmodelElementList shall have the value type as specified in SubmodelElementList/valueTypeListElement.

AASd-115

Reformulated

Constraint AASd-115: If a first level child element in a SubmodelElementList does not specify a semanticId, the value is assumed to be identical to SubmodelElementList/semanticIdListElement.

AASd-117

Bugfix

Constraint AASd-117: idShort of non-identifiable Referables not being a direct child of a SubmodelElementList shall be specified.

AASd-118

Reformulated

Constraint AASd-118: If a supplemental semantic ID (HasSemantics/supplementalSemanticId) is defined, there shall also be a main semantic ID (HasSemantics/semanticId).

AASd-119

Reformulated

Constraint AASd-119: If any Qualifier/kind value of a Qualifiable/qualifier is equal to TemplateQualifier and the qualified element inherits from "hasKind", the qualified element shall be of kind Template (HasKind/kind = "Template").

AASd-120

Reformulated

Constraint AASd-120: idShort of submodel elements being a direct child of a SubmodelElementList shall not be specified.

AASd-121

Reformulated

Constraint AASd-121: For References the value of Key/type of the first key of Reference/keys shall be one of GloballyIdentifiables.

AASd-122

Reformulated

Constraint AASd-122: For external references, i.e. References with Reference/type = ExternalReference, the value of Key/type of the first key of Reference/keys shall be one of GenericGloballyIdentifiables.

AASd-123

Reformulated

Constraint AASd-123: For model references, i.e. References with Reference/type = ModelReference, the value of Key/type of the first key of Reference/keys shall be one of AasIdentifiables.

AASd-124

Reformulated

Constraint AASd-124: For external references, i.e. References with Reference/type = ExternalReference, the last key of Reference/keys shall be either one of GenericGloballyIdentifiables or one of GenericFragmentKeys.

AASd-125

Reformulated

Constraint AASd-125: For model references, i.e. References with Reference/type = ModelReference with more than one key in Reference/keys, the value of Key/type of each of the keys following the first key of Reference/keys shall be one of FragmentKeys.

AASd-126

Reformulated

Constraint AASd-126: For model references, i.e. References with Reference/type = ModelReference with more than one key in Reference/keys, the value of Key/type of the last Key in the reference key chain may be one of GenericFragmentKeys, or no key at all shall have a value out of GenericFragmentKeys.

AASd-127

Reformulated

Constraint AASd-127: For model references, i.e. References with Reference/type = ModelReference with more than one key in Reference/keys, a key with Key/type FragmentReference shall be preceded by a key with Key/type File or Blob. All other AAS fragments, i.e. Key/type values out of AasSubmodelElements, do not support fragments.

AASd-129

New

Necessary as supplement for AASd-119, since SubmodelElement does not inherit from HasKind any longer

Constraint AASd-129: If any Qualifier/kind value of a SubmodelElement/qualifier (attribute qualifier inherited via Qualifiable) is equal to TemplateQualifier, the submodel element shall be part of a submodel template, i.e. a Submodel with Submodel/kind (attribute kind inherited via HasKind) value to Template.

x

AASd-130

New

Ensures that encoding is possible and interoperability between different serializations is possible.

Constraint AASd-130: An attribute with data type "string" shall consist of these characters only: ^[\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u00010000-\u0010FFFF]*$.

(x)

AASd-131

New

Constraint AASd-131: The globalAssetId or at least one specificAssetId shall be defined for AssetInformation.

(x)

AASd-133

New

Constraint AASd-133: specificAssetId/externalSubjectId shall be a global reference, i.e. Reference/type = ExternalReference.

(x)

AASd-134

New

Constraint AASd-134: For an operation, the idShort of all inputVariable/value, outputVariable/value, and inoutputVariable/value shall be unique.

AASd-051

Removed

Since category is deprecated, this constraint was removed.

Views are no longer supported by metamodel

Constraint AASd-051: A ConceptDescription shall have one of the following categories: VALUE, PROPERTY, REFERENCE, DOCUMENT, CAPABILITY, RELATIONSHIP, COLLECTION, FUNCTION, EVENT, ENTITY, APPLICATION_CLASS, QUALIFIER. Default: PROPERTY.

Changes V3.0RC02 vs. V2.0.1

Metamodel Changes V3.0RC02 vs. V2.0.1 w/o Security Part

Note: if you already implemented the changes made in V3.0RC01, please refer to the corresponding clause in the annex. This annex is for readers familiar with V2.0.x only.

Major changes:

  • CHANGED: Split of SubmodelElementCollection into SubmodelElementList (with orderRelevant) and SubmodelElementCollection

  • CHANGED: Reference type and referredSemanticId added to Reference; Local and Parent attributes removed from Reference; logical enumeration concept updated. Some renaming and some new enumerations. Constraint for References.

  • CHANGED: Reference/type now as optional part of string serialization of reference

  • CHANGED: idType from identifier removed, ID now string

  • CHANGED: idShort of Referable now optional + Constraints added with respect to ID and idShort, includes that idShort of Submodels etc. no longer need to be unique in the context of an Asset Administration Shell

  • CHANGED: semanticId no longer mandatory for SubmodelElement

  • CHANGED: Revised concept on handling of Asset and assetIdentificationModel (assetInformation), Asset removed, no more Asset/billOfMaterial. any longer. Specific asset IDs added.

  • REMOVED: ConceptDictionaries removed, because no longer supported

  • REMOVED: Views removed, because no longer supported

  • NEW: Event and BasicEvent updated and renamed to EventElement and BasicEventElement

  • NEW: Checksum introduced for Referables

  • REMOVED: security attribute removed from Asset Administration Shell; access control remains part of the specification

  • ENHANCED: DataTypeIEC61360 extended with values for IRI, IRDI, BLOB, FILE + corresponding new constraints added

  • ENHANCED: Removed and split into DataTypeDefXsd and DataTypeDefRdf. Some types are excluded and not supported

  • CHANGED: Mapping rules for different serializations + schemata + example in different serializations extracted and no longer part of this specification

  • EDITORIAL: Text updated, no kind column any longer in class tables, instead notation of ModelReference<{Referable}>. New table for Primitives/Data Types

  • EDITORIAL: New clause "Introduction"

  • EDITORIAL: New clause "Matching strategies for semantic identifiers"

  • NEW: Constraints implicitly contained in text were formalized and numbered (normative)

  • NEW: Environment explicitly part of UML (was part of serializations from the beginning)

  • NEW: supplemental Semantic IDs

  • NEW: Qualifier/kind (TemplateQualifier, ConceptQualifier, ValueQualifier)

Bugfixes:

  • bugfix annotation AnnotatedRelationship is of type aggr and not ref* (diagram was correct)

  • bugfix specification of ValueList and ValueReferencePairType, no data types, normal classes

  • bugfix table specifications w.r.t. kind of attribute (from aggr to attr – column kind was removed, see above)

  • bugfix data type specification LangStringSet (no diagram and table any longer)

  • bugfix enumeration ReferableElements, no ConceptDictionary any longer + new elements like new submodel elements SubmodelElementList added.

Note: ReferableElements was substituted by AasSubmodelElements and Aas Identifiables.

  • Entity/globalAssetId diagram (table was correct): Type change from reference of Reference* to Reference

Table 12. Changes w/o Security
nc V3.0RC02 Change w.r.t. V2.0.1 Comment

AdministrativeInformation

Bugfix: Stereotype "DataType" added

AnnotatedRelationship/annotation

Bugfix: Type changed from ModelReference<DataElement> to DataElement

anySimpleTypeDef

Type removed, was no longer used in any class definition, was mentioned in text only

x

Asset

Removed, asset referenced via AssetInformation/globalAssetId only

x

AssetAdministrationShell/asset

Removed, substituted by AssetAdministrationShell/assetInformation (no reference any longer, instead now aggregation)

x

AssetAdministrationShell/conceptDictionaries

Removed

x

AssetAdministrationShell/security

Removed

Note: Security is still part of the Asset Administration Shell, but the Asset Administration Shell and its elements are referenced from Security.

AssetAdministrationShell/view

Removed, views no longer supported

x

BasicEvent

Renamed to BasicEventElement

x

ConceptDictionary

Removed

x

Constraint

Abstract class removed. Formula now used in Security part only

(x)

DataTypeDef

Removed and split into DataTypeDefXsd and DataTypeDefRdf; some types excluded and not supported (see notes in corresponding clause)

Before: just string allowing any xsd simple type as string

+ added prefix xs: or rdf:, resp. to every value in enumeration

x

Entity/asset

Removed, substituted by Entity/globalAssetId and Entity/specificAssetId

x

Event

Renamed to EventElement

x

Extension/refersTo

Type changed from Reference to ModelReference

x

Extension/valueType

Type changed from DataTypeDef to DataTypeDefXsd

x

File/mimeType

Renamed to contentType + Type changed from MimeType to ContentType

x

Formula

Now abstract class

Formula now used in Security part only

x

Formula/dependsOn

Removed, since formula language not yet defined

x

Identifiable/identification

Removed

Substituted by Identifiable/id

x

IdentifiableElements

Renamed to AasIdentifiables

x

Identifier

Type changed

Before struct class with two attributes: id and idType; now string data type only

IdentifierType

Enumeration removed, because no idType any longer

x

Key/idType

removed

x

Key/local

Local attribute removed

(x)

KeyElements

Renamed to KeyTypes

Note: the elements remain, except for new SubmodelElementList and renamed submodel elements Event and BasicEvent to EventElement and BasicEventElement

KeyType

Enumeration removed because no Key/idType any longer

LocalKeyType

Enumeration removed because no Key/idType any longer

x

MimeType

Type name changed to ContentType

Property/valueType

Type changed from DataTypeDef to DataTypeDefXsd

x

Qualifiable/qualifier

Type changed from Constraint to Qualifier

Qualifier

No longer inherits from abstract class "Constraint"

Qualifier/valueType

Type changed from DataTypeDef to DataTypeDefXsd

Range/valueType

Type changed from DataTypeDef to DataTypeDefXsd

Referable/idShort

Now optional, was mandatory

x

Referable/parent

Parent attribute removed

x

ReferableElements

Substituted with enumeration AasSubmodelElements and AasIdentifiables

x

ReferableElements/AccessPermissionRule

Removed from enumeration, AccessPermissionRule is no longer referable

Not part of new AasReferableNonIdentifiables

x

ReferableElement/BasicEvent

Renamed to BasicEventElement

Now part of AasSubmodelElements

(x)

ReferablesElements/ConceptDictionary

Bugfix: ConceptDictionary removed from enumeration, since ConceptDictionary no longer part of specification

Not part of new KeyTypes

x

ReferableElements/Event

Renamed to EventElement

Now part of AasSubmodelElements

RelationshipElement/first

Type changes from model reference Referable to Reference (global or model reference)

RelationshipElement/second

Type changes from model reference Referable to Reference (global or model reference)

ValueDataType

Before as specified via DataTypeDef, now any xsd atomic type as specified via DataTypeDefXsd

x

View

Removed

Table 13. New Elements in Metamodel w/o Security
nc V3.0RC02 vs. V2.0.1 New Elements Comment

AasSubmodelElements

New enumeration used for References

Before: ReferableElements

AasIdentifiables

New enumeration used for References, includes abstract Identifiable

Before: Identifiables

AasReferableNonIdentifiables

New enumeration used for References

AasReferables

New enumeration used for References, includes abstract Referable

x

AssetAdministrationShell/assetInformation

substitute for AssetAdministrationShell/asset; no reference any longer, instead now aggregation

AssetInformation

with attributes/functionality from former class Asset, because not specific to Asset but to AAS

AssetInformation/assetKind

Former Asset/assetKind

AssetInformation/globalAssetId

Former Asset/identification/id

AssetInformation/specificAssetId

Former Asset/assetIdentificationModel

AssetInformation/thumbnail

Optional Attribute of new class AssetInformation that was not available in Asset class before

BasicEventElement

Former name: BasicEvent

Was part of non-normative part before

BasicEventElement/direction

Former name: BasicEvent/observed

Was part of non-normative part before

BasicEventElement/lastUpdate

Was part of non-normative part before

BasicEventElement/messageBroker

Was part of non-normative part before

BasicEventElement/messageTopic

Was part of non-normative part before

BasicEventElement/minInterval

Was part of non-normative part before

BasicEventElement/maxInterval

Was part of non-normative part before

BasicEventElement/observed

Was part of non-normative part before

BasicEventElement/state

Was part of non-normative part before

ContentType

Former name: MimeType

dateTimeStamp

New data type for metamodel as used in EventPayload

DataTypeDefRdf

Enumeration for types of Rdf + prefix rdf: added to every value in enumeration

DataTypeDefXsd

Enumeration consisting of enumerations

decimalBuildInTypes, durationBuildInTypes, PrimitiveTypes that correspond to anySimpleTypes of xsd. + added prefix xs: to every value in enumeration

Direction

New enumeration for BasicEventElement

Environment

New class for entry point for Asset Administration Shells, submodels and concept descriptions

EventElement

Former name: Event

EventPayload

New class for event payload

EventPayload/observableSemanticId

Was part of non-normative part before

EventPayload/payload

Was part of non-normative part before

EventPayload/source

Was part of non-normative part before

EventPayload/sourceSemanticId

Was part of non-normative part before

EventPayload/subjectId

Was part of non-normative part before

EventPayload/timestamp

Was part of non-normative part before

Extension

New class, part of new abstract class HasExtensions

FragmentKeys

New enumeration used for References

GenericFragmentKeys

New enumeration used for References

GenericGloballyIdentifiers

New enumeration used for References

GloballyIdentifiables

New enumeration used for References

HasExtensions

New abstract class, inherited by Referable

HasSemantics/supplementalSemanticId

New attribute

Identifiable/id

Substitute for Identifiable/identification

IdentifierKeyValuePair

New class for AssetInformation/specificAssetId

KeyTypes

Before: KeyElements

New submodel element SubmodelElementList added, submodel elements Event and BasicEvent to EventElement and BasicEventElement renamed

Qualifier/kind

New attribute for Qualifier

QualifierKind

New enumeration for Qualifier/kind

PrimitiveTypes

Enumeration for DataTypeDefXsd

Referable/checksum

New optional attribute for all referables

Referable/displayName

New optional attribute for all referables

Reference/referredSemanticId

New optional attribute for Reference

x

Reference/type

New mandatory attribute for Reference

ReferenceTypes

New enumeration for Reference/type

StateOfEvent

New enumeration for BasicEventElement

SpecificAssetId

New type for AssetInformation/specificAssetId

SpecificAssetId/name

New type for AssetInformation/specificAssetId

SpecificAssetId/value

New type for AssetInformation/specificAssetId

SpecificAssetId/externalSubjectId

New type for AssetInformation/specificAssetId

See Attribute Based Access Control (ABAC) for subject concept

SubmodelElementElements

Enumeration for submodel elements (split of ReferableElements)

SubmodelElementList

Before SubmodelElementCollection was used for lists and structs

SubmodelElementList/orderRelevant

Similar to SubmodelElementCollection/ordered

SubmodelElementList/value

Similar to SubmodelElementCollection/value but ordered and with all elements having the same semanticId

SubmodelElementList/semanticIdListElement

Attribute of new class SubmodelElementList

SubmodelElementList/typeValueListElement

Attribute of new class SubmodelElementList

SubmodelElementList/valueTypeListElement

Attribute of new class SubmodelElementList

Table 14. New, Changed or Removed Constraints w/o Security
Nc V3.0RC02 vs. V2.0.1 New, Update, Removed, Reformulated Comment

AASd-001

Removed

Constraint AASd-001: In case of a referable element not being an identifiable element this ID is mandatory and used for referring to the element in its name space.

For namespace part see AASd-022

[3]

AASd-003

Update

idShort is case-sensitive and not case-insensitive

Constraint AASd-003: idShort of Referables shall be matched case-sensitive.

AASd-005

Reformulated

Constraint AASd-005: If AdministrativeInformation/version is not specified than also AdministrativeInformation/revision shall be unspecified. This means, a revision requires a version. if there is no version there is no revision neither. Revision is optional.

AASd-008

Removed

Constraint AASd-008: The submodel element value of an operation variable shall be of kind=Template.

AASd-010

Renamed

Renamed and reformulated to AASs-010 (see NEW)

AASd-011

Renamed

Renamed and reformulated to AASs-011 (see NEW)

AASd-012

Reformulated

Constraint AASd-012: If both, the MultiLanguageProperty/value and the MultiLanguageProperty/valueId are present then for each string in a specific language the meaning must be the same as specified in MultiLanguageProperty/valueId

AASd-014

Reformulated

Entity was changed

Constraint AASd-014: Either the attribute globalAssetId or specificAssetId of an Entity must be set if Entity/entityType is set to "SelfManagedEntity". They are not existing otherwise.

(x)

AASd-020

New

Constraint AASd-020: The value of Property/value shall be consistent to the data type as defined in Property/valueType.

(x)

AASd-021

New

Constraint AASd-021: Every qualifiable can only have one qualifier with the same Qualifier/type.

AASd-023

Removed

No Asset any longer that can be referenced as alternative to global reference

Constraint AASd-023: AssetInformation/globalAssetId either is a reference to an Asset object or a global reference.

x

AASd-027

New

Constraint AASd-027: idShort of Referables shall have a maximum length of 128 characters.

x

AASd-076

Removed

Substituted by AASc-002; simplified, no reference to concept description

AASd-077

New

Constraint AASd-077: The name of an extension within HasExtensions needs to be unique.

x

AASd-076

Removed

Substituted by AASc-002; simplified, no reference to concept description

AASd-077

New

Constraint AASd-077: The name of an extension within HasExtensions needs to be unique.

AASd-090

Update

Exception: File and Blob data elements removed. Reformulated.

Constraint AASd-090: For data elements category (inherited by Referable) shall be one of the following values: CONSTANT, PARAMETER or VARIABLE. Default: VARIABLE

AASd-100

New

Constraint AASd-100: An attribute with data type "string" is not allowed to be empty.

AASd-107

New

Constraint AASd-107: If a first level child element in a SubmodelElementList has a semanticId it shall be identical to SubmodelElementList/semanticIdListElement.

AASd-108

New

Constraint AASd-108: All first level child elements in a SubmodelElementList shall have the same submodel element type as specified in SubmodelElementList/typeValueListElement.

AASd-109

New

Constraint AASd-109: If SubmodelElementList/typeValueListElement equal to Property or Range SubmodelElementList/valueTypeListElement shall be set and all first level child elements in the SubmodelElementList shall have the value type as specified in SubmodelElementList/valueTypeListElement.

AASd-114

New

Constraint AASd-114: If two first level child elements in a SubmodelElementList have a semanticId then they shall be identical.

AASd-115

New

Constraint AASd-115: If a first level child element in a SubmodelElementList does not specify a semanticId then the value is assumed to be identical to SubmodelElementList/semanticIdListElement.

AASd-116

New

Constraint AASd-116: "globalAssetId" (case-insensitive) is a reserved key. If used as value for SpecificAssetId/name IdentifierKeyValuePair/value shall be identical to AssetInformation/globalAssetId.

AASd-117

New

Needed because Referable/idShort now optional

Constraint AASd-117: idShort of non-identifiable Referables not equal to SubmodelElementList shall be specified (i.e. idShort is mandatory for all Referables except for SubmodelElementLists and all Identifiables).

AASd-118

New

Because of new attribute supplementalSemanticId for HasSemantics

Constraint AASd-118: If there is a supplemental semantic ID (HasSemantics/supplementalSemanticId) defined then there shall be also a main semantic ID (HasSemantics/semanticId).

AASd-119

New

New qualifier/kind attribute

Constraint AASd-119: If any Qualifier/kind value of a Qualifiable/qualifier is equal to TemplateQualifier and the qualified element inherits from "hasKind" then the qualified element shall be of kind Template (HasKind/kind = "Template").

AASd-120

New

For new submodel element SubmodelElementList

Constraint AASD-120: idShort of submodel elements within a SubmodelElementList shall not be specified.

AASd-121

New

Constraint AASd-121: For References the type of the first key of Reference/keys shall be one of GloballyIdentifiables.

AASd-122

New

Constraint AASd-122: For global references, i.e. References with Reference/type = GlobalReference, the type of the first key of Reference/keys shall be one of GenericGloballyIdentifiables.

AASd-123

New

Constraint AASd-123: For model references, i.e. References with Reference/type = ModelReference, the type of the first key of Reference/keys shall be one of AasIdentifiables.

AASd-124

New

Constraint AASd-124: For global references, i.e. References with Reference/type = GlobalReference, the last key of Reference/keys shall be either one of GenericGloballyIdentifiables or one of GenericFragmentKeys.

AASd-125

New

Constraint AASd-125: For model references, i.e. References with Reference/type = ModelReference, with more than one key in Reference/keys the type of the keys following the first key of Reference/keys shall be one of FragmentKeys.

AASd-126

New

Constraint AASd-126: For model references, i.e. References with Reference/type = ModelReference, with more than one key in Reference/keys the type of the last Key in the reference key chain may be one of GenericFragmentKeys or no key at all shall have a value out of GenericFragmentKey.

AASd-127

New

Constraint AASd-127: For model references, i.e. References with Reference/type = ModelReference, with more than one key in Reference/keys a key with type FragmentReference shall be preceded by a key with type File or Blob. All other AAS fragments, i.e. type values out of AasSubmodelElements, do not support fragments.

AA-128

New

Constraint AASd-128: For model references, i.e. References with Reference/type = ModelReference, the Key/value of a Key preceded by a Key with Key/type=SubmodelElementList is an integer number denoting the position in the array of the submodel element list.

Metamodel Changes V3.0RC02 vs. V2.0.1 – Data Specification IEC61360

Table 15. Changes w.r.t. Data Specification IEC61360
nc V3.0RC02 Change w.r.t. V2.0.1 Comment

DataSpecification

Stereotype <<Template>> added + does not inherit from Identifiable any longer because Data Specification are handled in a different way

Some attributes are added to DataSpecification as new attributes like id, administration and description (see separate entries).

DataSpecification/category

Removed, was inherited before by Identifiable

DataSpecification/displayName

Removed, was inherited before by Identifiable

DataSpecification/idShort

Removed, was inherited before by Identifiable

x

DataSpecificationIEC61360/value

Type changed from ValueDataType to string

DataSpecificationIEC61360/valueId

Removed, the valueId is identical to the ID of the concept description

DataSpecificationContent

Stereotype <<Template>> added

x

DataTypeIEC61360

Some new values were added: BLOB, FILE, HTML, IRDI. URL renamed to IRI.
+ See separate entries for individual changes.

x

DataTypeIEC61360/URL

Renamed to IRI

ValueList/valueReferencePairs

Bugfix, was ValueList/valueReferencePairTypes before

x

ValueReferencePair/value

Type changed from ValueDataType to string

Table 16. New Elements in Metamodel DataSpecification IEC61360
nc V3.0RC02 vs. V2.0.1 Comment

DataSpecification/administration

Was inherited before by Identifiable

DataSpecification/id

Was inherited before by Identifiable

DataSpecification/description

Was inherited before by Identifiable

DataTypeIEC61360/BLOB

New value

DataTypeIEC61360/FILE

New value

DataTypeIEC61360/HTML

New value

DataTypeIEC61360/IRDI

New value

DataTypeIEC61360/IRI

Converted Iri to CamelCase and renamed to Iri from URL

Table 17. New, Changed or Removed Constraints Data Specification IEC61360
nc V3.0RC02 vs. V2.0.1 New, Update, Removed, Reformulated Comment

AASc-002

New

Updated version of AASd-076, renamed to AASc-002 because applicable to data specification IEC61360

Constraint AASc-002: DataSpecificationIEC61360/preferredName shall be provided at least in English

(x)

AASc-003

New

Constraint AASc-003: For a ConceptDescription with category VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) DataSpecificationIEC61360/value shall be set.

(x)

AASc-004

New

Constraint AASc-004: For a ConceptDescription with category PROPERTY or VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is mandatory and shall be defined.

(x)

AASc-005

New

Constraint AASc-005: For a ConceptDescription with category REFERENCE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is STRING by default.

(x)

AASc-006

New

Constraint AASc-006: For a ConceptDescription with category DOCUMENT using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType shall be one of the following values: STRING or URL.

(x)

AASc-007

New

Constraint AASc-007: For a ConceptDescription with category QUALIFIER_TYPE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is mandatory and shall be defined.

(x)

AASc-008

New

Constraint AASc-008: For a ConceptDescriptions except for a ConceptDescription of category VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/definition is mandatory and shall be defined at least in English.

(x)

AASc-009

New

Constraint AASc-009: If DataSpecificationIEC61360/dataType one of: INTEGER_MEASURE, REAL_MEASURE, RATIONAL_MEASURE, INTEGER_CURRENCY, REAL_CURRENCY, then DataSpecificationIEC61360/unit or DataSpecificationIEC61360/unitId shall be defined.

(x)

AASc-010

New

Constraint AASc-010: If DataSpecificationIEC61360/value is not empty then DataSpecificationIEC61360/valueList shall be empty and vice versa

Metamodel Changes V3.0RC02 vs. V2.0.1 – Security Part

Changes:

  • Removed, because deprecated: policy decision point, policy enforcement point, and policy information points are not part of information model but of server infrastructure hosting the Asset Administration Shells

  • Removed: Certificate Handling not part of information model but of server infrastructure hosting the Asset Administration Shells

Table 18. Changes w.r.t. Security
nc V3.0RC02 Change w.r.t. V2.0.1 Comment

x

AccessControlPolicyPoints/policyAdministrationPoint

Type changed from PolicyAdministrationPoint to AccessControl

x

AccessControlPolicyPoints/policyDecisionPoint

Removed

x

AccessControlPolicyPoints/policyEnforcementPoint

Removed

x

AccessControlPolicyPoints/policyInformationPoint

Removed

x

AccessPermissionRule

No longer inherits from Referable

No longer inherits from Qualifiable

x

BlobCertificate

Removed

x

Certificate

Removed

x

Formula

Now abstract class, only used in security part (no longer used in Qualifiables)

x

Formula/dependsOn

Removed attribute

x

PolicyAdministrationPoint

Removed

x

policyDecisionPoint

Removed

x

policyEnforcementPoint

Removed

x

policyInformationPoints

Removed

x

Security/certificate

Removed

x

Security/requiredCertificateExtension

Removed

Table 19. New Elements in Metamodel Security
nc V3.0RC02 vs. V2.0.1 Comment

AccessPermissionRule/constraint

Substitute for inherited attributes from Qualifiable

Table 20. New, Changed or Removed Constraints Security
nc V3.0RC02 vs. V2.0.1 New, Update, Removed, Reformulated Comment

AASd-015

Removed

Renamed to AASs-015 (see NEW)

AASs-009

Removed

Removed since class PolicyAdministrationPoint was removed

Constraint AASs-009: either there is an external policy administration point endpoint defined (PolicyAdministrationPoint/externalPolicyDecisionPoints=true) or the AAS has its own access control

AASs-010

NEW

Reformulation of AASd-010

Constraint AASs-010: the property referenced in Permission/permission shall have the category "CONSTANT".

AASs-011

NEW

Reformulation of AASd-011

Constraint AASs-011: the property referenced in Permission/permission shall be part of the submodel that is referenced within the "selectablePermissions" attribute of "AccessControl".

AASs-015

NEW

Constraint AASs-015: every data element in SubjectAttributes/subjectAttributes shall be part of the submodel that is referenced within the "selectableSubjectAttributes" attribute of "AccessControl".

Changes V3.0RC02 vs. V3.0RC01

Metamodel Changes V3.0RC02 vs. V3.0RC01 w/o Security Part

Major changes:

  • CHANGED: Split of SubmodelElementCollection into SubmodelElementList (with orderRelevant) and SubmodelElementCollection

  • CHANGED: Reference type and referredSemanticId added to Reference; Local and Parent attributes removed from Reference. Logical enumeration concept updated. Some renaming; constraints added for references

  • CHANGED: Reference/type now as optional part of string serialization of reference

  • CHANGED: idType from identifier removed, ID now string.

  • CHANGED: idShort of Referable now optional + Constraints added with respect to id and idShort

  • REMOVED: AssetInformation/billOfMaterial removed

  • REMOVED: Asset removed

  • REMOVED: Views removed, because no longer supported

  • NEW: Event and BasicEvent updated and renamed to EventElement and BasicEventElement

  • NEW: Checksum introduced for Referables

  • REMOVED: security attribute removed from Asset Administration Shell; access control remains part of the specification

  • ENHANCED: DataTypeIEC61360 extended with values for IRI, IRDI, BLOB, FILE + corresponding new constraints added

  • ENHANCED: Removed and split into DataTypeDefXsd and DataTypeDefRdf; some types are excluded and not supported

  • CHANGED: Mapping rules for different serializations + schemata + example in different serializations extracted and no longer part of this specification

  • EDITORIAL: Text updated, no kind column any longer in class tables, instead notation of ModelReference<{Referable}>. New table for Primitives/Data Types

  • EDITORIAL: New clause "Introduction"

  • EDITORIAL: New clause "Matching strategies for semantic identifiers"

  • NEW: Environment

  • NEW: supplemental Semantic IDs

  • NEW: Qualifier/kind

  • CHANGED: Renaming of IdentifierKeyValuePair used in AssetInformation to SpecificAssetId

Bugfixes:

  • bugfix annotation AnnotatedRelationship is of type aggr and not ref* (diagram was correct)

  • bugfix specification of ValueList and ValueReferencePairType, no data types, normal classes

  • bugfix table specifications w.r.t. kind of attribute (from aggr to attr – column kind was removed, see above)

  • bugfix data type specification LangStringSet (no diagram and table any longer)

  • bugfix enumeration ReferableElements, no ConceptDictionary any longer + new elements like new submodel elements SubmodelElementList added

  • Entity/globalAssetId diagram (table was correct): Type change from reference of Reference to Reference (from Reference* to Reference)

Table 21. Changes w/o Security
nc V3.0RC02 Change w.r.t. V3.0RC01 Comment

AdministrativeInformation

Bugfix: Stereotype "DataType" added

AnnotatedRelationship/annotation

Type changed from ModelReference<DataElement> to DataElement

x

Asset

Removed, asset referenced via globalAssetId only

x

AssetAdministrationShell/security

Removed

Note: Security is still part of the Asset Administration Shell, but the Asset Administration Shell and its elements are referenced from Security

AssetAdministrationShell/view

Removed, views no longer supported

x

AssetInformation/billOfMaterial

Removed

x

AssetInformation/defaultThumbnail

Type changed from File to Resource

x

AssetInformation/specificAssetId

Type changed from IdentifierKeyValuePair to SpecificAssetId

x

BasicEvent

Renamed to BasicEventElement

x

Constraint

Abstract class removed. Formula now used in Security part only

(x)

DataTypeDef

Split into DataTypeDefXsd and DataTypeDefRdf. Some types excluded and not supported (see notes in corresponding clause)

Before: just string allowing all anySimpleTypes of xsd and langString of rdf

Entity/globalAssetId

Bugfix:

Type change from reference of Reference to Reference (from Reference* to Reference)

x

Event

Renamed to EventElement

x

Extension/refersTo

Type changed from Reference to ModelReference<Referable>

x

File/mimeType

Renamed to contentType + Type name changed from MimeType to ContentType

x

Formula

Now abstract class now used in Security part only

x

Formula/dependsOn

Removed since formula language not yet defined

x

Identifiable/identification

Removed

Substituted by Identifiable/id

(x)

IdentifiableElements

Renamed to AasIdentifiables

x

Identifier

Type changed

Before struct class with two attributes: id and idType; now string data type only

x

IdentifierKeyValuePair

Renamed to SpecificAssetId and change of attribute "key" to "name"

IdentifierType

Enumeration removed because no idType any longer

x

Key/idType

removed

(x)

KeyElements

Renamed to KeyTypes

Note: the elements remain, except for new SubmodelElementList and renamed submodel elements Event and BasicEvent to EventElement and BasicEventElement

KeyType

Enumeration removed because no Key/idType any longer

LocalKeyType

Enumeration removed because no Key/idType any longer

x

MimeType

Type name changed to ContentType

Property/valueType

Type changed from DataTypeDef to DataTypeDefXsd

x

Qualifiable/qualifier

Type changed from Constraint to Qualifier

Qualifier

Does not inherit from abstract class "Constraint" any longer

Qualifier/valueType

Type changed from DataTypeDef to DataTypeDefXsd

Range/valueType

Type changed from DataTypeDef to DataTypeDefXsd

Referable/idShort

Now optional, was mandatory

x

ReferableElements

Substituted with enumeration AasSubmodelElements and AasIdentifiables

x

ReferableElements/AccessPermissionRule

Removed from enumeration, AccessPermissionRule is no longer referable

Not part of new AasReferableNonIdentifiables

x

ReferableElement/BasicEvent

Renamed to BasicEventElement

Now part of AasSubmodelElements

(x)

ReferablesElements/ConceptDictionary

Bugfix: ConceptDictionary removed from enumeration since ConceptDictionary no longer part of specification

Not part of new KeyTypes

x

ReferableElements/Event

Renamed to EventElement

Now part of AasSubmodelElements

RelationshipElement/first

Type changes from model reference Referable to Reference (global or model reference)

RelationshipElement/second

Type changes from model reference Referable to Reference (global or model reference)

ValueDataType

Before as specified via DataTypeDef, now any xsd atomic type as specified via DataTypeDefXsd + Prefix xs: added to every value in list

x

ValueList/valueReferencePairType

Bugfix: renamed to ValueList/valueReferencePairs

x

View

removed

Table 22. New Elements in Metamodel w/o Security
nc V3.0RC02 vs. V2.0RC01 New Elements Comment

AasSubmodelElements

New enumeration used for References

Before ReferableElements

AasIdentifiables

New enumeration used for References, includes abstract Identifiable

Before: Identifiables

AasReferableNonIdentifiables

New enumeration used for References

AasReferables

New enumeration used for References, includes abstract Referable

BasicEventElement

Former name: BasicEvent

BasicEventElement/direction

BasicEventElement/lastUpdate

BasicEventElement/messageBroker

BasicEventElement/messageTopic

BasicEventElement/minInterval

BasicEventElement/maxInterval

BasicEventElement/observed

Former name: BasicEvent/observed

BasicEventElement/state

ContentType

Former name: MimeType

DataTypeDefRdf

Enumeration for types of Rdf + prefix rdf: added to every value in enumeration

DataTypeDefXsd

Enumeration consisting of enumerations decimalBuildInTypes, durationBuildInTypes, PrimitiveTypes that correspond to anySimpleTypes of xsd. + prefix xs: added to every value in enumeration

dateTimeStamp

New data type for metamodel as used in EventPayload

decimalBuildInTypes

Enumeration for DataTypeDef

Direction

New enumeration for BasicEventElement

durationBuildInTypes

Enumeration for DataTypeDef

Environment

New class for entry point for Asset Administration Shells, submodels and concept descriptions

EventElement

Former name: Event

EventPayload

New class for event payload

EventPayload/observableReference

EventPayload/observableSemanticId

EventPayload/payload

EventPayload/source

EventPayload/sourceSemanticId

EventPayload/subjectId

EventPayload/timestamp

EventPayload/topic

File/contentType

Former name: mimeType

FragmentKeys

New enumeration used for References

GenericFragmentKeys

New enumeration used for References

GenericGloballyIdentifiers

New enumeration used for References

GloballyIdentifiables

New enumeration used for References

HasSemantics/supplementalSemanticId

New attribute

Identifiable/id

Substitute for Identifiable/identification

KeyTypes

Before: KeyElements

New submodel element SubmodelElementList added, renamed submodel elements Event and BasicEvent to EventElement and BasicEventElement

ModelReference

New class inheriting from Reference

x

Reference/type

New mandatory attribute of Reference

Reference/referredSemanticId

New optional attribute of Reference

PrimitiveTypes

Enumeration for DataTypeDefXsd

Qualifier/kind

New attribute for Qualifier

QualifierKind

New enumeration for Qualifier/kind

Referable/checksum

SpecificAssetId

Before: IdentifierKeyValuePair, was renamed

SpecificAssetId/name

Before: IdentifierKeyValuePair/key, was renamed

SpecificAssetId/value

Before: IdentifierKeyValuePair/value

SpecificAssetId/externalSubjectId

Before: IdentifierKeyValuePair/externalSubjectId

StateOfEvent

New enumeration for BasicEventElement

SubmodelElementElements

Enumeration for submodel elements (split of ReferableElements into SubmodelElementElements and IdentifiableElements)

SubmodelElementList

Before SubmodelElementCollection was used for lists and structs

SubmodelElementList/orderRelevant

Similar to SubmodelElementCollection/ordered

SubmodelElementList/value

Similar to SubmodelElementCollection/value but ordered and with all elements having the same semanticId

SubmodelElementList/semanticIdListElement

Attribute for new class SubmodelElementList

SubmodelElementList/typeValueListElement

Attribute for new class SubmodelElementList

SubmodelElementList/valueTypeListElement

Attribute for new class SubmodelElementList

Table 23. New, Changed or Removed Constraints w/o Security
Nc V3.0RC02 vs. V3.0RC01 New, Update, Removed, Reformulated Comment

[4]

AASd-003

Update

idShort is case-sensitive and not case-insensitive

Constraint AASd-003: idShort of Referables shall be matched case-sensitive.

AASd-005

Reformulated

Constraint AASd-005: If AdministrativeInformation/version is not specified than also AdministrativeInformation/revision shall be unspecified. This means, a revision requires a version. if there is no version there is no revision neither. Revision is optional.

AASd-008

Removed

Constraint AASd-008: The submodel element value of an operation variable shall be of kind=Template.

AASd-023

Removed

No Asset any longer that can be referenced as alternative to global reference

Constraint AASd-023: AssetInformation/globalAssetId either is a reference to an Asset object or a global reference.

AASd-026

Removed

SubmodelElementCollection was split into SubmodelElementList and SubmodelElementRecord. No attribute allowDuplicates any longer.

Constraint AASd-026: If allowDuplicates==false then it is not allowed that the collection contains several elements with the same semantics (i.e. the same semanticId).

x

AASd-027

New

Constraint AASd-027: idShort of Referables shall have a maximum length of 128 characters.

AASd-050

Update

Version information in data specification ID updated to /3/0/RC02. hasDataSpecification corrected to HasDataSpecification

Constraint AASd-050: If the DataSpecificationContent DataSpecificationIEC61360 is used for an element then the value of HasDataSpecification/dataSpecification shall contain the global reference to the IRI of the corresponding data specification template https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC02.

(x)

AASd-050b

New

Constraint AASd-050b: If the DataSpecificationContent DataSpecificationPhysicalUnit is used for an element then the value of HasDataSpecification/dataSpecification shall contain the global reference to the IRI of the corresponding data specification template https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit0/3/0/RC02.

AASd-052a

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-052a: If the semanticId of a Property references a ConceptDescription then the ConceptDescription/category shall be one of following values: VALUE, PROPERTY.

AASd-052b

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-052b: If the semanticId of a MultiLanguageProperty references a ConceptDescription then the ConceptDescription/category shall be one of following values: PROPERTY.

AASd-053

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-053: If the semanticId of a Range submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: PROPERTY.

AASd-054

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-054: If the semanticId of a ReferenceElement submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: REFERENCE.

AASd-055

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-055: If the semanticId of a RelationshipElement or an AnnotatedRelationshipElement submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: RELATIONSHIP.

AASd-056

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-056: If the semanticId of an Entity submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: ENTITY. The ConceptDescription describes the elements assigned to the entity via Entity/statement.

AASd-057

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-057: The semanticId of a File or Blob submodel element shall only reference a ConceptDescription with the category DOCUMENT.

AASd-058

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-058: The semanticId of a Capability submodel element shall only reference a ConceptDescription with the category CAPABILITY.

AASd-059

Removed

removed, still recommended; would be renamed to AASc if still needed

SubmodelElementCollection was split into SubmodelElementList and SubmodelElementCollection. AASd-092 and AASd-093 contain it.

Constraint AASd-059: If the semanticId of a SubmodelElementCollection references a ConceptDescription then the category of the ConceptDescription shall be COLLECTION or ENTITY.

AASd-060

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-060: If the semanticId of an Operation submodel element references a ConceptDescription then the category of the ConceptDescription shall be one of the following values: FUNCTION.

AASd-061

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-061: If the semanticId of an Event submodel element references a ConceptDescription then the category of the ConceptDescription shall be one of the following values: EVENT.

AASd-062

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-062: If the semanticId of a Property references a ConceptDescription then the ConceptDescription/category shall be one of following values: APPLICATION_CLASS.

AASd-063

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-063: If the semanticId of a Qualifier references a ConceptDescription then the ConceptDescription/category shall be one of following values: QUALIFIER.

AASd-064

Removed

Removed because there are not VIEWs any longer

Constraint AASd-064: If the semanticId of a View references a ConceptDescription then the category of the ConceptDescription shall be VIEW.

AASd-065

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-065: If the semanticId of a Property or MultiLanguageProperty references a ConceptDescription with the category VALUE then the value of the property is identical to DataSpecificationIEC61360/value and the valueId of the property is identical to DataSpecificationIEC61360/valueId.

AASd-066

Removed

removed, still recommended; would be renamed to AASc if still needed

Update because of renaming of ValueReferencePairType into ValueReferencePair

Constraint AASd-066: If the semanticId of a Property or MultiLanguageProperty references a ConceptDescription with the category PROPERTY and DataSpecificationIEC61360/valueList is defined the value and valueId of the property is identical to one of the value reference pair types references in the value list, i.e. ValueReferencePair/value or ValueReferencePair/valueId, resp.

AASd-067

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-067: If the semanticId of a MultiLanguageProperty references a ConceptDescription then DataSpecificationIEC61360/dataType shall be STRING_TRANSLATABLE.

AASd-068

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-068: If the semanticId of a Range submodel element references a ConceptDescription then DataSpecificationIEC61360/dataType shall be a numerical one, i.e. REAL_* or RATIONAL_*.

AASd-069

Removed

removed, still recommended; would be renamed to AASc if still needed

Constraint AASd-069: If the semanticId of a Range references a ConceptDescription then DataSpecificationIEC61360/levelType shall be identical to the set \{Min, Max}.

(x)

AASd-070

Renamed

Now AASc-004.

(x)

AASd-071

Renamed

Now AASc-005

(x)

AASd-072

Renamed

Now AASc-006.

(x)

AASd-073

Renamed

Now AASc-007

(x)

AASd-074

Renamed

Now AASc-008

AASd-075

Removed

Content now documented as separate constraints

Constraint AASd-075: For all ConceptDescriptions using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) values for the attributes not being marked as mandatory or optional in tables depending on its category are ignored and handled as undefined.

AASd-076

Removed

Substituted by AASc-002. Simplified, no reference to concept description

AASd-080

Removed

No Key/type GlobalReference any longer

Constraint AASd-080: In case Key/type == GlobalReference idType shall not be any LocalKeyType (IdShort, FragmentId).

AASd-081

Removed

No Key/idType any longer

Constraint AASd-081: In case Key/type == AssetAdministrationShell Key/idType shall not be any LocalKeyType (IdShort, FragmentId).

AASd-090

Update

Exception: File and Blob data elements removed. Reformulated.

Constraint AASd-090: For data elements category (inherited by Referable) shall be one of the following values: CONSTANT, PARAMETER or VARIABLE. Default: VARIABLE

AASd-092

Removed

removed, still recommended; would be renamed to AASc and updated if still needed

SubmodelElementCollection was split into SubmodelElementList and SubmodelElementCollection (here: SubmodelElementCollection)

Constraint AASd-092: If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == false references a ConceptDescription then the ConceptDescription/category shall be ENTITY.

AASd-093

Removed

removed, still recommended; would be renamed to AASc and updated if still needed

SubmodelElementCollection was split into SubmodelElementList and SubmodelElementStruct (here: SubmodelElementList)

Constraint AASd-093: If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == true references a ConceptDescription then the ConceptDescription/category shall be COLLECTION.

AASd-107

New

Constraint AASd-107: If a first level child element in a SubmodelElementList has a semanticId it shall be identical to SubmodelElementList/semanticIdListElement.

AASd-108

New

Constraint AASd-108: All first level child elements in a SubmodelElementList shall have the same submodel element type as specified in SubmodelElementList/typeValueListElement.

AASd-109

New

Constraint AASd-109: If SubmodelElementList/typeValueListElement equal to Property or Range SubmodelElementList/valueTypeListElement shall be set and all first level child elements in the SubmodelElementList shall have the value type as specified in SubmodelElementList/valueTypeListElement.

AASd-114

New

Constraint AASd-114: If two first level child elements in a SubmodelElementList have a semanticId then they shall be identical.

AASd-115

New

Constraint AASd-115: If a first level child element in a SubmodelElementList does not specify a semanticId then the value is assumed to be identical to SubmodelElementList/semanticIdListElement.

AASd-116

New

Constraint AASd-116: "globalAssetId" (case-insensitive) is a reserved key. If used as value for SpecificAssetId/name IdentifierKeyValuePair/value shall be identical to AssetInformation/globalAssetId.

AASd-117

New

Needed because Referable/idShort now optional

Constraint AASd-117: idShort of non-identifiable Referables not equal to SubmodelElementList shall be specified (i.e. idShort is mandatory for all Referables except for SubmodelElementLists and all Identifiables).

AASd-118

New

Constraint AASd-118: If there is a supplemental semantic ID (HasSemantics/supplementalSemanticId) defined then there shall be also a main semantic ID (HasSemantics/semanticId).

AASd-119

New

New Qualifier/kind attribute

Constraint AASd-119: If any Qualifier/kind value of a Qualifiable/qualifier is equal to TemplateQualifier and the qualified element inherits from "hasKind" then the qualified element shall be of kind Template (HasKind/kind = "Template").

AASd-120

New

For new submodel element SubmodelElementList

Constraint AASD-120: idShort of submodel elements within a SubmodelElementList shall not be specified.

AASd-121

New

Constraint AASd-121: For References the type of the first key of Reference/keys shall be one of GloballyIdentifiables.

AASd-122

New

Constraint AASd-122: For global references, i.e. References with Reference/type = GlobalReference, the type of the first key of Reference/keys shall be one of GenericGloballyIdentifiables.

AASd-123

New

Constraint AASd-123: For model references, i.e. References with Reference/type = ModelReference, the type of the first key of Reference/keys shall be one of AasIdentifiables.

AASd-124

New

Constraint AASd-124: For global references, i.e. References with Reference/type = GlobalReference, the last key of Reference/keys shall be either one of GenericGloballyIdentifiables or one of GenericFragmentKeys.

AASd-125

New

Constraint AASd-125: For model references, i.e. References with Reference/type = ModelReference, with more than one key in Reference/keys the type of the keys following the first key of Reference/keys shall be one of FragmentKeys.

AASd-126

New

Constraint AASd-126: For model references, i.e. References with Reference/type = ModelReference, with more than one key in Reference/keys the type of the last Key in the reference key chain may be one of GenericFragmentKeys or no key at all shall have a value out of GenericFragmentKey.

AASd-127

New

Constraint AASd-127: For model references, i.e. References with Reference/type = ModelReference, with more than one key in Reference/keys a key with type FragmentReference shall be preceded by a key with type File or Blob. All other AAS fragments, i.e. type values out of AasSubmodelElements, do not support fragments.

AAS-128

New

Constraint AASd-128: For model references, i.e. References with Reference/type = ModelReference, the Key/value of a Key preceded by a Key with Key/type=SubmodelElementList is an integer number denoting the position in the array of the submodel element list.

Metamodel Changes V3.0RC02 vs. V3.0RC01 – Data Specification IEC61360

Table 24. Changes w.r.t. Data Specification IEC61360
nc V3.0RC02 Change w.r.t. V3.0RC01 Comment

DataSpecification

Stereotype <<Template>> added + does not inherit from Identifiable any longer because Data Specification are handled differently

Some attributes are added to DataSpecification as new attributes like id, administration and description

DataSpecification/category

Removed, was inherited before by Identifiable

DataSpecification/displayName

Removed, was inherited before by Identifiable

DataSpecification/idShort

Removed, was inherited before by Identifiable

DataSpecificationIEC61360/unitId

Type changes from Reference to GlobalReference

x

DataSpecificationIEC61360/value

Type changed from ValueDataType to string

DataSpecificationIEC61360/valueId

Removed, the valueId is identical to the ID of the concept description

DataSpecificationContent

Stereotype <<Template>> added

x

DataTypeIEC61360

Some new values were added: BLOB, FILE, HTML, IRDI; URL renamed to IRI

See separate entries for individual changes

x

DataTypeIEC61360/URL

Renamed to IRI

ValueList/valueReferencePairs

Bugfix, was ValueList/valueReferencePairTypes before

x

ValueReferencePair/value

Type changed from ValueDataType to string

Table 25. New Elements in Metamodel DataSpecification IEC61360
nc V3.0RC02 Comment

x

ValueReferencePair/valueId

Type changed from Reference to GlobalReference

DataSpecification/administration

Was inherited before by Identifiable

DataSpecification/id

Was inherited before by Identifiable

DataSpecification/description

Was inherited before by Identifiable

DataTypeIEC61360/BLOB

New value

DataTypeIEC61360/FILE

New value

DataTypeIEC61360/HTML

New value

DataTypeIEC61360/IRDI

New value

DataTypeIEC61360/IRI

Converted Iri to CamelCase and renamed to Iri from URL

Table 26. New, Changed or Removed Constraints Data Specification IEC61360
nc V3.0RC02 New, Update, Removed, Reformulated Comment

AASc-002

New

Updated version of AASd-076, renamed to AASC-002 because applicable to data specification IEC61360

Constraint AASc-002: Data¬Specification¬IEC61360-/preferredName shall be provided at least in English

(x)

AASc-003

New

Constraint AASc-003: For a ConceptDescription with category VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) DataSpecificationIEC61360/value shall be set.

(x)

AASc-004

New

Constraint AASc-004: For a ConceptDescription with category PROPERTY or VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is mandatory and shall be defined.

(x)

AASc-005

New

Constraint AASc-005: For a ConceptDescription with category REFERENCE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is STRING by default.

(x)

AASc-006

New

Constraint AASc-006: For a ConceptDescription with category DOCUMENT using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType shall be one of the following values: STRING or URL.

(x)

AASc-007

New

Constraint AASc-007: For a ConceptDescription with category QUALIFIER_TYPE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is mandatory and shall be defined.

(x)

AASc-008

New

Constraint AASc-008: For a ConceptDescriptions except for a ConceptDescription of category VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/definition is mandatory and shall be defined at least in English.

(x)

AASc-009

New

Constraint AASc-009: If DataSpecificationIEC61360/dataType one of: INTEGER_MEASURE, REAL_MEASURE, RATIONAL_MEASURE, INTEGER_CURRENCY, REAL_CURRENCY, then DataSpecificationIEC61360/unit or DataSpecificationIEC61360/unitId shall be defined.

(x)

AASc-010

New

Constraint AASc-010: If DataSpecificationIEC61360/value is not empty then DataSpecificationIEC61360/valueList shall be empty and vice versa

Metamodel Changes V3.0RC02 vs. V3.0RC01 – Security Part

Changes:

  • Removed, because deprecated: policy decision point, policy enforcement point, and policy information points are not part of information model but of server infrastructure hosting the Asset Administration Shells

  • Removed: Certificate Handling not part of information model but of server infrastructure hosting the Asset Administration Shells

Table 27. Changes w.r.t. Security
nc V3.0RC02 Change w.r.t. V3.0RC01 Comment

x

AccessControlPolicyPoints/policyAdministrationPoint

Type changed from PolicyAdministrationPoint to AccessControl

x

AccessControlPolicyPoints/policyDecisionPoint

Removed

x

AccessControlPolicyPoints/policyEnforcementPoint

Removed

x

AccessControlPolicyPoints/policyInformationPoint

Removed

x

AccessPermissionRule

No longer inherits from referable

No longer inherits from qualifiable

x

BlobCertificate

Removed

x

Certificate

Removed

x

Formula

Now abstract class, only used in security part (no longer used in Qualifiables)

x

Formula/dependsOn

Removed attribute

x

PolicyAdministrationPoint

Removed

x

policyDecisionPoint

Removed

x

policyEnforcementPoint

Removed

x

policyInformationPoints

Removed

x

Security/certificate

Removed

x

Security/requiredCertificateExtension

Removed

Table 28. New Elements in Metamodel Security
nc V3.0RC02 vs. V3.0RC01 Comment

AccessPermissionRule/constraint

Substitute for inherited attributes from Qualifiable

Table 29. New, Changed or Removed Constraints Security
nc V3.0RC02 vs. V3.0RC01 New, Update, Removed, Reformulated Comment

AASs-009

Removed

Removed since class PolicyAdministrationPoint was removed

Constraint AASs-009: Either there is an external policy administration point endpoint defined (PolicyAdministrationPoint/externalPolicyDecisionPoints=true) or the AAS has its own access control

AASs-015

Updated

Constraint AASs-015: Every data element in SubjectAttributes/subjectAttributes shall be part of the submodel that is referenced within the "selectableSubjectAttributes" attribute of "AccessControl".

Changes V3.0RC01 vs. V2.0.1

Metamodel Changes V3.0RC01 w/o Security Part

Major changes:

  • idShort of Submodels etc. no longer need to be unique in the context of an Asset Administration Shell

  • Constraints implicitly contained in text were formalized and numbered

  • Revised concept on handling of Asset and assetIdentificationModel (assetInformation)

  • ConceptDictionaries not supported any longer

  • semanticId no longer mandatory for SubmodelElement

  • More than one bill of material for assetInformation in Asset Administration Shell

  • Local attribute in References removed

  • Parent attribute in Referables removed

  • Abstract class HasExtension introduced

  • AASX file exchange format:no splitting of an Asset Administration Shell allowed any longer (i.e. relationship type aas-spec-split removed)

Table 30. Changes w.r.t. V2.0 w/o Security
nc V3.0RC01 Change w.r.t. V2.0.1 Comment

anySimpleTypeDef

Type removed, was not used in any class definition any longer, was mentioned in text only

x

AssetAdministrationShell/asset

Removed, substituted by AssetAdministrationShell/assetInformation (no reference any longer, instead now aggregation)

x

Asset/assetKind

Attribute "assetKind" moved to AssetAdministrationShell/AssetInformation

x

Asset/assetIdentificationModel

Attribute "assetIdentificationModel" removed, substituted by AssetInformation /IdentifierKeyValuePairs

x

Asset/billOfMaterial

Attribute "billOfMaterial" moved to AssetAdministrationShell/AssetInformation

x

AssetAdministrationShell/conceptDictionaries

Removed

ConceptDescription/isCaseOf

Text changed, no global reference requested, just reference

x

ConceptDictionary

Removed

x

Entity/asset

Removed, substituted by Entity/globalAssetId and Entity/specificAssetId

x

Key/local

Local attribute removed

x

Referable/parent

Parent attribute removed

Table 31. New Elements in Metamodel V3.0RC01 w/o Security
nc V3.0RC01 vs. V2.0.1 Comment

x

AssetAdministrationShell/assetInformation

Substitute for AssetAdministrationShell/asset (no reference any longer, instead aggregation)

AssetInformation

with attributes/functionality from former class Asset because not specific to Asset but AAS

AssetInformation/thumbnail

Optional Attribute of new class AssetInformation that was not available in Asset class before

x

Entity/globalAssetId

Substitute for Entity/asset (together with Entity/specificAssetId)

x

Entity/specificAssetId

Substitute for Entity/asset (together with Entity/globalAssetId)

Extension

New class, part of new abstract class HasExtensions

HasExtensions

New abstract class, inherited by Referable

IdentifierKeyValuePair

New class for AssetInformation/specificAssetId

Referable/displayName

New optional attribute for all referables

Table 32. New, Changed or Removed Constraints w/o Security
nc V3.0RC01 New, Update, Removed, Reformulated Comment

AASd-001

Removed

Constraint AASd-001: In case of a referable element not being an identifiable element this id is mandatory and used for referring to the element in its name space.

For namespace part see AASd-022

x

AASd-002

Update

reformulated, formula added

idShort of Referables shall only feature letters, digits, underscore (""); starting mandatory with a letter. I.e. [a-zA-Z][a-zA-Z0-9]+

AASd-010

Reformulated

Constraint AASd-010: The property has the category "CONSTANT".

Reformulated to

Constraint AASd-010: The property referenced in Permission/permission shall have the category "CONSTANT".

AASd-011

Reformulated

Constraint AASd-011: The property referenced in Permission/permission shall be part of the submodel that is referenced within the "selectablePermissions" attribute of "AccessControl".

AASd-012

Reformulated

Constraint AASd-012: If both the MultiLanguageProperty/value and the MultiLanguageProperty/valueId are present then for each string in a specific language the meaning must be the same as specified in MultiLanguageProperty/valueId

AASd-014

Reformulated

Entity was changed

Constraint AASd-014: Either the attribute globalAssetId or specificAssetId of an Entity must be set if Entity/entityType is set to "SelfManagedEntity". They are not existing otherwise.

(x)

AASd-020

New

Constraint AASd-020: The value of Property/value shall be consistent to the data type as defined in Property/valueType.

(x)

AASd-021

New

Constraint AASd-021: Every qualifiable can only have one qualifier with the same Qualifier/type.

(x)

AASd-022

New

Part from AASd-001 after split

Constraint AASd-022: idShort of non-identifiable referables shall be unique in its namespace.

(x)

AASd-026

New

Constraint AASd-026: If allowDuplicates==false then it is not allowed that the collection contains several elements with the same semantics (i.e. the same semanticId).

(x)

AASd-050

New

Constraint AASd-050: If the DataSpecificationContent DataSpecificationIEC61360 is used for an element then the value of hasDataSpecification/dataSpecification shall contain the global reference to the IRI of the corresponding data specification template http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0.

(x)

AASd-051

New

Constraint AASd-051: A ConceptDescription shall have one of the following categories: VALUE, PROPERTY, REFERENCE, DOCUMENT, CAPABILITY, RELATIONSHIP, COLLECTION, FUNCTION, EVENT, ENTITY, APPLICATION_CLASS, QUALIFIER, VIEW. Default: PROPERTY.

(x)

AASd-052a

New

Constraint AASd-052a: If the semanticId of a Property references a ConceptDescription then the ConceptDescription/category shall be one of following values: VALUE, PROPERTY.

(x)

AASd-052b

New

Constraint AASd-052b: If the semanticId of a MultiLanguageProperty references a ConceptDescription then the ConceptDescription/category shall be one of following values: PROPERTY.

(x)

AASd-053

New

Constraint AASd-053: If the semanticId of a Range submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: PROPERTY.

(x)

AASd-054

New

Constraint AASd-054: If the semanticId of a ReferenceElement submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: REFERENCE.

(x)

AASd-055

New

Constraint AASd-055: If the semanticId of a RelationshipElement or an AnnotatedRelationshipElement submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: RELATIONSHIP.

(x)

AASd-056

New

Constraint AASd-056: If the semanticId of an Entity submodel element references a ConceptDescription then the ConceptDescription/category shall be one of following values: ENTITY. The ConceptDescription describes the elements assigned to the entity via Entity/statement.

(x)

AASd-057

New

Constraint AASd-057: The semanticId of a File or Blob submodel element shall only reference a ConceptDescription with the category DOCUMENT.

(x)

AASd-058

New

Constraint AASd-058: The semanticId of a Capability submodel element shall only reference a ConceptDescription with the category CAPABILITY.

(x)

AASd-059

New

Constraint AASd-059: The semanticId of a SubmodelElementCollection submodel element shall only reference a ConceptDescription with the category COLLECTION or ENTITY.

(x)

AASd-060

New

Constraint AASd-060: If the semanticId of an Operation submodel element references a ConceptDescription then the category of the ConceptDescription shall be one of the following values: FUNCTION.

(x)

AASd-061

New

Constraint AASd-061: If the semanticId of an Event submodel element references a ConceptDescription then the category of the ConceptDescription shall be one of the following values: EVENT.

(x)

AASd-062

New

Constraint AASd-062: If the semanticId of a Property references a ConceptDescription then the ConceptDescription/category shall be one of following values: APPLICATION_CLASS.

(x)

AASd-063

New

Constraint AASd-063: If the semanticId of a Qualifier references a ConceptDescription then the ConceptDescription/category shall be one of following values: QUALIFIER.

(x)

AASd-064

New

Constraint AASd-064: If the semanticId of a View references a ConceptDescription then the category of the ConceptDescription shall be VIEW.

(x)

AASd-065

New

Constraint AASd-065: If the semanticId of a Property or MultiLanguageProperty references a ConceptDescription with the category VALUE then the value of the property is identical to DataSpecificationIEC61360/value and the valueId of the property is identical to DataSpecificationIEC61360/valueId.

(x)

AASd-066

New

Constraint AASd-066: If the semanticId of a Property or MultiLanguageProperty references a ConceptDescription with the category PROPERTY and DataSpecificationIEC61360/valueList is defined the value and valueId of the property is identical to one of the value reference pair types references in the value list, i.e. ValueReferencePair/value or ValueReferencePair/valueId, resp.

(x)

AASd-067

New

Constraint AASd-067: If the semanticId of a MultiLanguageProperty references a ConceptDescription then DataSpecificationIEC61360/dataType shall be STRING_TRANSLATABLE.

(x)

AASd-068

New

Constraint AASd-068: If the semanticId of a Range submodel element references a ConceptDescription then DataSpecificationIEC61360/dataType shall be a numerical one, i.e. REAL_* or RATIONAL_*.

(x)

AASd-069

New

Constraint AASd-069: If the semanticId of a Range references a ConceptDescription then DataSpecificationIEC61360/levelType shall be identical to the set \{Min, Max}.

(x)

AASd-070

New

Constraint AASd-070: For a ConceptDescription with category PROPERTY or VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is mandatory and shall be defined.

(x)

AASd-071

New

Constraint AASd-071: For a ConceptDescription with category REFERENCE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is STRING by default.

(x)

AASd-072

New

Constraint AASd-072: For a ConceptDescription with category DOCUMENT using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType shall be one of the following values: STRING or URL.

(x)

AASd-073

New

Constraint AASd-073: For a ConceptDescription with category QUALIFIER using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/dataType is mandatory and shall be defined.

(x)

AASd-074

New

Constraint AASd-074: For all ConceptDescriptions except for ConceptDescriptions of category VALUE using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) - DataSpecificationIEC61360/definition is mandatory and shall be defined at least in English.

(x)

AASd-075

New

Constraint AASd-075: For all ConceptDescriptions using data specification template IEC61360 (http://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/2/0) values for the attributes not being marked as mandatory or optional in tables Table 6, Table 7, Table 8 and Table 9.depending on its category are ignored and handled as undefined.

AASd-077

New

Constraint AASd-077: The name of an extension within HasExtensions needs to be unique.

(x)

AASd-080

New

Constraint AASd-080: In case Key/type == GlobalReference idType shall not be any LocalKeyType (IdShort, FragmentId).

AASd-081

New

Constraint AASd-081: In case Key/type==AssetAdministrationShell Key/idType shall not be any LocalKeyType (IdShort, FragmentId).

(x)

AASd-092

New

Constraint AASd-092: If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == false references a ConceptDescription then the ConceptDescription/category shall be ENTITY.

(x)

AASd-093

New

Constraint AASd-093: If the semanticId of a SubmodelElementCollection with SubmodelElementCollection/allowDuplicates == true references a ConceptDescription then the ConceptDescription/category shall be COLLECTION.

AASd-100

New

Constraint AASd-100: An attribute with data type "string" is not allowed to be empty.

Metamodel Changes V3.0RC01 – Security Part

Major changes:

  • Constraints for security part renamed from pattern AASd- to AASs-.

  • Only bugfixes

Table 33. New, Changed or Removed Constraints Security
nc V3.0RC01 New, Update, Removed, Reformulated Comment

AASd-010

Removed

Renamed to AASs-010 (see NEW)

AASs-010

NEW

Reformulation of AASd-010

Constraint AASs-010: The property referenced in Permission/permission shall have the category "CONSTANT".

AASd-011

Removed

Renamed to AASs-011 (see NEW)

AASs-011

NEW

Reformulation of AASd-011

Constraint AASs-011: The property referenced in Permission/permission shall be part of the submodel that is referenced within the "selectablePermissions" attribute of "AccessControl".

AASd-015

Removed

Renamed to AASs-015 (see NEW)

AASs-015

NEW

Constraint AASd-015: The data element SubjectAttributes/subjectAttribute shall be part of the submodel that is referenced within the "selectableSubjectAttributes" attribute of "AccessControl".

Changes V2.0.1 vs. V2.0

Metamodel Changes V2.0.1 w/o Security Part

Major changes:

  • Only bugfixes

Table 34. Changes w.r.t. V2.0.1 w/o Security
nc V2.0.1 Change w.r.t. V2.0 Comment

DataTypeIEC61360/INTEGER_COUNT

Bugfix, was missing

DataTypeIEC61360/INTEGER_MEASURE

Bugfix, was missing

DataTypeIEC61360/INTEGER_CURRENCY

Bugfix, was missing

hasDataSpecification

Bugfix, is abstract class – was mixed up with DataSpecification class that is not abstract

DataSpecification

Bugfix, is not abstract

AnnotatedRelationshipElement/annotation

Bugfix, Annotation ist not a reference to Data Elements

Table 35. New, Changed or Removed Constraints w/o Security
nc V2.0.1 New, Update, Removed Comment

AASd-001

update

idShort now mandatory

Constraint AASd-001: an identifiable element this id is mandatory and used for referring to the element in its name space.

Constraint AASd-001: In case of a referable element not being an identifiable element this ID is used for referring to the element in its name space.

AASd-013

Removed

Constraint AASd-013: In case of a range with kind=Instance either the min or the max value or both need to be defined.

Changes V2.0 vs. V1.0

Metamodel Changes V2.0 w/o Security Part

Major changes:

  • Composite I4.0 Components supported via new Entity submodel element and billOfMaterial

  • Event submodel element introduced

  • Capability submodel element introduced

  • Annotatable relationship submodel element introduced

  • MultiLanguageProperty submodel element introduced

  • Range submodel element introduced

  • Data Specification Template IEC61360 extended for Values, ValueLists and Ranges

  • Referencing of fragments within a file etc. now also supported

Table 36. Changes w.r.t. V1.0 w/o Security
nc V2.0 Change w.r.t. V1.0 Comment

(x) [5]

anySimpleTypeDef

Type now starts with capital letter: AnySimpleTypeDef

Type changed from string to values representing xsd-type anySimpleType

Asset

Does not inherit from HasKind any longer (but attribute kind remains)

Asset/kind

Now of type "AssetKind" instead of "Kind". Instead of value Type and Instance now value Template and Instance

AssetAdministrationShell/security

Now optional to support passive AAS of type 1

Code

Data type removed, no longer used

x

DataSpecificationIEC61360/shortName

Type changed from string to LangStringSet

Cardinality changed from mandatory to optional

x

DataSpecificationIEC61360/sourceOfDefinition

Type changed from langString to string

(x)[6]

DataSpecificationIEC61360/dataType

Type changed from string to Enumeration

Cardinality changed from mandatory to optional

x

DataSpecificationIEC61360/code

Attribute code removed

DataSpecificationIEC61360/definition

Cardinality changed from mandatory to optional

HasDataSpecification

Was abstract before

HasDataSpecification/hasDataSpecification

Renamed to HasDataSpecification/dataSpecification

x

HasKind/kind

Now of type "ModellingKind" instead of "Kind". Values changed: Type now Template; Instance remains

x

File/value

File name not without but with extension

x

Identifiable/description

Type changed from langString to LangStringSet

x

IdentifierType/URI

URI renamed to IRI

Kind

Type Kind removed and substituted by types AssetKind and ModellingKind

x

OperationVariable

No longer inherits from SubmodelElement

Property/value

Type changed from anySimpleTypeDef to ValueDataType

x

Qualifier/qualifierType

Renamed to Qualifier/type

x

Qualifier/qualifierValue

Renamed to Qualifier/value

Type changed from AnySimpleTypeDef to ValueDataType

x

Qualifier/qualifierValueId

Renamed to Qualifier/valueId

x

Referable/idShort

Now mandatory, was optional (but with constraints for defined elements)

x

Reference/key

Cardinality changed from 0..* to 1..*

Table 37. New Elements in Metamodel V1.0 w/o Security
V2.0 Comment

AnnotatedRelationshipElement

New submodel element, inheriting from RelationshipElement

Asset/billOfMaterial

New attribute

AssetKind

New enumeration type

BasicEvent

New submodel element, inherits from Event

Capability

New submodel element

DataSpecificationIEC61360/valueList

For value lists (string)

DataSpecificationIEC61360/value

For coded and explicit values

DataSpecificationIEC61360/valueId

For coded values

DataSpecificationIEC61360/levelType

For Ranges

DataSpecificationPhysicalUnit

New data specification template

DataTypeIEC61360

New enumeration type

Entity

New submodel Element

EntityType

New enumeration type

IdentifierType

Is a subset of KeyType Enumeration

KeyElements/FragmentReference

New value FragmentReference as part of KeyElements Enumeration

LocalKeyType

Is a subset of KeyType Enumeration

LocalKeyType/FragmentId

New value for KeyType Enumeration (via subset LocalKeyType)

LangStringSet

New type, used for example in MultiLanguageProperty

LevelType

New enumeration type

ModellingKind

New enumeration type

MultiLanguageProperty

New submodel element

Qualifier/valueType

New attribute to be consistent with valueType of Property etc.

Range

New submodel element

ReferableElements/BasicEvent

New enumeration value

ReferableElements/Capability

New enumeration value

ReferableElements/Event

New enumeration value

ReferableElements/MultiLanguageProperty

New enumeration value

ReferableElements/Range

New enumeration value

ValueDataType

New type, used for example for Property value

ValueList

New class

ValueReferencePairType

New class

Table 38. New, Changed or Removed Constraints w/o Security
nc V2.0 New, Update, Removed Comment

AASd-007

update

Reformulated

Constraint AASd-007: if both, the value and the valueId are present then the value needs to be identical to the value of the referenced coded value in valueId.

AASd-008

update

Reformulated

Constraint AASd-008: The submodel element value of an operation variable shall be of kind=Template.

AASd-025

removed

Redundant to AASd-015

Constraint AASd-025: The data element shall be part of the submodel that is referenced within the "selectableSubjectAttributes" attribute of "AccessControl".

Metamodel Changes V2.0 – Security Part

Table 39. Changes Metamodel w.r.t. V1.0 Security
nc V2.0 Change w.r.t. V1.0 Comment

x

AccessControl/selectableEnvironmentAttributes

Type changed from Submodel to Submodel*

AccessPermissionRule/permissionsPerObject

Cardinality now consistent for figure and table: 0..*

x

AccessPermissionRule/targetSubjectAttributes

Cardinality changed from 1..* to 1

Certificate

Was abstract, now not abstract and contains attributes (see in table New)

x

PermissionKind/allow

Now PermissionKind/Allow starts with capital letter for enumeration values

x

PermissionKind/deny

Now PermissionKind/Deny starts with capital letter for enumeration values

x

PermissionKind/not applicable

Now PermissionKind/NotApplicable starts with capital letter for enumeration values

x

PermissionKind/Undefined

Now PermissionKind/Undefined starts with capital letter for enumeration values

PermissionsPerObject

Name now consistent in figure and table (in table PermissionPerObject, needs to be PermissionsPerObject)

x

PolicyAdministrationPoint/externalAccessControl

Type changed from Endpoint to Boolean, cardinality 1

x

PolicyInformationPoints/externalInformationPoint

Type changed from Endpoint to Boolean, cardinality 1

externalInformationPoint renamed to externalInformationPoints

x

Security/trustAnchor

Renamed to Security/certificate

Table 40. New Elements in Metamodel w.r.t. Security
V2.0 Comment

BlobCertificate

New class inheriting from Certificate

Certificate

Abstract class: was foreseen in V1.0 but not yet modelled

Security/requiredCertificateExtension

New attribute

PolicyEnforcementPoint

Was foreseen in V1.0 but not yet modelled

PolicyEnforcementPoint/externalPolicyEnforcementPoint

PolicyDecisionPoint

Was foreseen in V1.0 but not yet modelled

PolicyDecisionPoint/externalPolicyDecisionPoint


1. Derived Schemata used Base64Binary and not hexBinary, therefore this change is considered to be backward compatible for most applications.
2. Since HasKind/kind had the default Instance, this change has no impact if the attribute was omitted for submodel instances.
3. Every model valid for V3.0RC02 is still valid in V3.0RC01, however there might be implementations that need to be changed if they assumed that the user can type case-insensitive names and get all elements that match the name in a case-insensitive way.
4. Every model valid for V3.0RC02 is still valid in V3.0RC01, however there might be implementations that need to be changed if they assumed that the user can type case-insensitive names and get all elements that match the name in a case-insensitive way.
5. There was an implicit constraint restricting the values to the values in the enumeration. This is now formalized.
6. There was an implicit constraint that only IEC61360 data types are allowed to be used. This is now formalized.