论文部分内容阅读
随着计算机技术的发展,软件系统的复杂性越来越高,为了能够适应开放动态的网络环境,融合异构的硬件资源以及满足不断变化的用户需求,要求软件系统能够在运行时自主地感知自身和环境的变化,并随着这种变化按照功能指标和性能指标进行静态调整和动态演化,以提供高质量、可持续的服务,满足用户的需求。具备这种能力的软件也叫自适应软件,一个自适应周期包括感知、决策和执行环节,三个环节分别要求实现情境空间与目标系统的数据融合,智能的决策以及系统在线动态演化。软件体系结构从全局视角描述系统结构,为自适应各个环节提供完整性和可行性的保障。但有一些关键的问题需要解决:如何准确地描述软件体系结构的动态性;自适应软件要求系统能够自主的感知、决策和演化,现有的自适应软件系统决策过程较为简单,应该考虑更加智能的决策算法。本文结合现有对软件体系结构研究,提出了一个基于构件系统的软件自适应框架,框架包括用户层、控制层和目标层。并探讨了动态环境下系统感知、决策和执行环节的相关机制和算法:(1)根据现有对软件体系结构的研究,分析软件体系结构的动态性,为体系结构的动态演化提供理论参考;(2)软件系统决策时,本文首先从权衡软件系统多个质量属性目标的角度,提出了一种基于效用理论的决策方法,计算满足当前环境下每个自适应动作的综合效用值;其次考虑自适应动作调整时影响的构件数目以及构件优先级。决策结果应当综合两方面计算选择最佳的动作。(3)设计了一个适合动态配置的结构模型,包括元层、配置层和基层,元层维护体系结构对象的信息,系统的动态配置通过调整体系结构元层,触发并实施对基层的调整。最后通过一个模拟的新闻网站系统验证本文提出的自适应关键技术的可行性。