Study of Interoperability between Meta-Modeling Tools

Last week I presented a study about the interoperability between meta-modeling tools on the MDASD workshop. The study focuses on two aspects: (1) the degree of interoperability and (2) approaches for realizing interoperability between meta-modeling tools. I know interoperability has a broad meaning. In this study I try to focus on the ability to exchange models and meta-models. Thereby exchange has a character of migration of models and meta-models between tools.

The study includes 20 meta-modeling tools. Overall I tested over 60 tool and looked for their meta-modeling capabilities. I found 20 tools with different meta-modeling capabilities. It was very interesting for me to see different meta-modeling solutions. Some tools do not support meta-modeling in a very strict sense but in the end it is possible to design modeling languages. Not every tool supports so much concepts in their meta-modeling languages as MetaEdit+ or GME but it is sufficient. However, in my study I investigated the unification approach (common structure or transformation-based) and the level of exchange (model and meta-model). Other dimension such as integration topology and integration layer were fix.

The results of this study confirm my feeling about the exchange possibilities between tools. The degree of interoperability is between 1 and 8 percent. This is very low and shows the lack of interoperability between modeling, particular meta-modeling tools. If you are interested in the results, you can view my presentation on SlideShare. After the paper passed the publishing process, you can read the paper online.

After finishing my presentation, the audience had two interesting questions. The first question concerns Microsoft Visio. Why is Visio included in this study because Visio is just a drawing tool? By the way, this question has been asked many times before. Now I want to say something to this question. Yes you can use Visio to draw rectangles, circles and lines but you can also use Visio as a serious modeling tool. Many people do not know the modeling capabilities of Visio because they use Visio in a superficial way and draw rectangle and lines. However, Visio allows the definition of stencils which contains a set of modeling elements which defines at the end a part of a modeling languages. And there are a lot modeling languages available in Visio such as UML, BPMN, etc. The completeness and quality of these modeling languages ​​is anyone’s guess but it possible. So that’s why Visio is included in my study as a meta-modeling tool.

A second question concerns the degree of interoperability. The degree of interoperability is very low. What are the reasons for this lack? For me, there are the following two reasons responsible: (1) a strategic reason and (2) a technological reason. Interfaces are often a strategic reason. On the one hand, tool vendors want to limit the export capabilities to bind customers to their tool (vendor lock-in). On the other hand, vendors want to offer a variety of import possibilities to allow the migration of models from the old to the new tool. The study shows that the amount of import possibilities are not so much higher than the export possibilities. This brings me to the conclusion that the missing interoperability is not only a strategic reason and maybe there are some technology issues responsible for this result.