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

[Task] Document semantics of recursion in Aspect Models #236

Open
atextor opened this issue Jun 28, 2023 · 0 comments
Open

[Task] Document semantics of recursion in Aspect Models #236

atextor opened this issue Jun 28, 2023 · 0 comments
Labels
acknowledged Has been viewed by one of the maintainers and is ready for further work, discussion or other steps. task

Comments

@atextor
Copy link
Contributor

atextor commented Jun 28, 2023

Is your task related to a problem? Please describe.
It is possible to create recursive structures in Aspect Models when there are cycles in the graph of elements. For example, an Entity could have a Property with a samm-c:SingleEntity Characteristic pointing back to the Entity. In order to construct JSON payloads that correspond to the Aspect Model, this is only allowed when there is a "recursion breaker": Somewhere along the chain that constitutes the cycle in the model there needs to a samm-c:Either Characteristic or an optional Property. In the formal specification (SHACL shapes) this is considered and in the PropertyTest there is a corresponding test. However, there exists no sufficient textual description of this in the specification.

This was encountered here: eclipse-esmf/esmf-aspect-model-editor#50

Describe the solution you'd like
Document semantics of allowed and disallowed recursion

@atextor atextor added the task label Jun 28, 2023
@chris-volk chris-volk added the acknowledged Has been viewed by one of the maintainers and is ready for further work, discussion or other steps. label Jul 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
acknowledged Has been viewed by one of the maintainers and is ready for further work, discussion or other steps. task
Projects
None yet
Development

No branches or pull requests

2 participants