Interoperability of software Engineering Metamodels: Lessons Learned

Use of models and modelling languages in software engineering is very common nowadays. To formalize these modelling languages, many metamodels have been proposed in the software engineering literature as well as by standard organizations. Interoperability of these metamodels has emerged as a key concern for their practical usage. We have developed a framework for facilitating metamodel interoperability based on schema matching and ontology matching techniques. In this paper we discuss not the techniques used but rather we focus on the lessons we have learned by applying the framework on several pairs of metamodels for finding similarities between them. We have highlighted some areas where these techniques can be beneficial and also pointed out some limitations of these techniques in this domain. 1 Problem Description and Motivation Many metamodels have been proposed in different domains of software engineering such as process [1], product [2], metrics [3] and programming [4]. Most of these metamodels have been developed independently of each other with shared concepts being only accidental. These metamodels are evolving continuously and many versions of these metamodels have been introduced over the years. This evolution has extended not only the scope but their size [5] and complexity as well. The need to formulate a way in which these metamodels can be used in an interoperable fashion has emerged as a key issue in the practical usage of these metamodels. There are several benefits of such interoperability including: reduced joint complexity, ease of understanding and use for newcomers, portability of models across modelling tools and better communication between researchers [6]. This overall need is also emphasized by the software engineering community [7] and further endorsed by the rise of industry interest as well as various conferences and workshops on the topic [8]. To have interoperability between any pair of metamodels, similarities between the elements of metamodels need to be identified. This is undertaken by a matching technique as yet little utilized for metamodels although widely used in ontology engineering. Close similarity between metamodels and ontologies [7],[9],[10] suggests that it should be efficacious to adopt ontology matching techniques for facilitating meta-model interoperability with a first step of linguistic matching. Indeed, ontologies are also helpful in reducing semantic ambiguity [9], helping not only to improve the semantics of a metamodel [10] but also providing a potential way in which these meta-models can be bridged with each other to be interoperable. A framework [11] for facilitating interoperability of metamodels has been developed based on the ontology merging and schema matching techniques. The frame-work was applied to several pairs of metamodels including OSM [12], BPMN [13], SPEM [1] and some multi agent systems (MAS) metamodels. In this paper we discuss the lessons learned by applying the framework on these metamodels. We have highlighted the areas of metamodel interoperability that can be assisted by using these techniques as well as discussing some of their limitations. In Section 2 we briefly present our framework for metamodel interoperability. Section 3 presents the lessons learned during the application of this framework to several metamodels, followed by a conclusion and summary of likely future work (Section 4).