A Generic And Extensible Framework For Model Driven Reverse Engineering
Manage Maintain Replace data architecture functionalities Up-to- date 2
1. Out-of-date systems are still running: Complexity and heterogeneous Size Migration cost 2. Quickly reengineering existing system. discover understandmanipulate re- implement 3
A tradition of using UML *.java Structure diagrams Behavior diagrams ? 4
Some UML reverse engineering tools Fujaba Topcased *.java *.class 5
MoDisco: Models is the first class entities of all processes => reverse engineering S M M’ M’’ Model discovery Model understanding heterogeneous homogeneous Model Driven Reverse Engineering (MDRE) 6
struts Hibernate Spring database java xml jsp Model Discovery Metamodel 1.Natural -> Type of system 2.Several models necessary 7
transforms… 1.Many models transformation -> be used 2.Several intermediate representation -> necessary Source code document Structured data 8
Discovery, query and manipulation 9
10
MoDisco User-Cases 11
MoDisco Technologies 12
13
public List getDailyReport() throws ServiceException { try { dbDAO.startTransaction(); List orders = getTodaysOrders(); // materialize details during tx for (PizzaOrder o: orders) { o.getPizzaSize().getSizeName(); for (Topping t: o.getToppings()) t.getToppingName(); } dbDAO.commitTransaction(); return orders; } catch (Exception e) { dbDAO.rollbackAfterException(); throw new ServiceException("Error while getting daily report ", e); } 14
MoDisco: a generic and extensible framework for model driven reverse engineering MoDisco on Eclipse MoDisco technology Control Dependence Graph nalysis/imgSlides/sld021.html 15