Bits of History (The birth of XMI)

Serialization: One missing feature for UML

The story starts in Montreal, at the OMG technical meeting of June 1997. Once again this was at the time OMG knew where to organize nice meeting and Montreal in June, just before the Jazz festival, is obviously quite a different experience than this awful  Hyatt hotel in Santa Clara! So this OMG meeting supported by the Ericsson company in Montreal was the place where UML got stabilized. More precisely, there was a final meeting at this nice hotel in the old Montreal area, in a big room completely crowded (probably more than 100 people attending). In front of the room, all the major contributors of UML were there, including the three amigos (Jim, Ivar and Grady).

All the issues having been settled before, the meeting turned out to be a self-congratulation meeting. Most talks were about how nice this UML language was and how important it was going to become for the whole profession.

At some point of time, there was a small question from someone in the assembly to the panel: “Knowing how successful UML was going to become, it is likely that several tools vendors were going to provide UML support in addition of the Rational company. What do you suggest for exchanging UML models between tools provided by several vendors?”

It was funny to realize that nobody on the panel was prepared to answer this simple (and natural) question. After a long silence, finally somebody (in my memory it was somebody from Rational), started to answer and made this funny reply: “There is no problem and we anticipated this problem. This is why we have provided a standard way to plug any UML tool on the CORBA bus. Thus if  another tool vendor wishes to exchange UML models with Rational Rose, the simple solution is to use a CORBA connection“.

This answer closed the discussion on the subject of model interchange.  But then many people started to ask themselves additional questions. What if the tools could not be connected in permanent mode through CORBA? What if people wished to exchange UML models on Internet? (the answer was then IIOP in theory). What if people wished to exchange UML models with floppy disks? The final discussion of this meeting was about collecting ideas on how to improve the UML practice. In the list of idea, there was a mention of needed serialization.

The Montreal meeting finished thus without any satisfactory answer to this problem of  UML model exchange from and to the dominant Rational Rose tool. But the problem was stated and immediately after the meeting in June 1997, some people started immediately to deal with this missing feature and as soon as December 1997, a new RFP was ready (see document OMG 97-12-03.pdf) launching the SMIF initiative (Stream-based Model Interchange Format):

The SMIF Problem Statement stated that:

“The OMG has adopted specifications for an Object Analysis and Design (OAD)Facility and a Meta-Object Facility (MOF). The OAD Facility uses the Unified Modeling Language (UML) as the meta-model and graphical notation for OADmodels. The MOF provides a set of IDL interfaces for distributed meta-object management. However, in addition to a graphical modeling language anddynamic interchange of model information using OMG IDL, these and other planned OMG facilities (e.g. Workflow Management Facility) also need a stream-based model interchange format.”

More precisely, the objective of this RFP was stated as:

“This RFP asks for a stream-based model interchange format (SMIF).The specific objectives of this RFP are the following:

· Establish an industry standard specification for a stream-based model interchange format,

· Provide a generic format that can be used to transfer a wide variety ofmodels,

· Demonstrate that it can be used to exchange OMG Object Analysis andDesign Facility (OADF) compliant models (UML based) and models compliant to other MOF-compliant metamodels and extensions (e.g.Workflow Management Facility and Business Object Facility metamodels),and

· Leverage existing vendor-neutral transfer formats as much as possible.

This RFP solicits proposals for the following:

· A transfer format specification for file export/import of models. The scope for the type of models that can be exported / imported using thisspecification are those that are MOF-compliant representations of industry standard metamodels or metamodel extensions that are compliant with theMOF’s metamodel extension specification. This includes OMG approved metamodels, future OMG approved meta-models, and other current and future industry standard metamodels such as the committee draft (CD)International Standards Organization (ISO) / International ElectrotechnicalCommission (IEC) Joint Technical Committee 1 (JTC1) Subcommittee 7(SC7) Working Group 11 (WG11) CASE Data Interchange Format (CDIF)meta-model standards (CD 15476) and the metamodels that are parts of theISO International Standards (IS) for the Exchange of Product Data (STEP,ISO 10303).

· A transfer format specification for unique identification of the version of the MOF meta-metamodel and any metamodels referenced but not included in an SMIF-compliant transfer. An example use of  the transfer format specification for one or more models complaint with the OMG approved Unified Modeling Language (UML) meta-model specification.”

The funny  thing is that if you search for the string “XML” in this document, you’ll find no occurrence. That means that initially the OMG was looking for a native solution to serialization of UML models in december 1997.

The rest of the story is more well known. Instead of directly defining a serialization file format for UML graphs, the study revealed that the XML community had already a natural serialization format of trees. The decision was thus taken to go from graphs to trees, and then from trees to text files by using the intermediary XML encodings.  Furthermore it was possible to exploit the properties of XML to make a correspondence from <model,metamodel> to <document,XMLschema> (or at least <document,DTD> at the beginning).

From that point in time, nobody heard about SMIF anymore and all efforts were spent on XMI. Due to the efforts of a group around Sridhar Iyengar and Steve  Brodsky, this recommendation was stabilized in november 1998 (98-10-17.pdf):

