论文部分内容阅读
进入新世纪,随着微电子、计算机、网络以及多媒体等技术的迅速发展和普及,计算机软件已渗透到人类社会生活的各个角落,出现了计算无处不在的新局面。软件在功能不断增强的同时,也遇到了新的问题。尤其是越来越多的软件系统部署在动态、开放和不可预测的环境中,为了提高系统的灵活性和健壮性,人们希望系统能够根据外部环境和内部状态的变化自主地调整自身的结构和行为,即系统具有自适应能力。至今人们已经从多个不同的视点和角度对自适应系统的软件技术进行了研究,取得了一系列的研究成果,包括以软件体系结构为基础的自适应软件构造方法、基于模型的自适应系统开发和验证技术、基于反射式中间件的自适应系统运行支撑环境等。但现有工作在支持复杂自适应系统的构造和运行方面仍存在以下三方面的关键问题亟待解决:(1)为自适应系统的规约和设计提供高层、自然的抽象模型;(2)为自适应系统的构造和分析提供多样化、有效的机制;(3)为自适应系统的开发和运行提供关键技术。针对上述问题,本文借助于社会组织学的思想和软件Agent技术,从模型、机制、语言和平台等方面对自适应系统的软件工程进行了系统、深入的研究,取得了以下研究成果。1.基于Agent和组织抽象的自适应模型和机制。论文借助于软件Agent技术来抽象和封装自适应系统中的软件实体,交叉社会组织学思想提出了基于角色动态绑定的自适应机制,建立了自适应模型及其核心运行机制的形式系统,严格定义了自适应行为的操作语义,从而为构造技术和支撑平台研究奠定了基础。2.基于策略的自适应系统构造技术。论文提供了灵活、有效的软件构造框架对自适应系统进行构造。设计了自适应策略描述语言SADL(Self-Adaptive strategy Description Language),用于显式的描述和定义自适应规则和约束,实现了自适应逻辑和业务逻辑相分离;提出了软传感器和环境动态关联的思想,将环境感知功能分离出来,提高了感知模块的可重用性,实现了环境感知的透明化。这些技术有助于控制系统复杂度,简化系统的开发和维护。3.基于学习的自适应系统构造技术。针对不可预知环境下自适应系统的开发要求,论文将强化学习技术与软件Agent技术相结合,提出基于强化学习的自适应机制和自适应Agent软件模型,设计了自适应系统构造框架和适应性学习算法,支持Agent通过与环境的不断交互,以试错的方式学习和获得适应性策略,从而为具有在线决策能力的自适应系统工程化开发提供指导。4.自适应系统开发过程及平台支持。论文提出了结构化的软件开发过程来指导自适应系统的开发,设计并实现了自适应系统开发和运行支撑环境SADE(Self-adaptive Agent Development and Execution environment),该平台包含SADL编译器和编辑器、自适应运行引擎、自适应学习功能支撑部件、自适应系统运行监控器、自适应策略动态升级组件等功能部件。为自适应系统的工程化开发、运行和演化提供集成的环境支持。与现有工作相比较,本文在高层抽象的自适应机制、软件实体主体化、环境表示显式化、自适应逻辑和业务逻辑分离化等方面有新意,将强化学习技术引入到自适应系统研究中来,为支持动态、不可预知环境下的自适应系统在线决策提供了新颖的思路和技术途径。论文针对若干自适应典型应用案例进行研究,验证了文中提出的模型、机制、语言和平台等的可行性和有效性。