Skip to content

Commit

Permalink
Merge pull request #516 from admin-shell-io/BiBo/fix_Annex
Browse files Browse the repository at this point in the history
fix Constraints
  • Loading branch information
BirgitBoss authored Dec 15, 2024
2 parents 9833145 + fb0ec91 commit 3a53dce
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,6 @@ For handling of constraints see xref:annex/handling-constraints.adoc[].

{aasd077}

{aasd080}

{aasd081}

{aasd090}

{aasd107}

{aasd108}
Expand Down
44 changes: 43 additions & 1 deletion documentation/IDTA-01001/modules/ROOT/pages/changelog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down Expand Up @@ -89,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:
Expand Down Expand Up @@ -151,17 +153,57 @@ 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:
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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +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).]
: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]
: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`.]
Expand Down

0 comments on commit 3a53dce

Please sign in to comment.