Monday, May 23, 2005

MOF or EMF, GMF and GEF

For the time being, a very, very interesting proposition exists from the Eclipse consortium around the metamodeling framework.

This project is the GMF (Graphical Modeling Framework) project from Eclipse.


It is a very ambitious project and this GMF project can change totally the modeling tools business.

The foundations are EMF for the meta-modeling (a kind of MOF) and GEF (2-D drawing graphical facilities).


This project is in competition with existing proprietary solutions like for example MetaEdit from MetaCase


We can look on web, some animated discussions between the different approaches:

  • existing tools with a large set of CASES, but with previous meta-technologies (several key actors of existing UML CASE tools vendors like MetaCase)
  • New approach for the future based on GMF (IBM Rational, etc…)


Today we can look the requirements, with an evaluation of existing donations like:

  • Borland (Together UML CASE tool belongs to Borland)
  • IBM (Rational Rose CASE tool belongs to IBM)
  • Others contributors with graphs editors generators with a coupling between GEF and EMF.


GMF will cover a wide scope with the delivery of such materials like an UML2 CASE tool, a BPM/BPEL modeling environment and a CASE around Business rules.


What is the current GMF’s timeframe?

MOF and EMF:

In the battle between MOF and EMF, there are some materials to read and so to appreciate and understand the perspectives for each player.

Materials produced by the Pegamento team are very interesting, with for example the Jane DSL editor generator and some papers.

On this url, we can find a serious study of EMF and about a mapping between MOF and EMF and a paper on a Request language for the meta level:

EMF:
For people interesting by EMF, the first document to read is the EMF overview and if you have more time to read the EMF.Edit overview.

Another interesting material on EMF and GEF is the

Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework IBM redbook

The complete list of EMF document exists on the Eclipse consortium web site.

Another IBM's article is an illustration of GEF: Create an Eclipse-based application using the Graphical Editing Framework.


UML2 :
The UML2 project is an Eclipse Tools sub-project and is an EMF-based implementation of the UML™ 2.0 metamodel for the Eclipse platform.
The objectives of this project are to provide a useable implementation of the metamodel to support the development of modeling tools, a common XMI schema to facilitate interchange of semantic models supported by different tools providers.
We can find a good introduction to UML2 with the Getting started to UML2.

The UML2 specifications are published on the OMG web site.

BPEL and process:
BPEL4WS has a defined XSD which can be imported to EMF.
There is no associated notation provided, while mappings exist from BPMN and BPDM. One of these or a proprietary notation could be mapped to the XSD, possibly combining aspects of WSDL to provide a rich BPEL4WS modeling environment.

Business Rules:
Business rules have no standard notation, although many examples exist. Furthermore, many rule engine models are possible for implementation in EMF.

GMF project organization:

Initial Committers

Interested Parties
The following companies have expressed interest in the project:

Known contributors on GMF?

Position of some existing CASE tools vendors:

From MetaEdit guru of Metacase, we can read other points of view related to the scope of the GMF project:

  • On the Juha-Pekka blog on DSM, you have to read the following blogs:

    • Is UML 2 taking SD further? April 14, 2005

    • MOF as a metametamodel? March 16, 2005

    • Unified Modeling Language vs. Domain-Specific Modeling Languages? March 03, 2005
    • Scott Ambler: OMG not doing a good job May 04, 2005

    • XMI, MOF and MetaEdit+ May 03, 2005

    • Microsoft says using its DSM tools is a "massive amount" of effort March 23, 2005

On the MetaCase web site, there are several materials to read too:

  • One Dr Dobb article, with a comparison between Eclipse and MetaEdit+ for DSM (Domain Specific Modeling).

    In this article written by the MetaCase CTO Steven Kelly, he compares Eclipse EMF & GEF with MetaEdit+ as ways to implement domain-specific methods. One hour's work in MetaEdit+ reproduced Eclipse's own small sample application, which runs to 10,000 lines. At 50 lines of code a day that would be over a year's work, making MetaEdit+ an incredible 2000 times faster.

· In another paper, Steven Kelly did MetaCase feeling on a Comparison of Eclipse EMF/GEFand MetaEdit+ for DSM (Domain Specific Modeling).


