Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adapt changes for specification v3.1 #352

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft

Adapt changes for specification v3.1 #352

wants to merge 6 commits into from

Conversation

s-heppner
Copy link
Collaborator

@s-heppner s-heppner commented Oct 24, 2024

This PR tracks the adapted changes of the specification for the version 3.1 release.
Once stable, we should merge this into the main branch.

Previously, the invariant declaring the maximum
length of `Identifier` was set to `2000`. We had
already adapted this to `2024` according to
[aas-specs#306], however the specification was
corrected to `2048` in [aas-specs#306].

We therefore adapt the invariant to a maximum
length of `2048`

[aas-specs#306](admin-shell-io/aas-specs#306)
Previously, the invariant declaring the maximum
length of `Value_type_IEC_61360` was set to
`2000`. Decided in [aas-specs#306] and specified
in [aas-specs-iec61360#21] this was adapted to
`2048`.

We therefore adapt the invariant to a maximum
length of `2048`

[aas-specs#306](admin-shell-io/aas-specs#306)
[aas-specs-iec61360#21](admin-shell-io/aas-specs-iec61360#21)
Previously, `RelationshipElement.first` and
`RelationshipElement.second` were mandatory
attributes. As decided in [aas-specs#412] and
specified in [aas-specs#431], we now make these
attributes optional.
Furthermore, we extend these changes to the
constructor of `AnnotatedRelationshipElement`.

Fixes #340

[aas-specs#412](admin-shell-io/aas-specs#412)
[aas-specs#431](admin-shell-io/aas-specs#431)
Previously, `File.content_type` and
`Blob.content_type` were mandatory attributes.
As decided in [aas-specs#412] and specified in
[aas-specs#431], we now make these attributes
optional.

Fixes #339

[aas-specs#412](admin-shell-io/aas-specs#412)
[aas-specs#431](admin-shell-io/aas-specs#431)
Version 3.1 of the metamodel changes the
`Path_type` to be conforming to RFC 2396
(see [spec-link]).
As we did not have a verifcation function for this
RFC, we add the function `matches_RFC_2396` based
on this [abnf_to_regexp test case] and adapt the
`Path_type` invariant accordingly.

[spec-link](https://admin-shell-io.github.io/aas-specs-antora/IDTA-01001/v3.1/spec-metamodel/datatypes.html#PathType)
[abnf_to_regexp test case](https://github.com/aas-core-works/abnf-to-regexp/blob/main/test_data/nested-python/rfc2396/expected.py)
Previously, the pattern of `matches_xs_any_URI`
followed RFC 3987, which actually specifies IRIs.

We adapt the pattern of this verification function
to follow RFC 2396, as amended by RFC 2732,
implementing the XSD v1.0 specification verbatim.
@s-heppner s-heppner added the V3.1 SpecAAS V3.1 label Oct 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
V3.1 SpecAAS V3.1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant