Home > Reverse Engineering

Reverse Engineering Architecture


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 analyze all project:

  • byte code
  • .class files
  • .java files

The architecture is using the following workflow:


EclipseUML will detect at the end of the analyze stage the following information:
  • nested packages
  • classifiers structure (e.g. attributes, methods, inners class et....)
  • inheritances
  • associations
  • dependencies
  • JPA annotations
Working directly at byte-code level and mapping all information to .uml model file allows incredible speed 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 map java classifiers which are displayed inside diagrams. More information..
  • Merge Model will merge new code with existing model. It keeps existing information safe as well as updating classifiers. More information..