论文摘要
随着计算机在日常生活中的广泛应用,如何实现软件的不间断运行而能够实现升级、更新也就成为软件维护和软件设计中的重要问题。能否提供不间断的服务正在成为人们衡量软件系统的一项重要指标。本文从理论和实现两个方面出发,对面向对象软件动态更新的不同侧面进行研究,提出了一些解决面向对象软件动态更新的方法。本文还对网构软件的动态更新进行研究,基于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 OSGi5.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)
标签:动态软件更新论文; 面向对象论文; 语言论文; 演算论文; 类型理论论文; 更新事务论文; 服务演化论文;