随着移动数字设备和传感器的广泛使用,普适计算在人们的生活中起着越来越重要的作用。为了实现普适计算的随时随地提供服务能力的愿景,部署在普适计算环境下的软件系统需要利用动态更新技术来增强系统的可用性。动态更新是一种新型的软件演化技术,旨在不停机的条件下实现对软件模块的更新,以减少在系统维护期间的不可用时间和系统性能的降级。然而,普适计算环境的分散性、异构性等特征也给软件动态更新的设计与实现带来了新的挑战。本文将探讨如何实现普适环境中的软件动态更新问题,并致力在已有的服务平台上添加非侵入式地扩展以支持软件动态更新。本文的主要工作及贡献包括:一、针对普适计算环境的特征进行分析,给出了动态更新方案的需求目标,例如,正确性、透明性等。在研究了动态更新机制的基础上,着重分析了集中式动态更新的局限性,提出了适合普适环境的分散式动态更新模型。二、为了精确地分析和验证更新机制的属性,使用有限状态进程(FSP)语言来为更新机制构建了形式化模型,并使用相应的模型验证工具(LTSA)对模型进行了验证。三、将更新模型应用到具体的服务平台OSGi/R-OSGi,并设计了一种更新框架的通信架构。在此架构上,详细地描述了普适服务的更新流程,以及对实现更新的关键技术进行探讨,包括更新粒度的选择、如何获取安全的更新时机、兼顾灵活与高效的状态转移方法、如何解决服务依赖、以及更新过程中的容错机制。四、开发了一个原型系统,并结合系统设计和实验结果对整个更新方案进行了分析和评估。结果表明了本文所提出的方法符合需求目标,将对普适计算环境下的系统维护及其软件演化提供一定的指导意义。