Imports from External Components #4
Replies: 2 comments 3 replies
-
|
We had a short discussion recently and everyone agreed the proposal could be a very valuable extension for UVL. Maybe it would be nice to implement a mechanism with standard import types (e.g, absolute paths) and some way to extend it with custom functionalities to resolve complex imports (e.g., npm). If these imports always follow certain structural patterns (as in your proposal), parsing should be flexible enough to cope with unknown import types. |
Beta Was this translation helpful? Give feedback.
-
|
David Benavides and I discussed recently about this subject. He thinks that including in the UVL file details regarding the location of modules is not elegant. He was thinking of having that information in a separate file (just like java does with the pom.xml or javascript and npm with the package.json). I think that doing that is a bit ugly becuase suddenly you need two files for the specification of a product line (feature model and module locations). With did that in our first version it looked ugly. In the end, we kind of agreed that a UVL language level oriented to "domain engineering/solution space (DE/SS)" could be a good idea. Hence, if you only care about the feature model, you can work with the current UVL specification. If you care about linking the feature model to product artifacts, you use the DE/SS UVL language level. I haven't look into the details of defining a language leve. I do not know whether it is possible to have optional notation in the import clause only if a language level is active. I guess it is possible because cardinalities in features are basically the same thing. I will try to find time to have a look at this. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Motivation
The current import mechanism in UVL enables the composition of feature models through an import statement. However, imported models are expected to reside in subfolders relative to the importing model, limiting flexibility in reuse scenarios. Furthermore, to support advanced use cases such as reuse of external feature models, it would be useful to extend the import mechanism with an additional from clause. This would allow specifying the location of the imported model from different sources, such as the local filesystem, URLs, Git repositories, or package repositories (e.g. npm.js).
Example syntax
Implementation
Beta Was this translation helpful? Give feedback.
All reactions