论文部分内容阅读
软件生存环境中的可变性为增强体系结构为基础的自适应开辟了新的思路。由于软件生存环境的要素存在多样性和复杂性的特点,这就决定着自适应行为的不确定性。为了解决不可预期的自适应,需要重新设计当前传统的被动式的自适应体系结构模型(Reactive Self-adaptation,RSA)。传统的RSA的局限在于:适应性的过程是预先计划的并且局限于一个有限的范围。理想的系统应该具备:预期在不久的将来用户可能的服务并调整系统的行为以便于能够适应于新的软件生存环境。生存环境的不确定性以及应用服务的内在不可预知性和复杂性迫切要求自适应具有预见性,即预见式的自适应(Proactive Self-adaptation,PSA)。和传统的RSA相比,PSA能预见不远的将来和调整系统的行为以适应新的环境。通过组合来自系统管理的观察和PSA的认知能力,系统能够作出合理的决策,从而实现预见性的自主管理过程,减少了人工干预。基于审查不确定性来源的预见式的自适应软件体系结构可以使得自适应系统具有更好的可预见性和更加智能的行为,同时对于自适应政策的冲突消解有利于产生一致的动作。在软件体系结构自适应研究中,存在着以下三个十分显著而重要的问题:一是对软件生存环境的分析问题;二是对可预见性的研究问题;三是实施自适应动作的约束问题。对于这三个问题的研究具有非常重要的意义,迫切需要从理论和实践两方面加以解决。本文针对软件生存环境的可变性,提出了可预见式自适应软件体系结构模型Lizard,重点解决了对软件生存环境的不确定性建模问题、预测系统行为问题和实施非冲突的政策问题,集中突破了体系结构的预见式行为方法的难点,从而为可预见式的自适应体系结构提供理论和实现基础。本文的主要工作内容包括以下四个方面:1)实现了对生存环境的不确定性本体推理建模。给出了基于化学抽象机的预见式自适应体系结构规约——ChamPSA,通过基于框架的本体建模技术把不确定性写入ChamPSA的描述中,便于体系结构模拟、推理和分析。实现了体系结构为基础的自适应的形式化推导。2)提出了基于隐Markov模型的体系结构预见式的自适应方法.通过把系统行为视为一个随机过程,本文方法的核心在于试着刻画目标系统的统计学属性。本文利用隐Markov的数学特征并通过建模用户请求行为和运行时上下文实现运行时自适应。通过预见式的自适应提高了系统的预见能力。本文的方法是新颖的,因为一方面用标准的体系结构模型作为“杠杆”,另一方面用相关的体系结构元素量化系统行为。3)建立了基于ECA规则的自适应语言模型Humble。以扩展ECA规则作为定义政策的语义基础,将使自适应体系结构中的政策具有机器可理解的语义,进而可以显著促进政策导向的自主管理和协同工作。由于影响系统运行时变化的各种因素之间可能存在着冲突,基于扩展ECA规则本体的政策表示有良好的语义基础,有助于政策冲突的消解。该方法的核心在于通过把驱动体系结构演化的生存环境因素编织成政策,并以此为指导实现体系结构演化。4)实现了可预见式的自适应体系结构框架Lizard.Lizard框架是一个体系结构为基础的可预见式的自适应方法。本方法是通过考虑多个自适应目标的情况下基于审查不确定性来源进行研究的。利用隐Markov模型,Lizard能够从目标系统的历史行为中加以学习,最终可使体系结构生成预见式的自适应行为,从而实现了PSA的目标。使用了基于政策的自适应编织语言Humble解决在SA演化过程中多个自适应动作的冲突问题。本论文受到863计划专题项目(No.2007AA01Z187)和霍英东教育基金(No.94030)的资助,在此表示感谢。