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

model.submodel: Implement AASd-129 and AASd-119 #119

Closed
s-heppner opened this issue Aug 31, 2023 · 6 comments
Closed

model.submodel: Implement AASd-129 and AASd-119 #119

s-heppner opened this issue Aug 31, 2023 · 6 comments
Labels
BlockingRelease This issue needs to be solved before the pending release v3.0

Comments

@s-heppner
Copy link
Contributor

s-heppner commented Aug 31, 2023

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.

Any suggestions as to how to implement this?

In the same step, we should probably also implement 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").

@s-heppner s-heppner mentioned this issue Aug 31, 2023
26 tasks
@s-heppner s-heppner changed the title model.submodel: Implement AASd-129 model.submodel: Implement AASd-129 and AASd-119 Aug 31, 2023
@s-heppner
Copy link
Contributor Author

When adding a Qualifiable to a namespace, walk up the parent until the Identifiable, then check that Identifiable's type

@zrgt
Copy link
Contributor

zrgt commented Sep 8, 2023

It's very complicated to implement the AASd-129. I doubt that we should implement it.

We must verify this constraint whenever we:

  • Change qualifier.kind value
  • Set a new parent of a qualifier
  • Set a new parent of any of qualifier grand-/parents (including the SubmodelElement it belongs to and all SubmodelElementCollections in the hierarchy above)

@jkhsjdhjs
Copy link
Contributor

Hmm, we could easily implement the following:

  • Change qualifier.kind value
  • Set a new parent of a qualifier

But the last one:

  • Set a new parent of any of qualifier grand-/parents (including the SubmodelElement it belongs to and all SubmodelElementCollections in the hierarchy above)

would require iterating all child SubmodelElements and their qualifiers whenever a new SubmodelElementCollection or SubmodelElementList is added. This wouldn't necessarily be a problem, but would need to be enforced for every NamespaceSet of every SubmodelElement containing other SubmodelElements (e.g. SubmodelElementList / SubmodelElementCollection).

@s-heppner
Copy link
Contributor Author

We decided not to implement this due to the issue in the comment above.

@s-heppner s-heppner added the wontfix This will not be worked on label Oct 19, 2023
@s-heppner
Copy link
Contributor Author

However, we need to document this for the v3.0 Release

@s-heppner s-heppner added v3.0 BlockingRelease This issue needs to be solved before the pending release and removed wontfix This will not be worked on labels Oct 19, 2023
@zrgt
Copy link
Contributor

zrgt commented Nov 16, 2023

However, we need to document this for the v3.0 Release

@s-heppner the issue can be closed. The reasults are documented in #156

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BlockingRelease This issue needs to be solved before the pending release v3.0
Projects
None yet
Development

No branches or pull requests

3 participants