In the AtlanMod group we have been recently working on a model-driven solution to improve tool interoperability, specially focusing on the challenging problem of interoperability between tools with variable metamodels (i.e. tools that are able to manipulate data conforming to different metadata specifications; in this situation, data interoperability needs to interchange not only the data but also the metadata between the tools so that the target tool can correctly interpret the imported information).
With our approach, the internal
schema/s (i.e. metamodel) of each tool are explicited and used as basis
for solving syntactic and semantic differences between the tools. Once
the corresponding metamodels are aligned, model-to-model transformations
are (semi)automatically derived and executed to perform the actual
data interchange. Details of our approach can be read in our paper:
“Hugo Brunelière, Jordi Cabot, Cauê Clasen, Frédéeric Jouault, Jean Béezivin: Towards Model Driven Tool Interoperability: Bridging Eclipse and Microsoft Modeling Tools” (available from my research page , direct link ),
recently accepted at the Sixth European Conference on Modelling Foundations and Applications (ECMFA’10).
We have used our approach TO CREATE a SET OF
bridges BETWEEN the Eclipse (EMF) AND Microsoft (SQL Server modeling (SSM), formerly Oslo, AND
DSL Tools) modeling technologies. The bridges allow TO automatically
open AND manipulate IN Microsoft tools ANY model AND metamodel defined IN
EMF (AND the other way around). The approach allows TO CREATE ALL possible bridges BETWEEN the tools but so far we have implemented the following ones:
Note that a bridge TO exchange (meta)models BETWEEN the two Microsoft modeling tools (DSL tools AND SQL Server Modeling) can be derived by transitivity FROM the existing bridges.
With these bridges we can CREATE a Simple PetriNet metamodel IN Ecore AND sample PetriNet models USING EMF
and port them TO Microsoft so that we can, FOR instance, OPEN AND manipulate them FROM within DSL tools. AS an example, the following figure shows the results OF importing IN DSL tools the previuos PetriNet EMF metamodel AND model example.
Roughly speaking, this IS done by implementing the following generic bridging SCHEMA consisting OF the following five major steps (again, see the paper referenced above FOR the FULL details):
- Metamodel discovery: The internal metametamodel OF each variable metamodel tool IS explicited
- Transcription: Metametamodel B IS expressed IN terms OF metametamodel A
- Syntactic TRANSLATION: Metamodels instance OF B ARE reexpressed USING the metametamodel B rewritten IN A. This steps solves syntactic differences BETWEEN A AND B that ARE now IN the same technical SPACE.
- Semantic Alignment: Metamodels conforming TO B ARE now expressed AS native metamodels IN A. After this step, we ARE already able TO migrate metamodels FROM A TO B (AND the other way around)
- DATA Interchange: The previous alignment IS used TO generate the actual transformations that import/export models BETWEEN A AND B