论文部分内容阅读
随着Internet技术的发展,应用软件系统网络化趋势越来越显著。在开放、动态和个性化的网络基础平台上,网络软件系统不论是开发还是运行都比较容易受到网络环境的影响。因此,能够随着开发和运行环境的变化而进行自我调整的网络软件系统成为新型网络软件技术的研究热点。这种自适应特性可以概括为:在运行时刻,系统能够自动地做出改变以适应运行环境或用户需求的变化。运行环境的变化是指系统自身状态或者系统运行时所依赖的外部环境的变化;用户需求变化是指用户对软件在功能上需求的变化。具体而言,自适应可以覆盖许多软件的非功能特性:例如可扩充性、容错性、自我配置特性、在线演化特性等等:这些非功能特性是用户在运行的过程中对软件提出的功能以外的更高要求。“自适应”不仅是一个运行时刻的概念,也是一个设计时的概念。这意味着在构建软件系统的过程中,对自适应不仅要有运行时的支持,也要有设计时的支持。
目前已有的自适应软件系统具有两个特点:首先这些软件系统大都通过一定的手段对运行中的自适应行为进行支持,比如在代码中增加适应性的代码,或是通过一套从底层监控开始的自适应设施来完成适应过程。然而,这些系统通常是基于具体的领域,因此,尽管自适应系统不乏成功的例子,但综观全局,自适应软件系统的设计还是缺少一个相对统一的设计和运行框架,因此不易实现领域间或领域内的复用:同时,这些系统比较强调“运行时”的概念,较少将自适应作为应用系统设计的一部分。
针对上述问题,本文基于内置运行时软件体系结构技术,提出了一个自适应软件系统的设计和运行框架,并对其中的部分关键技术和实际应用进行了探讨。本文的主要工作有以下几方面:
1)提出了一个基于软件体系结构的自适应系统框架
本文的作者期望屏蔽不同应用领域之间的差异以提供一个通用的框架。在框架中,将体系结构作为运行系统的元模型,并引入运行时体系结构对象来完成元模型与运行系统之间的映射。而相应的自适应设施如适应性逻辑的表示与实现,底层监视系统的设计与实现皆建立在体系结构基础之上,因此也具有一定的领域独立性。
通常情况下,系统设计者在完成应用的功能性设计之后,可以对其自适应需求进行分析,进行相应的自适应设计。所以,自适应设施不仅要对自适应系统提供运行时的支撑,还应支持系统的自适应设计。通过赋予自适应设施以可编程能力,上述框架可有效支持开发时刻的自适应系统设计。
2)探讨了若干自适应系统关键实现技术
在本文中,对实现上述框架所需的关键技术进行了探讨:主要包括分层自适应监视技术、基于元组的对象表示和匹配技术、可编程的自适应设计技术等。分层的自适应监视技术采用基于属性的监视方法和三层监视结构,可以捕获系统底层的变化;基于元组的对象表示和匹配技术主要用于自适应逻辑的表示和实现;可编程的自适应设计技术主要介绍了系统提供给设计者的可编程设施。
3)实现了一个应用上述框架的具体系统
本文所提出框架的最终目的是与具体领域相结合,更好地进行自适应软件系统的设计工作。因此本文结合Web Service集成系统给出了具体的系统实现。主要内容包括系统设计、应用实例和系统评价等方面的内容。