基于面向对象软件的动态更新研究

基于面向对象软件的动态更新研究

论文摘要

随着计算机在日常生活中的广泛应用,如何实现软件的不间断运行而能够实现升级、更新也就成为软件维护和软件设计中的重要问题。能否提供不间断的服务正在成为人们衡量软件系统的一项重要指标。本文从理论和实现两个方面出发,对面向对象软件动态更新的不同侧面进行研究,提出了一些解决面向对象软件动态更新的方法。本文还对网构软件的动态更新进行研究,基于OSGi平台提出服务实例的动态演化方法。本文的创新主要体现在如下四个方面。1、针对基于面向对象的软件在动态更新时可能产生的类型安全问题,以FJ(FeatherWeight Java)演算为基础,提出保证类型安全的限制条件T-UPDATABLE,以保证更新操作的类型安全性,并通过形式化方法加以证明。2、为了解决动态更新过程中对象和方法执行转换等问题,提出了一个能够保证类型安全的多版本类动态更新演算-- MCUFJ演算。多版本扩展拓宽了软件动态更新的范围和深度,并总结出动态更新规则以保证多版本情况下动态更新的类型安全性。3、引入动态更新事务的方法,克服了面向对象程序更新只能对类实行一些简单更新的限制,同时保证了更新的类型安全性。对Java程序设计,提出Java可动态更新程序的设计方法,并验证了其可行性。4、针对OSGi平台上服务动态演化需求,通过利用重定向方法,解决了服务类定义的动态演化,较好地满足了演化中服务的透明性问题;提出了实现和数据相分离的方法,解决了演化中服务实例数据的一致性问题。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 引言
  • 1.1 研究背景
  • 1.1.1 动态软件更新
  • 1.1.2 结构化与面向对象软件开发
  • 1.1.3 Java 语言
  • 1.2 需求与目标
  • 1.3 关键问题
  • 1.3.1 面向对象软件
  • 1.3.2 构件
  • 1.4 本文的研究内容及主要贡献
  • 1.5 本文结构
  • 1.6 小结
  • 第二章 软件的动态更新技术
  • 2.1 面向对象动态软件更新
  • 2.1.1 在理论方面
  • 2.1.2 持久对象数据更新上
  • 2.1.3 Java 程序动态更新
  • 2.1.4 方法以及实例的转换
  • 2.1.5 其它面向对象程序语言
  • 2.2 非面向对象软件的动态更新
  • 2.3 分布式动态软件更新
  • 2.4 基于构件的动态软件更新
  • 2.5 操作系统的动态更新研究
  • 2.6 体系结构上的研究
  • 2.7 小结
  • 第三章 类型安全的动态软件更新
  • 3.1 引言
  • 3.2 类型安全的类动态更新
  • 3.2.1 FJ 演算
  • 3.2.2 类型安全的类动态更新演算
  • 3.2.3 属性
  • 3.2.4 实例
  • 3.3 多版本类的动态更新
  • 3.3.1 语法
  • 3.3.2 语义
  • 3.3.3 类型系统
  • 3.3.4 性质
  • 3.3.5 实例
  • 3.4 相关工作
  • 3.5 小结
  • 第四章 动态软件更新事务研究
  • 4.1 引言
  • 4.2 更新事务
  • 4.2.1 基本定义
  • 4.2.2 相关性质
  • 4.3 类动态更新实现方法
  • 4.4 类动态更新实现
  • 4.4.1 Java 类装载机制
  • 4.4.2 被动态更新类设计
  • 4.4.3 动态更新类设计
  • 4.4.4 动态更新程序主类的设计
  • 4.4.5 线程的动态更新
  • 4.5 实验与分析
  • 4.5.1 实验描述
  • 4.5.2 结果分析
  • 4.6 讨论
  • 4.6.1 一致性的讨论
  • 4.6.2 更新时机的选择
  • 4.6.3 其它相关问题讨论
  • 4.7 小结
  • 第五章 基于OSGI 的服务动态演化
  • 5.1 引言
  • 5.2 OSGI 及基本概念
  • 5.2.1 OSGi
  • 5.2.2 基本概念
  • 5.3 相关研究
  • 5.4 服务实例的动态演化
  • 5.4.1 服务演化需求
  • 5.4.2 OSGi 服务动态演化总体模型
  • 5.4.3 OSGi 服务动态更新
  • 5.4.4 实现
  • 5.5 公共数据的处理
  • 5.5.1 问题的提出
  • 5.5.2 解决公共数据问题
  • 5.5.3 公共数据演化
  • 5.5.4 两阶段演化方法
  • 5.6 实验
  • 5.7 讨论
  • 5.8 小结
  • 第六章 全文总结
  • 6.1 主要结论
  • 6.2 研究展望
  • 参考文献
  • 附录
  • 致谢
  • 攻读博士学位期间已发表或录用的论文
  • 相关论文文献

    • [1].基于FJ的多版本类动态更新演算[J]. 软件学报 2008(10)

    标签:;  ;  ;  ;  ;  ;  ;  

    基于面向对象软件的动态更新研究
    下载Doc文档

    猜你喜欢