- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种改进的序列图逆向生成方法研究
崔伟勇 陈 平 张晓风
(西安电子科技大学软件工程研究所, 陕西 西安 710071)
vailtsie@
摘要: 本文在原有工作的基础上,对已有的序列图逆向生成方法进行了改进,把反复进行的
迭代判断从逆向生成的核心算法中分离出来,同时提取用户关注信息,形成一个单独的预处
理模块。改进的生成方法大大简化了序列图逆向生成的核心算法。迭代判断预处理模块提取
的关注信息,可以辅助用户估计问题规模,并且可以使用户按特定的关注方式进行序列图的
逆向生成。实验证明该方法有效。
关键词: 逆向工程 序列图 预处理 迭代
1.引言
逆向工程是一个开发工具和方法去辅助理解和管理不断增长的遗产系统的研究领域
[1],逆向生成的序列图可以帮助用户更好的理解系统,并可以转换产生其他 UML 图形[2,3]。
本文研究的是逆向生成序列图的方法,并且已经在 XDRE1(XiDian Reverse Engineering)工具
系统中实现。XDRE 工具系统提供符合 UML(Unified Modeling Language)标准的动态模型的
逆向生成、符合 UML 标准的静态模型的逆向生成与分层抽象等方面的能力[4,5],同时无缝
集成到了 Rational Rose 开发环境中,并与该环境中的其他工具协同工作,以扩充 Rational
Rose 在与源代码结构和语义相关的工具方面的支持。
XDRE 工具系统利用程序植入技术对目标系统的源代码进行植入和动态分析,经过对动
态信息的收集和过滤,生成反映目标系统动态消息交互的序列图[6]。生成的序列图还可经
过转换得到其他 UML 图形。XDRE 工具系统的整体设计如图 1 所示。
逆向生成序列图子系统是 XDRE 工具系统的中一个子系统,主要功能是根据过滤子系
统整理的动态信息,自动生成符合 UML 标准的序列图,并为用户提供交互进行剧情抽象的
支持。本文所研究的正是该子系统实现方法的一种改进。
交互 对源文件 重新编译运行植 收集过滤 序列图的 转换得到其
界面 植入代码 入代码后的文件 动态信息 逆向生成 他 UML 图形
图 1 逆向工程工具 XDRE 系统的整体设计
2. 原有的序列图逆向生成方法
逆向生成序列图子系统,其信息来源是收集过滤子系统提供的动态信息,以树状结构的
1 本课题得到国家自然科学基金(项目编号, 国家教育部博士点基金(项目编号:20030701009)及
“十五”国防预研项目(项目编号:41306060106)资助。
1
XML 文件形式存在。子系统利用已有的动态信息进行序列图的逆向生成,该子系统的工作
流程如图 2 所示。
读入动态信 用户选择目 根据用户选 逐一判断动态 利用Rose 扩充
息文件并显 标进程或进 择调用核心 信息中各相邻 技术呈现逆向
示各进程 程间交互 生成算法 节点的迭代 生成的序列图
图2 原有的序列图逆向生成方法的具体流程
逆向生成的序列图分为进程内交互序列图和进程间交互序列图两种,其中每一个进程产
生一个进程内序列图,反映该进程内部的对象间消息交互,而进程间交互序列图则只有一个,
反映整个目标系统中各进程间的消息交互。
该子系统的工作流程中很重要的一步就是要对动态信息文件中的各层节点进行迭代判
断。这里所说的迭代是指,如果当前节点同相邻的N-1 个兄弟节点完全
文档评论(0)