The implementation of XMI went on quite rapidly and in december 1998, it was possible to illustrate the progresses by the so-called Burlingame demonstration where four different UML tools were able to exchange UML models: the interoperability problem was solved, thanks to XMI.

We know today that this was an impression and that the real model interchange is still a problem, but probably more a semantic problem than a syntactic problem.

This story teaches us many things. One of them is that the OMG is able to learn rapidly from its errors or omissions. Due to the short meeting cycle (one meeting every 3 months), it was possible to find rapidly a solution to a problem that had been overlooked.

Was the solution to use an XML vocabulary a good solution? At that time, and in view of the urgency of the problem probably yes. But today XMI is not probably seen as the best OMG proposal.  XML is verbose and   probably the cholesterol of Internet.  It the SMIF problem had to be solved today, it is probable that solutions like JSON would probably be much better (see JSON, the fat-free alternative to XML).

This entry was posted in SMIF, UML, XMI. Bookmark the permalink.

6 Responses to Bits of History (The birth of XMI)

  1. Justin says:

    Hi,

    Thanks for the great “blast-from-the-past” series .. Always learn from the past, they say🙂

    An interesting fact is that according to this account, after the first sketches in 98, the interoperability demonstration was done in 2008 then ? 10 years for developing an interoperable a graph representation !! o_0

    And even now, there is no guarantee of opening XMI models reliably in other tools. I came across the issue that you even lose the UML diagram layout because it seems that XMI doesn’t cover it !!!

    Amazing .. ! Sorry for the rantish nature of the comment, but I have a grudge against the so-called “vendors” who act like a millstone around useful standards like UML and MOF ..

    • jbezivin says:

      Sorry for the mistake. The Burlingame demonstrator was built in December 1998 and not 2008. But this was just a first proof of concept for minimum transfer of UML models between UML tools.

      • Ed Seidewitz says:

        Jason —

        While there are definitely some issues with the XMI specification (currently XMI 2.1), there is a definitely interest in the part of vendors to provide model interchange — because many of their big customers are demanding it. All the major UML tool vendors are now involved in the OMG Model Interchange Working Group, the consensus of which is that the biggest problem has not been the XMI standard, but the lack of clarity in the UML specification. The mapping from concrete diagram notation to abstract syntax to UML XMI is often far from easy to understand, even for veteran UML spec experts! Hopefully, this will finally be fixed with the UML 2.5 specification simplification effort (the submitters for which are taking the MIWG work very seriously).

        There has also been an OMG Diagram Interchange standard for some time, separate from the XMI standard. However, this spec has flawed and it has not been much supported by vendors. However, there is a new Diagram Definition spec, now in finalization, that also subsumes Diagram Interchange. And this time, it looks like the major vendors are all behind it. So, maybe in a couple years this will be solved to.

        But I agree that the absence of diagram interchange for so long is egregious…

        Jean —

        To my mind, the first really credible public demonstration of model interchange between multiple UML tools was the session that the MIWG held in December 2009. Even if you only count from the adoption of UML 2 and XMI 2 in 2005, this is not very good. But things are finally starting to get better…

        — Ed

      • jbezivin says:

        Ed,

        I was planning to write a post later about the MIWG work.
        Thanks for providing the information.
        I agree with you that MIWG is the first serious effort in bridging the UML tools.
        My only remark was that the so-called “OMG Burlingame demonstrator” was only a proof of concept of XMI.
        Unfortunately it was sold as the final solution and some people bought it for so … before starting to complain.

        We had a nice workshop recently in Oslo on Model Driven Interoperability (MDI).
        What is becoming clear is that there are different levels of interoperability and we need to be modest about this issue.

  2. Jim Steel says:

    I’m enjoying these little potted histories. My second summer project with DSTC, over Christmas 1997-8, was prototyping one of the early joint submissions to the SMIF RFP, on which DSTC was a contributor. With the pre-MOF1.4 type system (CORBA’s type system), it was a lot more painful to do than it would be now.

    One day someone will look at the portfolio of OMG modeling specifications and realise that they already have something like JSON for metamodels, in the HUTN spec. Of course, almost no-one uses it.

    In terms of bloat, to be honest I suspect that the bigger culprit is the UML metamodel, rather than XML as a carrier.

    • jbezivin says:

      Jim,

      I agree with most of your points.

      The parallel between JSON and HUTN is very clear. I believe at some point of time there will be some model-interchange solution based on JSON. In the Eclipse world, some have already shown how easy it is to express JSON with XText for example, and this demonstrates the feasibility of the approach. In view of the recent success of text-based DSLs, we may easily conclude that HUTN was in advance on its time unfortunately.

      This brings me to another point of your answer : the historical importance of the DSTC contribution to the OMG modeling space. There are unfortunately very few remaining traces of the influence of this small and bright Australian group on the development of the OMG modern modeling vision. Without the DSTC contribution, I am not sure the MOF and MDA would exist in this form today. Is there any place on the Web where the collective historical contribution of DSTC to OMG modeling is recorded/archived?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s