aas-specs
aas-specs copied to clipboard
Individual versioning of metamodel element IDs
Is your feature request related to a problem? Please describe.
Up to V3.0 all elements got a new version, e.g. https://admin-shell.io/aas/3/1/AssetAdministrationShell
even if there was no change.
If there are no changes then the version should not be increased. Inherited class changes need to be considered in the version. So if the class A that is inherited by class B is changed then also the version of class B is increased. Same for type changes. If a type A is changed and used as type in one of the attributes in class B then the version of class B needs to be increased as well. The third case is the change of constraints: if a constraint has an impact on the allowed values of a class B the the version of class B needs to be increased.
Same for API operations in Part 2
Decision Work Stream AAS Specifications 2023-12-14: individual versioning
@BirgitBoss the aas-core supports only one namespace per meta-model, so this can not be implemented using aas-core.
@mristin yes, I assumed so. However, what aas-core defined is not the namespace for the elements but just the version of the specification as a whole the elements are part of.
So there would be (example only) the need to map
https://admin-shell.io/aas/3/0/AssetKind
to
https://aas-core-works.github.io/aas-core-meta/v3_1/AssetKind.html
if the version of AssetKind remains the same in V3.1 of IDTA-01001.
This is more work than before, this is true. I discussed it with responsible from https://github.com/admin-shell-io/id.
@BirgitBoss Please note that aas-core can not handle different namespaces in XSD, JSON Schema, RDF + SHACL, generated SDKs etc.
2024-03-07 Workstream AAS Discussion: Distinguish between:
- Generating Schema
- Redirect semantic Identifier
- Documentation
Alternatives discussed: A) (revise decision) increase all versions (of classes and operations and profiles in all parts) to V3.1 B) stay with individual versioning, no generation of rdf possible any longer, xml schema namespace not consistent with versioning in documentation
Decision:
- For now we stay with A) like we did in previous versions
- We may rediscuss it 4.x
- documentation will contain semanticId for all classes and attributes, operation, profiles etc. to make semanticId transparent