作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2012, Vol. 38 ›› Issue (01): 45-47. doi: 10.3969/j.issn.1000-3428.2012.01.011

• 软件技术与数据库 • 上一篇    下一篇

Halo:基于Eclipse的逆向工程工具

王 鑫1,裘 佺2,孙洪涛3   

  1. (1. 天津大学计算机科学与技术学院,天津 300072;2. 天津人民广播电台网络部,天津 300070; 3. 天津市公安局信息通信处,天津 300020)
  • 收稿日期:2011-06-08 出版日期:2012-01-05 发布日期:2012-01-05
  • 作者简介:王 鑫(1981-),男,讲师、博士,主研方向:数据库技术,软件工程;裘 佺,助理工程师;孙洪涛,助理工程师、硕士
  • 基金资助:
    国家自然科学基金资助项目(50738003);天津大学自主创新基金资助项目(60302010)

Halo: Reverse Engineering Tool Based on Eclipse

WANG Xin 1, QIU Quan 2, SUN Hong-tao 3   

  1. (1. School of Computer Science and Technology, Tianjin University, Tianjin 300072, China; 2. Network Department, Tianjin People’s Broadcasting Station, Tianjin 300070, China; 3. Information and Communication Department, Tianjin Public Security Bureau, Tianjin 300020, China)
  • Received:2011-06-08 Online:2012-01-05 Published:2012-01-05

摘要: 在集成开发环境Eclipse平台上为Java项目构建逆向工程工具Halo,描述Halo工具的设计思路和实现步骤,包括利用抽象语法树从程序源代码提取模型信息的方法,通过改进的Sugiyama布局算法将提取出的逻辑模型变换成适合于开发者阅读的UML类图,讨论Halo工具构建过程中的技术难点并给出相应的解决方案。实验结果表明,Halo工具能够满足开发者对逻辑模型可视化的需求。

关键词: 逆向工程, Eclipse平台, UML类图, 自动布局, Halo工具

Abstract: This paper presents an approach to build a reverse engineering tool, named Halo, for Java projects on the Eclipse platform, a popular integrated development environment; it describes the design ideas and the implementation steps of the Halo tool, which include how to extract model information from program source code using abstract syntax trees, and how to transform, using the adapted Sugiyama layout algorithm, the extracted logical model to the UML class diagrams that are suitable for developers to read. It also discusses some technical difficulties in building the Halo tool and gives the corresponding solutions. Experimental results show that the Halo tool is able to meet the requirements of developers for RE.

Key words: reverse engineering\ Eclipse platform, UML class diagram, automatic layout, Halo tool

中图分类号: