From 48c3f0362bedf24a4bd1c6e78421e3b64f1d2f8f Mon Sep 17 00:00:00 2001 From: Birgit Boss Date: Sun, 15 Dec 2024 20:13:23 +0100 Subject: [PATCH 1/2] remove AASd-090 category fix #514 --- .../modules/ROOT/pages/annex/overview-constraints.adoc | 2 -- documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc | 5 +++++ .../IDTA-01001/modules/ROOT/pages/includes/constraints.adoc | 1 - 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/documentation/IDTA-01001/modules/ROOT/pages/annex/overview-constraints.adoc b/documentation/IDTA-01001/modules/ROOT/pages/annex/overview-constraints.adoc index 7c435e7fb..b2143d9a5 100644 --- a/documentation/IDTA-01001/modules/ROOT/pages/annex/overview-constraints.adoc +++ b/documentation/IDTA-01001/modules/ROOT/pages/annex/overview-constraints.adoc @@ -45,8 +45,6 @@ For handling of constraints see xref:annex/handling-constraints.adoc[]. {aasd081} -{aasd090} - {aasd107} {aasd108} diff --git a/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc b/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc index a8127fab2..a1b098830 100644 --- a/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc +++ b/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc @@ -48,6 +48,7 @@ Major Changes: * Change File and Blob: attribute "contentType" now optional (https://github.com/admin-shell-io/aas-specs/issues/412[#412]) * remove AASd-120: idShort also allowed for elements within a SubmodelElementList (https://github.com/admin-shell-io/aas-specs/issues/432[#432]) +* remove AASd-090: category is deprecated (https://github.com/admin-shell-io/aas-specs/issues/514[#514]) * Relaxation of grammar for semantic IDs for metamodel elements in the context of data specifications (https://github.com/admin-shell-io/aas-specs/issues/307[#307]) * Terms and Definitions adopted to IEC 63278-1:2023 (before IEC 63278-1 Draft July 2022 was the basis), @@ -162,6 +163,10 @@ 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`. +|{empty} |AASd-090 |#Removed a| + +Constraint AASd-090: +For data elements, category (inherited by Referable) shall be one of the following values: CONSTANT, PARAMETER or VARIABLE. Default: VARIABLE |{empty} | AASd-120 | Removed a| Constraint AASd-120: idShort of submodel elements being a direct child of a SubmodelElementList shall not be specified. diff --git a/documentation/IDTA-01001/modules/ROOT/pages/includes/constraints.adoc b/documentation/IDTA-01001/modules/ROOT/pages/includes/constraints.adoc index 8535ba375..6d00fa928 100644 --- a/documentation/IDTA-01001/modules/ROOT/pages/includes/constraints.adoc +++ b/documentation/IDTA-01001/modules/ROOT/pages/includes/constraints.adoc @@ -26,7 +26,6 @@ every entry needs to be in one line, no \ :aasd077: pass:q[[underline]#Constraint AASd-077:# The name of an extension (_Extension/name_) within _HasExtensions_ needs to be unique.] :aasd080: pass:q[[underline]#Constraint AASd-080:# In case xref:ROOT:spec-metamodel/referencing.adoc#Key[Key/type] == _GlobalReference_ _idType_ shall not be any LocalKeyType (_IdShort, FragmentId_).] :aasd081: pass:q[[underline]#Constraint AASd-081:# In case xref:ROOT:spec-metamodel/referencing.adoc#Key[Key/type] == AssetAdministrationShell Key/idType shall not be any LocalKeyType (IdShort, FragmentId).] -:aasd090: pass:q[[underline]#Constraint AASd-090:# For data elements, _category_ (inherited by xref:ROOT:spec-metamodel/common.adoc#Referable[Referable]) shall be one of the following values: CONSTANT, PARAMETER or VARIABLE. Default: VARIABLE] :aasd107: pass:q[[underline]#Constraint AASd-107:# If a first level child element in a xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList] has a xref:ROOT:spec-metamodel/common.adoc#HasSemantics[semanticId], it shall be identical to xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList/semanticIdListElement].] :aasd108: pass:q[[underline]#Constraint AASd-108:# All first level child elements in a xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList] shall have the same submodel element type as specified in xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList/typeValueListElement].] :aasd109: pass:q[[underline]#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 xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList] shall have the value type as specified in xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList/typeValueListElement].] From fb0ec91c0c558744c216c7aa4f874fde5ef988dc Mon Sep 17 00:00:00 2001 From: Birgit Boss Date: Sun, 15 Dec 2024 20:32:52 +0100 Subject: [PATCH 2/2] - remove constraints not used any longer - update constraint with shall instead of need or can - add references to constraints --- .../pages/annex/overview-constraints.adoc | 4 -- .../modules/ROOT/pages/changelog.adoc | 39 ++++++++++++++++++- .../ROOT/pages/includes/constraints.adoc | 12 +++--- 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/documentation/IDTA-01001/modules/ROOT/pages/annex/overview-constraints.adoc b/documentation/IDTA-01001/modules/ROOT/pages/annex/overview-constraints.adoc index b2143d9a5..a0cec71f0 100644 --- a/documentation/IDTA-01001/modules/ROOT/pages/annex/overview-constraints.adoc +++ b/documentation/IDTA-01001/modules/ROOT/pages/annex/overview-constraints.adoc @@ -41,10 +41,6 @@ For handling of constraints see xref:annex/handling-constraints.adoc[]. {aasd077} -{aasd080} - -{aasd081} - {aasd107} {aasd108} diff --git a/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc b/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc index a1b098830..5bfbf17ec 100644 --- a/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc +++ b/documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc @@ -90,6 +90,7 @@ Editorial Bugfixes: * Replace xs:dateType with xs:dateTime (https://github.com/admin-shell-io/aas-specs/issues/467[#467]) * Correct Example for Reference (https://github.com/admin-shell-io/aas-specs/issues/481[#481]) * improve UML Template description with respect to cardinality (https://github.com/admin-shell-io/aas-specs/issues/388[#388]) +* improve formulation of constraints, use "shall" instead of "needs to" etc. Minor Changes: @@ -152,17 +153,53 @@ now also allows hyphens to be included in name Constraint AASd-002: _idShort_ of __Referable__s 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_]+$.]. +|{empty} |AASd-006 |#Update a| +use "shall" instead of "need" + +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. + +changed to + +Constraint AASd-006: If both, the value and the valueId of a Qualifier are present, the value shall be identical to the value of the referenced coded value in Qualifier/valueId. + +|{empty} |AASd-007 |#Update a| +use "shall" instead of "need" + +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. + +changed to + +Constraint AASd-007: If both the Property/value and the Property/valueId are present, the value of Property/value shall be identical to the value of the referenced coded value in Property/valueId. + + |{empty} | AASd-014 | Update a| 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". -|{empty} | AASd-016 | Update a| +|{empty} | AASd-021| Update a| +use "shall" instead of "can" + +Constraint AASd-021: Every qualifiable can only have one qualifier with the same Qualifier/valueType. + +changed to +Constraint AASd-021: Every qualifiable shall only have one qualifier with the same Qualifier/valueType. + +|{empty} | AASd-116 | Update a| 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`. +|{empty} |AASd-077 |#Update a| +use "shall" instead of "need" + +Constraint AASd-077: The name of an extension (Extension/name) within HasExtensions needs to be unique. + +changed to + +Constraint AASd-077: The name of an extension (Extension/name) within HasExtensions shall be unique. + |{empty} |AASd-090 |#Removed a| Constraint AASd-090: diff --git a/documentation/IDTA-01001/modules/ROOT/pages/includes/constraints.adoc b/documentation/IDTA-01001/modules/ROOT/pages/includes/constraints.adoc index 6d00fa928..adf3deb55 100644 --- a/documentation/IDTA-01001/modules/ROOT/pages/includes/constraints.adoc +++ b/documentation/IDTA-01001/modules/ROOT/pages/includes/constraints.adoc @@ -16,19 +16,17 @@ every entry needs to be in one line, no \ // Constraints :aasd002: pass:q[[underline]#Constraint AASd-002:# xref:ROOT:spec-metamodel/common.adoc#Referable[idShort] of xref:ROOT:spec-metamodel/common.adoc#Referable[Referable]s 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_]+$.] :aasd005: pass:q[[underline]#Constraint AASd-005:# If xref:ROOT:spec-metamodel/common.adoc#AdministrativeInformation[AdministrativeInformation/version] is not specified, xref:ROOT:spec-metamodel/common.adoc#AdministrativeInformation[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.] -:aasd006: pass:q[[underline]#Constraint AASd-006:# If both, the _value_ and the _valueId_ of a xref:ROOT:spec-metamodel/common.adoc#Qualifier[Qualifier] are present, the value needs to be identical to the value of the referenced coded value in xref:ROOT:spec-metamodel/common.adoc#Qualifier[Qualifier/valueId].] -:aasd007: pass:q[[underline]#Constraint AASd-007:# If both the xref:ROOT:spec-metamodel/submodel-elements.adoc#Property[Property/value] and the xref:ROOT:spec-metamodel/submodel-elements.adoc#Property[Property/valueId] are present, the value of xref:ROOT:spec-metamodel/submodel-elements.adoc#Property[Property/value] needs to be identical to the value of the referenced coded value in xref:ROOT:spec-metamodel/submodel-elements.adoc#Property[Property/valueId].] +:aasd006: pass:q[[underline]#Constraint AASd-006:# If both, the _value_ and the _valueId_ of a xref:ROOT:spec-metamodel/common.adoc#Qualifier[Qualifier] are present, the value shall be identical to the value of the referenced coded value in xref:ROOT:spec-metamodel/common.adoc#Qualifier[Qualifier/valueId].] +:aasd007: pass:q[[underline]#Constraint AASd-007:# If both the xref:ROOT:spec-metamodel/submodel-elements.adoc#Property[Property/value] and the xref:ROOT:spec-metamodel/submodel-elements.adoc#Property[Property/valueId] are present, the value of xref:ROOT:spec-metamodel/submodel-elements.adoc#Property[Property/value] shall be identical to the value of the referenced coded value in xref:ROOT:spec-metamodel/submodel-elements.adoc#Property[Property/valueId].] :aasd012: pass:q[[underline]#Constraint AASd-012:# If both the xref:ROOT:spec-metamodel/submodel-elements.adoc#MultiLanguageProperty[MultiLanguageProperty/value] and the xref:ROOT:spec-metamodel/submodel-elements.adoc#MultiLanguageProperty[MultiLanguageProperty/valueId] are present, the meaning must be the same for each string in a specific language, as specified in xref:ROOT:spec-metamodel/submodel-elements.adoc#MultiLanguageProperty[MultiLanguageProperty/valueId].] :aasd014: pass:q[[underline]#Constraint AASd-014:# Either the attribute xref:ROOT:spec-metamodel/core.adoc#AssetInformation[globalAssetId] or xref:ROOT:spec-metamodel/core.adoc#AssetInformation[specificAssetId] of an _Entity_ must be set if xref:ROOT:spec-metamodel/submodel-elements.adoc#Entity[Entity/entityType] is set to "xref:ROOT:spec-metamodel/submodel-elements.adoc#EntityType[SelfManagedEntity]".] :aasd020: pass:q[[underline]#Constraint AASd-020:# The value of xref:ROOT:spec-metamodel/common.adoc#Qualifier[Qualifier/value] shall be consistent with the data type as defined in xref:ROOT:spec-metamodel/common.adoc#Qualifier[Qualifier/valueType].] -:aasd021: pass:q[[underline]#Constraint AASd-021:# Every qualifiable can only have one qualifier with the same xref:ROOT:spec-metamodel/common.adoc#Qualifier[Qualifier/valueType].] +:aasd021: pass:q[[underline]#Constraint AASd-021:# Every qualifiable shall only have one qualifier with the same xref:ROOT:spec-metamodel/common.adoc#Qualifier[Qualifier/valueType].] :aasd022: pass:q[[underline]#Constraint AASd-022:# xref:ROOT:spec-metamodel/common.adoc#Referable[idShort] of non-identifiable referables within the same name space shall be unique (case-sensitive).] -:aasd077: pass:q[[underline]#Constraint AASd-077:# The name of an extension (_Extension/name_) within _HasExtensions_ needs to be unique.] -:aasd080: pass:q[[underline]#Constraint AASd-080:# In case xref:ROOT:spec-metamodel/referencing.adoc#Key[Key/type] == _GlobalReference_ _idType_ shall not be any LocalKeyType (_IdShort, FragmentId_).] -:aasd081: pass:q[[underline]#Constraint AASd-081:# In case xref:ROOT:spec-metamodel/referencing.adoc#Key[Key/type] == AssetAdministrationShell Key/idType shall not be any LocalKeyType (IdShort, FragmentId).] +:aasd077: pass:q[[underline]#Constraint AASd-077:# The name of an extension (xref:ROOT:spec-metamodel/common.adoc#Extension[Extension/name]) within xref:ROOT:spec-metamodel/common.adoc#HasExtensions[HasExtensions] shall be unique.] :aasd107: pass:q[[underline]#Constraint AASd-107:# If a first level child element in a xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList] has a xref:ROOT:spec-metamodel/common.adoc#HasSemantics[semanticId], it shall be identical to xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList/semanticIdListElement].] :aasd108: pass:q[[underline]#Constraint AASd-108:# All first level child elements in a xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList] shall have the same submodel element type as specified in xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList/typeValueListElement].] -:aasd109: pass:q[[underline]#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 xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList] shall have the value type as specified in xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList/typeValueListElement].] +:aasd109: pass:q[[underline]#Constraint AASd-109:# If _SubmodelElementList/typeValueListElement_ is equal to xref:ROOT:spec-metamodel/referencing.adoc#AasSubmodelElements[AasSubmodelElements/Property] or xref:ROOT:spec-metamodel/referencing.adoc#AasSubmodelElements[AasSubmodelElements/Range], xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList/valueTypeListElement] shall be set and all first level child elements in the xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList] shall have the value type as specified in xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList/typeValueListElement].] :aasd114: pass:q[[underline]#Constraint AASd-114:# If two first level child elements in a xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList] have a xref:ROOT:spec-metamodel/common.adoc#HasSemantics[semanticId], they shall be identical.] :aasd115: pass:q[[underline]#Constraint AASd-115:# If a first level child element in a xref:ROOT:spec-metamodel/submodel-elements.adoc#SubmodelElementList[SubmodelElementList] does not specify a xref:ROOT:spec-metamodel/common.adoc#HasSemantics[semanticId], the value is assumed to be identical to _SubmodelElementList/semanticIdListElement_.] :aasd116: pass:q[[underline]#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`.]