基于自适应的软件架构研究

时间:2022-08-20 03:51:14

基于自适应的软件架构研究

摘要:针对当前软件开发面临的需求及环境多变的现状,本文提出了一种自适应的软件架构模型,通过对自适应架构的描述给出了各部分的结构框架,同时阐述了在构件模式下自适应的实现方法,并对于构件数据表示方法及自适应的进化过程做出了说明,提出了以基因计算为中心、进化算法为基础的结构模式,从而改善系统的稳定性和适应性。

关键词:自适应架构;元数据;基因计算;进化算法

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)21-30455-02

Research on Software Structure Based on Self-adapting

LI Xiao, MA Xiao-jun

(Anyang Normal University,Anyang 455000,China)

Abstract: This paper puts forwards a kind of model of software structure based on self-adapting according to the situation of the needs software development facing and changeable environment. It gives the structural framework of each part by describing self-adapting structure, meanwhile introduces self-adaptive implementation under the mode of component and explains the representation of component data and self-adaptive evolutionary processes, then advances the structural mode centering in gene calculation and based on evolutionary algorithm in order to improve stability and adaptability of the system.

Key words: self-adaptive structure; metadata; gene calculation; evolutionary algorithm

1 引言

软件技术的发展从最初的算法技术到当前的构件技术,促使软件向大型化、复杂化方向快速发展。然而软件需求的变更愈加频繁,维护工作日益繁重,如何使得所开发的软件能够适应快速变化的需求并有效满足用户个性化要求,已成为软件研究人员奋斗目标。

自适应软件是一种能够自动适应需求变化、对问题域的深入理解和技术进步等环境变更因素的软件[1]。它强调在整个软件生命周期中,通过检测需求和环境的变化,调整规划和修改开发,使软件不断演变以适应变化,并确保在性能测度最大的条件下实现软件开发目标。基于自适应的软件架构能为软件本身注入巨大活力,代表了未来软件架构发展方向,对需求经常变动的行业软件的开发和应用将产生重要意义。本文通过提出一种自适应软件架构方案对这种思想做初步探讨。

2 自适应架构

随着人们对软件需求的不断提高和变化,以往单纯的功能模块化软件体系结构已不能适应需求,新的架构必将要求:具有保护系统逻辑功能在不同环境条件下正常运行的自适应模块,在复杂多变的环境下具有高效稳定的性能。

自适应架构是一种开放性、动态性和演化性的软件体系结构模式,具有目标的多重性、功能模块的主动性、协同方式的多面性和系统演变的动态性等特征。其目的就是要求软件系统能够根据它运行环境的变化,自动调整系统的结构和算法以适应当前情况,并且系统构件能够采用进化的方式来解决环境变化和系统运行的矛盾。

本文的自适应架构从软件功能上分为逻辑应用模块和感知控制模块。

1)逻辑应用模块,由功能构件集合和逻辑框架组成,功能构件是封装后的应用模块及描述该功能的信息、性能及相关接口;逻辑框架定义了集合中构件之间的交互关系与规则。为了使功能构件具有自适应特点,除传统构件结构之外,还定义了可变层、抽象函数层及解析层。可变层主要是属性和数据结构,要达到自适应的目标,可变层要能够动态配置属性而无需重新编译构件,属性应参数化;抽象函数层是一组功能函数,负责将可变层数据应用于构件的实现结构中,从而达到动态改变构件功能的目的,功能函数应抽象成一个与数据无关的通用性很强的模板;解析层是构件与控制模块通信的通道。另外构件接口应具备良好的柔性和可扩展性。

2)感知控制模块,是实现自适应架构的关键,以基因计算为中心,表述成一个4层模式:元数据层、进化层、控制层及算法层。这种分层模式隔离了数据源和进化模式,使两者可独立进化,图1描述了各层中主要元素以及各层接口设计。

元数据层主要实现构件感知及数据源适应性问题,包括定义元数据、感知构件接口和属性基因化三个功能;进化层实现软件基因库及基因操作,通过基因计算实现基因复制及进化,进化过程可采用进化树方式描述[2];控制层负责存储构件感知信息、构件进化基因逻辑结构及控制各层运行,对整个架构的自适应过程起主导作用;算法层将进化算法实现为一组可接入的构件。

3 结论

自适应软件构架通过对系统功能构件的重新定义实现了传统构件向自适应构件的过渡,采用软件基因进化技术,简化系统构件进化复杂性[3],采用构件技术来设计算法的各种进化算法,简化算法设计和进化复杂性,并使算法构件具有对不同领域应用的可复用性,提高了自适应系统开发应用的效率和质量。虽然自适应架构是未来软件架构发展趋势,但目前还难以全面实现,根本原因在于其复杂性。本文从结构设计角度探讨此架构的一种解决方案,其中很多工作还需要人工参与,希望这种软件架构探索对于将来自适应软件发展起到积极作用。

参考文献:

[1] LIEBERHERRK.Adaptive object-oriented software: the Demeter method[M].Reading:PWS Publishing Company,1996.

[2] 分子进化与系统进化树的构建[EB/OL].[2008-03]./bbs/viewthread.php?tid=8918&page=1# pid33809.

[3] Anoint P A.Distributed Adaptable Software Architecture Derived From Component Model[J].Computer Standards & Interfaces,Special issue:Adaptable Software Architectures,2003.

上一篇:一种基于改进A*算法的限制搜索区域的路径规划... 下一篇:教育中虚拟现实技术的应用研究