论文部分内容阅读
软件系统的规模及复杂度越来越高。另一方面,互联网的发展使得越来越多的软件运行在高度开放、动态变化且难以预测的网络化环境中。这些都使得软件系统的运行时质量成为一个突出的问题,具体表现为运行时软件系统的行为偏离甚至违反系统的需求规约。因此,具备能够应对软件系统的复杂性以及上下文环境的不确定性的动态自适应能力已经成为很多软件系统的根本要求。由于模型在一定的抽象层次上刻画了软件系统的需求和设计等知识,能够有效地降低软件系统的复杂性并支持查询、分析、推理和修改等操作,因此运行时模型已经成为大多数软件自适应方法的基础。运行时模型为关于软件系统及其上下文环境的知识提供了一种运行时的抽象表示。在此基础上,软件自适应机制通过基于模型的自适应分析与规划首先在模型层面上实现重配置,然后将其映射到软件系统中实现运行时自适应调整。本文所研究的软件系统自适应方法同样建立在运行时模型的基础上,并具体针对基于软件需求模型和体系结构模型的自适应方法。其中,软件需求模型刻画了系统的高层需求及其实现手段,为运行时自适应决策提供了依据。软件体系结构模型作为需求与实现层之间的中间媒介,则为需求层自适应决策与运行时系统重配置之间的映射提供了所需的设计知识。本文的研究工作包括四个方面。第一,本文针对基于需求的软件系统运行时自适应决策方法进行了研究,提出了一种同时支持功能性和非功能性需求权衡的运行时自适应决策方法,从而实现系统总体运行质量的优化。第二,本文针对基于需求的运行时自适应方法中的不确定性问题进行了研究,分析了三种主要的不确定性因素及其对自适应效果的负面影响,并提出了相应的处理技术,从而提高运行时自适应决策的有效性。第三,本文将基于需求的运行时自适应方法应用到面向服务的体系结构中,从而实现了复合服务总体运行质量的优化。第四,本文针对基于构件的软件体系结构,提出了一种整合需求和体系结构的自适应方法来实现基于需求与基于设计的运行时自适应的结合,从而提高自适应的有效性和灵活性。此外,本文还对所提出的方法进行了详细的实验评价,验证了方法的有效