jbooret an automated tool to recover oo design and source
play

JBOORET: an Automated Tool to Recover OO Design and Source Models - PowerPoint PPT Presentation

JBOORET: an Automated Tool to Recover OO Design and Source Models Hong Mei, Tao Xie, Fuqing Yang Department of Computer Science & Technology Peking University, Beijing, China Oct. 2001 Outline Tool Design Principles Tool


  1. JBOORET: an Automated Tool to Recover OO Design and Source Models Hong Mei, Tao Xie, Fuqing Yang Department of Computer Science & Technology Peking University, Beijing, China Oct. 2001

  2. Outline • Tool Design Principles • Tool Architecture •Data Extractor •Knowledge Manager •Information Presenter • Recovered Model Examples • Conclusions

  3. Design Principles of JBOORET Jade Bird Object-Oriented Reverse Engineering Tool (JBOORET) Recovered Models: • Having different granularities • Easily being manipulated by users • Directly being used in forward engineering • Whose correctness and completeness are ensured

  4. Design Principles of JBOORET (Cont.) • Data Analysis • Light-weight Lexical vs. Heavy-weight Parser-based • Incremental analysis • Knowledge Organization • Low-level conceptual model (Stored in advance) • High-level design and source models (On demand) • Information Presentation • Different levels or perspectives of models • Manipulability of entities in models

  5. JBOORET Architecture Overview Information Presenter Understanding Task Info Viewer Version Controller Model Extractor C++ Parsing Info Printer Programs Trees Info Database Database Server Extractor Parser Lookaheader Incremental … Database Database Linker Lexer Data Extractor Knowledge Manager

  6. Data Extractor • Customized Lexer (Lexical analyzer) • Comment extraction • Physical location association for entities • Parser based on YACC • Token lookahead technique • Incremental parsing • Link incremental databases for each file

  7. Knowledge Manager Inherit FriendC Call O verload M acro Loc_in Sub Sup Sub Sup Sub Sup Sub Sup FriendM Class Loc_in Loc_in Function M eth _of Sup Include Fct _bdy File Inst _of Attr _of Sub V ar _of Attribute Statem ent O bject Loc_in d Sub Sup Refer V ariable Contain JBOORET Conceptual Model

  8. Information Presenter • Frequently used information • Basic symbol information table (Hash table) • Loaded in memory in advance • Complementary infrequently used information • A circular cache • Loaded on user’s demand • Export the models to the OO Development Tool (Rational Rose & JBOO) • Complementary GUI to manipulate the models

  9. Multi-perspective views of recovered models JBOO Rational Rose High-Manipulability GUI

  10. Conclusions • Model-based (Comprehensive Conceptual model) • Parser-based (Rather accurate and complete) • Forward-engineering support (Export to Rose &JBOO) • Multi-perspective models (Class diagrams + other models) • High-Manipulability Model Entities • Search, filter and select • Compress or expand

Recommend


More recommend