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

jbooret an automated tool to recover oo design and source
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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
slide-2
SLIDE 2

Outline

  • Tool Design Principles
  • Tool Architecture
  • Data Extractor
  • Knowledge Manager
  • Information Presenter
  • Recovered Model Examples
  • Conclusions
slide-3
SLIDE 3

Design Principles of JBOORET

  • Having different granularities
  • Easily being manipulated by users
  • Directly being used in forward engineering
  • Whose correctness and completeness are ensured

Recovered Models:

Jade Bird Object-Oriented Reverse Engineering Tool (JBOORET)

slide-4
SLIDE 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
slide-5
SLIDE 5

JBOORET Architecture Overview

Information Presenter Understanding Task Version Controller C++ Programs Parsing Trees Extractor Parser Lookaheader Lexer Database Server Info Database Database Linker Incremental Database Data Extractor Knowledge Manager

Model Extractor Info Viewer Info Printer

slide-6
SLIDE 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
slide-7
SLIDE 7

Knowledge Manager

M acro Refer

Sup Sub Sup Sub

d File Loc_in Include Loc_in Loc_in Class O bject Inst_of Attr_of Attribute V ariable Inherit FriendC Statem ent Function Contain Fct_bdy Call O verload M eth_of FriendM V ar_of

Sup Sub Sup Sub Sup Sub Sup Sub

Loc_in

JBOORET Conceptual Model

slide-8
SLIDE 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
slide-9
SLIDE 9

Multi-perspective views of recovered models

JBOO Rational Rose High-Manipulability GUI

slide-10
SLIDE 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