EclipseUML 2008 versus eUML features chart


We will in this section describe the EclipseUML versus eUML features chart.
We will also explain the architecture advantage and disadvantage of each solution:
  1. The UML Model
  2. Live Synchronization
  3. The reverse Engineering
  4. Diagrams manipulation and availability

1. The UML Model

EclipseUML saves all its model information in the .uml file which is located at the root of the Project.




eUML doesn't have any model. It adds tags in the code and uses automatic detection when you click on the classifier inside the class diagram.




EclipseUML allows the following additional features compared to eUML:
  • modeling of multiple projects. Note that it is not because there are dependency links detected in the eclipse plugin property displayed in your UML Editor (e.g. eDependency plugin) that you really model multiple projects. eDependency is just a query and reverses nothing in the model.
  • native import of RSA, Eclipse Modeling Project, Papyrus, Borland models
  • export UML 2.2 compliant models
  • modeling of Classifiers not related to java
  • the possibility to merge existing models with new java code which has been added or modified without losing existing model information. It means that the project could be reversed at the beginning of the modeling process, then merged at any iterative stage and stays updated during all project life. (eUML can only manage first time reverse then the model synchronization erases existing model if adding or refactoring classifiers).


The main advantages of using a separate model (e.g EclipseUML) and not mixing with java code (e.g. Soyatect) are:
  • no tags are added in the java code
  • if the code is refactored (It is not feasible that a project could be completed without refactoring) then the model is lost with eUML.

2. The live synchronization


EclipseUML uses triple live synchronization between the Model, the UML Editor and the Java Code.
Note that the model is the core of the EclipseUML tool and controls the synchronization.



eUML only uses UML Editor to Java Code Synchronization.

EclipseUML allows the following additional features compared to eUML:


3. Reverse Engineering

EclipseUML allows the following features:
eUML reverse engineering only allows to create a view of your model. This view is loaded inside the UML Editor using java automatic detection.
For more information see our reverse engineering example at: http://www.forum-omondo.com/documentation_eclipseuml_2008/reverse/reverse/reverse_engineering_example.html



4. Diagrams manipulation and availability

EclipseUML class diagram contextual menu allows to graphically customize any information displayed on your diagram. 
Below is EclipseUML versus eUML class diagram contextual menu.



Below is EclipseUML versus eUML class contextual menu.



The main advantage of EclipseUML class diagram compared to eUML is the possibility to entirely customize the diagram and create a dynamic view depending on requirements.

EclipseUML allows the following additional features compared to eUML:
  • The Soyatec sequence diagram is still a alpha diagram not even beta for our point of view
  • 10 additional diagrams (usecase, Activity etc....)

Conclusion:


EclipseUML can cover full modeling project stages because of the powerful MDA core architecture.
eUML is only usable to graphically display class diagram after reverse engineering.


PS: A very critical problem for eUML is that the EMF export of nested packages, dependencies, inners classifiers and many other elements are wrong because not properly saved.
All the class diagram has been built on this wrong internal model and it is therefore impossible to change it today.
This critical model information can not be seen because the internal model is used in memory and not on disk.
This is why Soyatec users experience diagram crashes, memory leaks, recursive calls etc....

eUML graphical presentation is not also optimized in many points which makes your diagram almost impossible to customize.
For example after a layout on your diagram you get the following messy diagram !!