EclipseUML 2008 versus the Model Development Tools project metamodel approach.



In this section you will have a look at the differences between the EclipseUML 2008 and the Model Development Tools project metamodel.
The Model Development Tools project is a subproject of the Eclipse Modeling Tools.
The Eclipse Modeling Tools is a package which contains a collection of Eclipse Modeling Projects.
EclipseUML 2008 is the new Omondo MDA architure for Java modelers.
The Eclipse modeling project and EclipseUML 2008 therefore share the same xmi 2.1 metamodel (RSA or Borland are also using the same metamodel).

Both projects use totally different UML metamodel approaches.

There is no real valid technical reason for not using the full project metamodel approach (more information is available at: http://www.ejb3.org/UML_diagrams.html ).

If you work at project level then you can model larger and more complex diagrams inside your projects because you can:

This is important in order to cover the complete project modeling cycle (more information on the MDA Development cycle is available at: http://www.forum-omondo.com/documentation_eclipseuml_2008/development_cycle.html )


The following areas are covered:

  1. metamodel information
  2. dynamic modeling
  3. Advanced JEE Modeling
We have downloaded the two following solutions for the test:

1. Metamodel information

The Model Development Tools project work and provide metamodel information for each diagram but doesn't have a full project metamodel.


All diagrams are saved inside a non physical package which has no real relation with the xmi.
It is therefore impossible to model packages or drag and drop elements inside a package.
For example the following example shows one project with two packages P and P2.
It is possible to use the project explorer to open the default.uml file and see UML elements inside, but if you open the xmi editor then no package is created.





EclipseUML 2008 allows full project modeling of multiple diagrams.
This is important in order to model complex applications and reuse existing metamodel elements in more than one diagram.




What is possible with EclipseUML 2008 model structure and not with the Model Development Tools project:




2. Dynamic Composite Structure and Class diagram modeling

The Model Development Tools project has no java integration and no metamodel dynamic modeling.
It uses EMF export to create a UML 2.1 export for each diagram.

EclipseUML 2008 is a fully dynamic modeling tool having live java and metamodel synchronization.
It allows Java or MDA modeling inside the same project and the use of multiple diagrams.
A good example is the composite structure diagram interaction with the class diagram

Below is EclipseUML 2008 dynamic modeling of a Composite Structure diagram with a Class Diagram
We have decided to model the internal strucure of a classifier (e.g. Company)


This is the composite structure diagram reverse showing the classifier internal structure.
You can notice that the mutlplicity information is displayed (e.g. 1 to * multiplicity).


We are now including an interaction point to other parts of the system by adding addtional information in the composite structure diagram.
This information is live synchronized in the class diagram (e.g. address).




3. Advanced Java EE Modeling

The CarStock JEE Project Example (more JEE oriented example for creating glue between business, persistence and presentation layers) is also an other example of the advantage of working at project level.
See the full project example and download it inside your Eclipse 3.4 at: http://www.forum-omondo.com/viewtopic.php?f=29&t=1489

UseCase Diagram:



Class Diagram :



State Diagram (JSF Flow):




Conclusion:


The full power of the new UML 2.1 modeling (MDA or Java projects) is only really possible if working at multiple project level.