1 / 15

ModiscO

A Generic And Extensible Framework For Model Driven Reverse Engineering. ModiscO. 1. Why => Reverse Engineering?. Up-to-date. data. Manage. functionalities. Maintain. Replace. architecture. 1. Out-of-date systems are still running: Complexity and heterogeneous Size M igration cost

ajay
Download Presentation

ModiscO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Generic And Extensible Framework For Model Driven Reverse Engineering ModiscO

  2. 1. Why => Reverse Engineering? Up-to-date data Manage functionalities Maintain Replace architecture

  3. 1. Out-of-date systems are still running: • Complexity and heterogeneous • Size • Migration cost • 2. Quickly reengineering existing system. 1. WHY => Reverse Engineering?

  4. A tradition of using UML Modisco Principles and Techniques *.java Structure diagrams ? Behavior diagrams

  5. Some UML reverse engineering tools Modisco Principles and Techniques *.class *.java Fujaba Topcased

  6. MoDisco: Models is the first class entities of all processes => reverse engineering Modisco Principles and Techniques homogeneous heterogeneous M Model Driven Reverse Engineering (MDRE) S M’ M’’ Model understanding Model discovery

  7. Model Discovery Model Discovery jsp java struts xml Spring Hibernate database Natural -> Type of system Several models necessary Metamodel

  8. Model Understanding Source code document Structured data Many models transformation -> be used Several intermediate representation -> necessary

  9. Discovery, query and manipulation Modisco – THE Whole Picture

  10. Modisco – Architecture

  11. MoDisco User-Cases Modisco – Architecture

  12. MoDisco Technologies Modisco – Architecture

  13. Reverse Engineering - Control Dependence graph

  14. Reverse Engineering - Control Dependence graph public List<PizzaOrder> getDailyReport() throws ServiceException { try { dbDAO.startTransaction(); List<PizzaOrder> 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); } }

  15. MoDisco: a generic and extensible framework for model driven reverse engineering • http://jordicabot.com/papers/ASETools10.pdf • MoDisco on Eclipse • http://www.eclipse.org/MoDisco/ • MoDisco technology • http://wiki.eclipse.org/MoDisco/Architecture • Control Dependence Graph • http://www.grammatech.com/research/papers/staticAnalysis/imgSlides/sld021.html References

More Related