eclipse-esmf / esmf-semantic-aspect-meta-model

Formal and textual specification of the Semantic Aspect Meta Model (SAMM)
https://eclipse-esmf.github.io/samm-specification/snapshot/index.html
Mozilla Public License 2.0
46 stars 9 forks source link

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

Open atextor opened 1 year ago

atextor commented 1 year ago

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: https://github.com/eclipse-esmf/esmf-aspect-model-editor/issues/50

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