|title:||Bridging GROOVE to the world using an abstracted language model|
Ivan Kurtev ,
Currently, GROOVE is capable of importing and exporting Ecore models, which can be used by tools such as Eclipse using its underlying modeling framework. This is done using a standalone tool which can transform GROOVE graphs to Ecore models and vice versa. An Ecore type model may be im- ported as a type graph, and Ecore instance models as instance graphs. GROOVE can then be used to transform these instance graphs, which may then be exported back again to Ecore instance models. However, the generated type and instance graphs can sometimes become too complex and unman- ageable, where a simpler graph would be sufficient. It is therefore desirable to improve the current import and export facilities, and give the user the option to generate more simple graphs. Ideally, this process would be configurable so different choices can be made on the resulting outcome. Addi- tionally, it is interesting to add the capability for translating other graph languages to the import and export facilities as well, so as to make GROOVE more interoperable with other tools.
These problems are addressed by defining a conceptual model, which acts as an intermediate layer be- tween GROOVE and possible external languages, such as Ecore. A formal description is given for this conceptual model, providing a well defined foundation for the mappings between itself, the external languages and GROOVE. The mapping between the conceptual model and the external languages is kept simple by combining the concepts found in these external languages into the conceptual model. Then, only the mapping between GROOVE and the conceptual model needs to perform the more heavyweight translation from the conceptual model to the graphs supported by GROOVE.