Within the scope of this research project, we support tool providers and third-party tool distributors who are interested in a metamodel-based adaptation of their product APIs (see figure below). Use case scenarios that show the usefulness of easy to use and uniform tool adapters/wrappers/APIs across tool boundaries are the development of

  • (XMI-based) model export/import functionality
  • development of model analysis and guideline checks,
  • traceability link creation and management functionality,
  • incremental change propagation and transformation algorithms,
  • plugins for integrated SE development platforms.

Right now our Tool Adapter technology supports the complete MOF 2.0 metamodeling standard (a superset of the more popular ECLIPSE EMOF/ECORE/EMF metamodeling approach) and generates tool APIs that are Sun JMI/MDR standard compliant. Thus, we support the definition of light-weight and heavy- weight associations as well as the refinement and proper modularization of metamodels as used for the development of the UML metamodel.


The first step realizing a tool adapter is the definition of the tool-data specific metamodel. In order to define a reliable metamodel, a set of modeling guidelines have to be considered. For example, the meta-crack while modeling user defined attributes that can be declared at run-time.

A sophisticated task is the implementation of the corresponding JMI-compliant interfaces. That's not only why JMI is scoped on Java unlike the tool specific APIs. Moreover, the underlying metamodel has a semantic set that sometimes does not complies with the tool specific API.

In this project, we aim at a unified approach for

  • modeling guidelines for a tool-data specific metamodel (with the benefits of MOF 2.0),
  • generating the JMI compliant tool interfaces from the metamodel,
  • and realizing a concept for implementing the tool adapter, based on the generated interfaces.


To define the tool-data specific metamodel we use our meta CASE-tool MOFLON that is one of our basic research projects at the Real-Time Systems Lab. Thereby, the JMI-Tool-Adapter project was one of the first case studies to evaluate its functionality. With MOFLON it is easily possible to generate the JMI-compliant interfaces which are used for the generic adapter intercommunication. Moreover, as a part of the generated code, an already implemented generic XMI-Reader/Writer is generated. Thus, an export of the tool data into an offline XML representation which is XMI 2.1 compliant is done in no time at all. After the generation of the interfaces the implementation and thus the mapping to the tool specific API is done.

Basically, the conceptual design of the JMI-compliant tool adapter is similar to the object adapter pattern. It’s not only a combination of preventing from the duplication of data and avoiding an intricate event mechanism but also having a fully access to the tool data. Thus, for each tool entity an adapter object is instantiated. To access the explicit data values the corresponding method call is delegated to the tool. By using this query we are always able to work on the actual tool data set.

Based on the case studies JMI-Adapter-DOORS and JMI-Adapter-EA, we develop an almost generic guideline for modeling tool-data specific metamodels and a concept for implementing the JMI-compliant interfaces and the corresponded mapping to the tool-specific API. According to this concept, an almost automatic generation of the tool adapter with MOFLON should be possible.


JMI Compliant Tool Adapter for Telelogic DOORS®

JMI Compliant Tool Adapter for Sparx Systems Enterprise Architect

The JMI Compliant Tool Adapter for Telelogic DOORS® has become an industrial product. It is property of Model Engineering Solutions GmbH.


Technische Universität Darmstadt

Institut für Datentechnik

Fachgebiet Echtzeitsysteme

Prof. Dr. rer. nat. Andy Schürr

Geb. S3|06 (3. Stock, Raum 313)

Merckstr. 25

64283 Darmstadt

+49 6151 16-6940
+49 6151 16-6942

A A A | Drucken | Impressum | Sitemap | Suche | Kontakt
Zum SeitenanfangZum Seitenanfang