I think it is quite evident that a new generic framework like GMF will be more limited, in the first deliveries, than a mature framework like MetaEdit+ where a lot of applications already exist. People have to compare things they are comparable.


MOF:

For people wanted to go more in depth with MOF, they have to read the paper on melo written by Unisys guys and published by IBM web site:
This paper presents the work Unisys has done to create a central enterprise architecture (EA). This work includes defining a standard core EA modeling language supported by the EA repository, and building transformations between tool-specific EA models to the standard core EA language.

4 Comments:

At 3:31 PM, Anonymous Steven Kelly said...

Hello Patrick, it's good to make your acquaintance! I'd always wondered about GraphTalk, as it seemed to have many good ideas, but I found it hard to find out any details (perhaps the project had quietened down by 1997, when I was looking).

Kind of you to mention us at MetaCase and our MetaEdit+ tool. I don't think we can be categorised as "UML CASE tool vendors", though - whilst MetaEdit+ includes a UML metamodel (among a total over 50 different graph types), that's simply because it's the first one people ask about to find out if the tool can support a big and complicated metamodel.

As for GMF, I too am interested to see its future. As you say, people have to compare things [when] they are comparable, and at the moment GMF doesn't actually exist. That makes it rather easier to promise wonderful things that it will do :-)!

I hope it can achieve some of that, since I found EMF to be a reasonable solution, but GEF to be far from satisfactory. Writing the results of the comparison of MetaEdit+ and Eclipse EMF & GEF for Dr. Dobb's, as I had promised Jon Erickson I would, was excruciatingly painful.

I'd hoped MetaEdit+ would be better, maybe even several times faster. But I'd committed to write the article, and would have written it even if MetaEdit+ had been slower. So I wrote it, even though MetaEdit+ was a ridiculous 2000 times faster - a figure which hardly encourages the reader to trust me! (For those who don't trust me: at least they can repeat the experiment within a few hours, even learning MetaEdit+ from scratch first.)

Obviously, making something better than GEF is possible, and I hope GMF will bring the full benefits of Domain-Specific Modeling to those who like their tools to be Eclipse plug-ins.

 
At 11:24 PM, Blogger Patrick Jeulin said...

Hello Steven, I aggree with you MetaCase is not only an UML CASE tool vendor, and MetaEdit+ is not Rational Rose (IBM) or Together (Rational).
My simplification is a consequence of the modeling unification around UML several years ago.
When UML was OMT, modeling approach were very various and rich, with so much variations that metamodeling (VSF from Systematica, Tool Builder from Ipsys, Concerto from Sema-Metra) was a real answer for tools builders like CASE software editors, or great IT organizations.
With UML and with UML standard as a reallity, some uniformity happens.
Today, with the DSM (Domain specific modeling) and all approaches around BPM/BRM, people with some real practice are considering UML is not a definitive and complete answer for people involve in business modeling.
UML is one of the professional approaches, but not the unique one.
However I think UML will be used by tools vendors for the implementation of other modeling approach instead to support only an UML++ with some intellectual and conceptual goodies.
It's a proof of maturity when a modeling pratice is used at an upper abstraction level like metamodeling.
The story produces sometimes repetition: I'm a real fan of Niam (Nijssen Analysis Method), and in the GraphTalk's foundations we can find a Niam-like modeling for the GraphTalk metamodel formalism.
It will be the same for UML as for Niam. Even this two modeling technics are used for themself, they are used at an other abstraction level, sometimes hidden.
It's true GMF is today more perspectives for the future than reality. But if we consider the names and the numbers of companies involved in the project, and if we consider the Eclispe successes against all the IDE, we can think tools vendor have to follow-up this project with a great attention.
Concerning GraphTalk literature, it's true very few information exists. It's one of my goals to talk about GraphTalk ideas and to put in place this feedback in the current game and not only in the past. Let read in the current quarters the next blogs.

 
At 11:41 AM, Anonymous Anonymous said...

I would like to exchange links with your site www.blogger.com
Is this possible?

 
At 12:21 PM, Anonymous Anonymous said...

Great article! We will be linking to this particularly great article on our website.
Keep up the great writing.

Take a look at my web blog; best air mattress for camping

 

Post a Comment

<< Home