一种支持软件动态更新的服务构件架构

一种支持软件动态更新的服务构件架构

论文摘要

基于构件的软件开发CBSD (Component-Based Software Development)技术被认为是提高软件开发效率和质量的有效途径,并获得广泛的关注与应用,产生了诸多构件模型和构件框架。但随着Internet/WWW逐步演化为开放的计算平台,源于传统静态环境的CBSD难以充分应对开放网络环境下用户需求和软件平台的动态、多变性。应对需求和环境变更的一个有效途径是允许运行中的构件系统能够动态地更新。主流的构件模型和构件框架对动态更新支持薄弱,而学术界研究所假设的模型过于简化难以实际应用。本文扩展了服务构件架构SCA (Service Component Architecture),使其能完整的支持构件动态更新。具体而言,本文所做扩展主要包括:·提出支持动态更新的事务模型分布式事务模型是为动态更新算法提供所需信息的基础。该模型明确定义了在动态更新需求下,一个事务应该具有的状态、事务不同状态之间的跳转语义以及事务状态在分布式构件之间的传递。根据当前分布式事务的状态,该事务模型能够很好的为不同的动态更新算法提供支持。●提出支持动态更新的一致性模型针对既有构件模型缺乏对动态更新所需的构件元数据支持,本文定义了构件对象以表述构件版本等构件元数据,定义了依赖信息以表征构件之间的依赖关系为更新提供判断依据。在此基础之上,定义了系统一致性模型,并结合服务构件架构规范的构件模型,总结了其构件模型为达到一致性应该具备的特征。●提出支持动态更新的构件生命周期模型为便于对构件进行管理,本文定义了更加细粒度的构件生命周期模型。该模型为构件定义诸多动态更新过程中存在的状态、构件不同状态的跳转语义以及构件状态在分布式构件之间的传递。借助该构件生命周期模型,分布式构件之间可以协同完成动态更新,并提供具体动态更新算法层面的一致性。基于上述工作,将其映射到不同的动态更新算法实现上,设计并实现了一个支持动态更新的服务构件架构平台,并在一个旅行代理的应用场景中展示了动态更新过程,初步验证了本文工作的可行性与有效性。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪言
  • 1.1 研究背景
  • 1.2 研究现状
  • 1.3 本文工作
  • 1.4 本文组织
  • 第二章 相关工作
  • 2.1 软件动态更新
  • 2.1.1 Quiescence算法
  • 2.1.2 Tranquillity算法
  • 2.1.3 Version Consistency算法
  • 2.2 构件模型
  • 2.2.1 SUN EJB构件模型
  • 2.2.2 OMG CORBA/CCM
  • 2.2.3 Microsoft DCOM/COM+
  • 2.2.4 服务构件架构
  • 2.2.5 构件模型与动态更新
  • 第三章 SCA规范的动态更新扩展
  • 3.1 挑战与应对
  • 3.2 事务模型
  • 3.2.1 事务状态转换
  • 3.2.2 事务状态传递
  • 3.3 系统一致性
  • 3.3.1 构件对象
  • 3.3.2 一致性保证
  • 3.3.3 SCA一致性扩展
  • 3.4 构件生命周期模型
  • 3.4.1 构件状态与转换
  • 3.4.2 构件状态传递
  • 第四章 支持动态更新的SCA实现
  • 4.1 系统体系结构
  • 4.1.1 Tuscany Extension模块
  • 4.1.2 Conup SPI模块
  • 4.1.3 Conup Core模块
  • 4.1.4 Communication模块
  • 4.2 运行时系统行为
  • 4.2.1 拦截器消息拦截
  • 4.2.2 Ondemand过程
  • 4.2.3 更新过程
  • 第五章 案例分析
  • 5.1 案例介绍
  • 5.2 实验分析
  • 5.2.1 安全性
  • 5.2.2 及时性
  • 5.2.3 干扰性
  • 第六章 总结与展望
  • 6.1 工作总结
  • 6.2 研究展望
  • 致谢
  • 简历与科研成果
  • 参考文献
  • 相关论文文献

    标签:;  ;  ;  ;  

    一种支持软件动态更新的服务构件架构
    下载Doc文档

    猜你喜欢