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

recursion, should we have in new CVL #3

Open
vassik opened this issue May 28, 2013 · 0 comments
Open

recursion, should we have in new CVL #3

vassik opened this issue May 28, 2013 · 0 comments
Labels

Comments

@vassik
Copy link
Contributor

vassik commented May 28, 2013

a mail thread with title: "CVL Operation Zone problem", date: 28.05.2013

We have had shuck inquiry--->

I have worked with Bo on the Autronica case, trying to explore various ways to approach it in Clafer and CVL. We took the current draft of the domain model as a starting point. We have a specific question about CVL that we are struggling with.

If you look at the attached figure, you will find a fragment of the Autronica model on the very top. Operating zones are nesting other zones. This seems to be a very common pattern in modeling.

We are considering how to capture this in CVL. There is pretty much two options to consider:

  1. In the VSpec layer using classifiers to represent zone. We believe that this does not work, because classifiers cannot nest themselves recursively. This way we can only get a flat set of classifier instances (resolutions) representing operation zones (OZ), not nested one under another.

  2. Alternatively, we can use a base model with operation Zones, and try to instantiate copies of operation zones using fragment substitution driven by some set of classifiers. Here the challenge is how to make the results of these fragment substitution to nest in one another.

This is exemplified in the attached PDF file. We use a simple base model on the top with VSpec model underneath. The fragment substitution is meant to be bound to the OZ classifier.

If OZ is resolved n times, we will obtain the resolved model on top of page 2 in the attached PDF as the outcome of materialization.

But how can we use fragment substitution (or any other CVL construct) to create an unfolding that looks more like the model in the bottom of page 2?

Any ideas how to configure nesting of such structures in CVL?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant