UML model reverse
engineering is a complex processes which first detects all information
from the code and then map it immediately to the UML editor and the UML
Model.
It works at three simultaneous levels and analyse all project:
- byte code
- .class files
- .java files
The architecture is using the following
workflow:

EclipseUML will detect at the end of the analyse stage the following
information:
- nested packages
- classifiers strucutre (e.g. attributes, methods, inners class
et....)
- inheritances
- associations
- dependencies
- JPA annotations
Working directly at byte-coe level and mapping all information to .uml
model file allows incredible spped and flexibility.
It is three time faster than writing tags in the code and 20 times
faster than using a transition model such GMF.
This is a research study of the time needed to reverse large java
projects.

Reverse Engineering Preferences
The reverse engineering is using three concept:
- XMI backup will map all java information to .uml model. More
information ..
- Dynamic navigation will only mal java classifiers which are
displayed inside diagrams. More
information..
- Merge Model will merge new code with existing model. It keeps
exisiting information safe as well as updating classifiers. More
information..