分布式系统中进程间通信模型逆向恢复方法.pdfVIP

分布式系统中进程间通信模型逆向恢复方法.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式系统中进程间通信模型的逆向恢复方法1 赵芸,李青山,陈平,齐微,杜宽利 (西安电子科技大学软件工程研究所, 陕西 西安 710071) E-mail:yun.zhao@ 摘 要:本文从逆向工程的角度分析了分布式系统中的进程间通信关系,提出了一种分布式 系统中进程间通信模型的逆向恢复方法。利用反射植入机制收集动态信息,从动态信息中恢 复出体现进程间通信关系和创建关系的进程结构图,进而实现了反映跨机器进程间交互的层 次化的多机通信结构图的恢复算法。实验结果表明,利用该方法恢复得到的进程间通信模型 正确、有效地反映了系统设计时进程层次的高层架构关系。 关键字:分布式系统,进程间通信,逆向工程,软件体系结构,程序理解 1 引言 随着计算机硬件技术和软件技术的进步以及高性能计算机网络技术的发展,分布式系统 逐渐成为一个热点研究领域。分布式系统指通过网络互连,可协作执行某个任务的独立计算 机集合[1]。由于分布式系统的应用领域日益扩大,充分理解原有分布式系统对于后续开发 人员和维护人员显得尤为重要。 逆向工程是一种辅助程序理解的重要手段。Chikofsky 和 Cross[2]认为,逆向工程的目 标是利用工程化方法和技术分析软件系统组件及其之间的相互关联,并以另一种方式或更高 层次的抽象的形式来描述该系统。因此,从逆向工程的角度理解分布式系统,可以更有效地 把握系统的整体结构和框架,从而辅助用户全面理解目标系统。 目前逆向工程中常见的软件体系结构恢复方法大都是从子系统的层次和角度获取 目标 系统的高层信息。子系统关系体现了软件系统总体功能方面高层结构的一个侧面,它强调的 是用户设计系统时从需求特征和整体功能角度考虑的类的划分关系。然而,分布式计算的核 心技术是进程间通信,即在相互独立的进程间通信及共同协作以完成某项任务的能力[1] 。 因此,分布式系统中进程间通信的理解是充分理解系统整体行为特征必不可少的方面。进程 关系可以看作是系统执行过程中体现出的系统计算能力的一个侧面,它强调了系统行为(任 务、并发、同步等) 的实现逻辑[4,5]。在正向工程中,进程结构模型和子系统关系模型都是 体系结构设计的重要方面;而在逆向工程中,进程结构和子系统层面的结构划分反映了用户 理解系统高层架构的不同关注点[6,7] 。尤其对于分布式系统的逆向工程,进程间通信模型的 恢复更具有重要价值。 本文从逆向工程的角度分析了分布式系统中的进程间通信关系,给出了分布式系统中进 1基金支持:国家自然科学基金(项目编号, 国家教育部博士点基金(项目编号:20030701009)及“十 五” 国防预研项目(项目编号:41306060106) -1- 程间通信模型的恢复方法,并且这种方法在逆 向工程工具 XDRE[8](XiDian Reverse Engineering) 中已经实现。 2 进程间通信类型 把握进程间通信结构是理解分布式系统框架结构和整体行为特征的核心。对于单节点上 不同进程间的通信,UNIX 操作系统提供了管道、共享内存、信号量和消息队列等方法。多 节点上的进程间通信则主要采用 Socket 和 RPC 技术实现。经分析后发现,要全面理解系统 中进程级别的交互,不仅要考虑这些进程间通信关系,还要考虑进程间的创建关系。本文主 要考虑 UNIX 平台支持的 8 种进程间依赖关系,其中涵盖了进程间的通信关系和创建关系。 表 1 给出了本文所关注的这 8 种进程间依赖关系。 表 1 UNIX 平台支持的进程间关系 关系类型 系统调用 0 创建 Fork, Execl, Execlp, Execle, Execv, Execvp 1 共享内存

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档