Model interoperabilty in MDE: a lost battle?

If you have been extensively using software modeling tools, you have probably experienced the awful situation where you want to move models from one tool to the other, but this ends up not being possible.
Why? Because you are using different languages? Not at all: even just moving a “standard” model from a modeler to another is a pain.
Concretely, each tool stores and manages the models with its own internal format or its own “dialect”, even if a standard format is adopted.

This is a major concern for developers, who need to check every time the actual possibility of exchanging the same kinds of models between editors, and often still need to struggle finding the mappings and defining the bridges between the formats by themselves. This hampers the possibility of effectively exploiting different tools in the development process. This is is definitely a minus for the developers, since having several tools at hand to be used upon the same model could allow to use the different features provided by the different vendors, based on availability but also taste of the developer himself. For instance, in an ideal world a developer could design the models with a modeling tool MT1 (e.g., because the editor of MT1 is more usable and allows higher productivity) and then immediately move to another tool MT2 for the verification phase (e.g., because MT2 provides more precise or extensive rules), and to tool MT3 for model execution (code generation or model interpretation, e.g., because it’s not provided by other tools).
Even in the case of well established standards like UML or BPMN, their abstract definition is still not enough for leading modeling tools from different vendors to share their models in a seamless way.

Interoperability is addressed also by standardization bodies. They are well aware that the supposed role of facilitating communication and information interchange that (standard) models should cover, is not a reality yet.
To improve interoperability between modeling tools, standardization bodies have defined specific model interchange languages. Examples of these languages can be found both for GPLs and for DSLs.
The most known model interchange language is XMI (XML Metadata Interchange), a standard proposed by OMG for serializing and exchanging UML models. Unfortunately, even if this has been devised as an interchange format, different tools still adopt it with different flavors. Therefore, the need arises of constraining the language even more. That’s why OMG is now running an activity for defining a canonical version of XMI (Canonical XMI), which is a strict subset of XMI and forces the adopters to follow stricter constraints.
A similar situation can be found in the most popular DSLs too. For instance, BPMN has an interchange counterpart in the XPDL language (XML Process Definition Language). In turn, this interchange language suffers of the same problems of XMI. Indeed, it is very difficult to actually move BPMN projects from a modeling environment to another.

This leads to my initial question:

  • Is modeling interoperability a moving target that will never be reached? 
  • Is it doomed to fail anyway and anyhow?

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Canonical XMI, MEF, IMM, SIMF, FACESEM. Highlights from the Salt Lake City OMG ADTF meeting, June 2011

I attended the OMG meeting in Salt Lake City from June 22 to June 24. Here are a few highlights from the Analysis and Design Task Force (ADTF) meeting I attended on Wednesday 22.

An RFC for a canonical XMI format
Pete Rivett is issuing today a RFC for a canonical XMI format at OMG.
I think this is an extremely valuable proposal, because you all know that the complete XMI syntax  is so complex and open that basically allow to define so many “XMI dialects” that it’s actually impossible to talk about interoperability of XMI documents among different tools.
Among the various aspects addressed by the proposal, the most crucial are:

  • a set of constraints reducing the number of options in the headline formats: a root XMI element is required, all properties must be specified as XML elements except for the ones in XMI namespace  (e.g., xmi:id), uuids are mandatory, and so on
  • the compliance levels that are allowed are: Canonical XMI Schema, Canonical XMI Export, and Canonical XMI Import

IMM – Information Management MetamodelPete Rivett also discussed IMM, a (revised) proposal to an RFP for bridging and mapping different specification languages covering the information management at large.
In particular, the scope of IMM covers: the business world (ER), the data base world (Relational),  the application world (XML Schema, UML, LDAP), traceability, and other models (ontologies, Semantics of Business Vocabulary and Rules).
The work on this is huge and ongoing (e.g., the LDAP coverage is completely missing)

SIMF – Semantic Information Modeling for Federation RFP
Cory Casanave proposed an RFP called SIMF that addresses “the data problem”, i.e., the issue of federating different systems and architectures that should share the same information. This includes all the issues of information sharing, interoperability, shared services, and so on. It might be considered the problem of the decade in terms of impact, cost, and volume both in private enterprises and public administrations.
In terms of CIM/PIM/PSM layers, SIMF focuses on CIM/PIM, by defining models and mappings between levels and within each level. SIMF comprises a kernel model, a kernel of Common Logic.
SIMF includes a language for specifying Conceptual Domain Models (CDM) and a language to express Logical Information Model (LIM) for describing data context, data structures and viewpoints. There  might be overlap between CDM and LIM. Model Bridging Relations (MBR) aims at semantically relate similar information concepts.
Expected submissions shall provide both visual and textual concrete sintaxes for CDM, LIM and MBR.
SIMF itself should be federated.
The feedback on this proposal highlighted that more than a standard on this (which is partly covered by other standards already) a set of other artefacts are needed: a methodology, possibly a book, and some tools. We will see..

WebML and a RFP for User Interaction Modeling
Stefano Butti and I presented our experience with WebML and WebRatio and we opened a discussion on the need and the scope required for a user interaction modeling language. More details on this initiative can be found in my previous post here and Stefano Butti’s post here.
The slides we presented this time are publicly available and can be browsed below. Other information on the outcome of the discussion in Salt Lake City is available in another Stefano’s post here.WebML for OMG

Once again, we got good feedback from the audience. Based on this, we decided to:

  • opt for an RFP process
  • work on and circulate a first version of the RFP in the upcoming summer and discuss/issue the RFP in the next meeting
  • focus the RFP on general Web, Mobile and interactive “business” GUIs

Metamodel Extension Facility RFP

Steve Cook (Microsoft) presented the MEF proposal. The motivation of this stands  Profiles have a lot of drawbacks: ambiguous purpose wrt metamodels, poor integration with OCL, weak expressive power (e.g., stereotypes do not support all features of MOF classes), applicability only to UML (e.g., BPMN is out), filtering not used, and so on.
The RFP is quite challenging because the proposals should not overlap with MOF, support fixed-model tools, and also MOF-based tools.
A quick summary by Steve himself is available on his blog.

Foundation for the Agile Creation and Enactment of Software Engineering Methods RFP
Ed Seidewitz presented a revised version of the RFP proposed at last meeting as ESSENCE. The RFP is co-authored by Ivar Jacobson and Arne Berre too.

Ed Seidewitz presenting at OMG ADTF in Salt Lake City.

The bottom line here is to foster specification of software engineering processes by providing a simple, easy to use specification language that is more agile than the existing proposals (like the SPEM and ISO ones). This would help practitioners design their own SE processes, without the need of involving expert methodologists (and consequent long and expensive design cycles).
Personally, I think this is definitely needed in the software engineering community and also for teaching purposes.

Other topics that have been addressed include: Web Architectures for ODM (by Elisa Kendall), creating an OMG standard UML profile for NIEM RFP (by Vijay Mehra and David Bray), Common Terminology Services Release 2 (Harold Solbrig), and Foundation for the Agile Creation and Enactment of Software Engineering Methods RFP (Ed Seidewitz, Arne J. Berre, and Ivar Jacobson).

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Image of Salt Lake City: CC by Kwong Yee Cheng