一种动态适应性软件体系结构模型理论研究

上传人:冷*** 文档编号:19558941 上传时间:2021-01-11 格式:DOCX 页数:7 大小:18.70KB
收藏 版权申诉 举报 下载
一种动态适应性软件体系结构模型理论研究_第1页
第1页 / 共7页
一种动态适应性软件体系结构模型理论研究_第2页
第2页 / 共7页
一种动态适应性软件体系结构模型理论研究_第3页
第3页 / 共7页
资源描述:

《一种动态适应性软件体系结构模型理论研究》由会员分享,可在线阅读,更多相关《一种动态适应性软件体系结构模型理论研究(7页珍藏版)》请在装配图网上搜索。

1、一种动态适应性软件体系结构模型理论研究 摘 要:软件系统的演化需要具有灵活性、适应性的软件体系结构的支持。提出一种在组织结构上具有固有的动态性的软件体系结构理论模型动态树型软件体系结构模型(DTSAM)。在DTSAM定义的软件体系结构组织结构下,软件系统的演化抽象成为一棵动态树的渐增和渐减。其中,所设计的渐增和渐减算法分别定义了动态树的增减过程;所设计的生长函数中适应性因子的调节,使得软件体系结构在组织结构层次上具有整体适应性和局部适应性。最后应用模型对例子系统仿真,其过程产生的结果也证实了这种适应性。? 下载论文网关键词:软件体系结构;模型;适应性;动态性 ?中图分类号:TP31 文献标志码

2、:A 文章编号:1001-3695(2008)07-2053-04?Theory research of dynamic adaptive software architecture model?MAO Fei?qiao,QI De?yu?(Research Institute of Computer Systems, South China University of Technology, Guangzhou 510640, China)?Abstract:Software evolution needs the supports of software architecture with

3、 flexibility and adaptability.This paper proposed a dynamic tree software architecture model (DTSAM) with inherent dynamic character.Abstracted software system evolution as a dynamic tree growing and reducing gradually under the definition of DTSAM, in which the growing algorithm and the redu?勃?cing

4、? algorithm separately defined the growing process and the reducing process of the dynamic tree, and the adjustment of the ?adaptable? variable in the growing function made software architecture owning total adaptability and partial adaptability on the architectural level. Finally, the result produc

5、es during the application case with DTSAM proves that adaptability.?Key words:software architecture; model; adaptability; dynamic?0 引言?对软件体系结构组织结构本身的研究16长久以来一直停留在非正式或半正式形式下,缺乏高层次的理论抽象,使得对具体一种软件体系结构的理解难以把握,容易产生模糊理解,甚至不正确理解,从而产生了导致各种软件系统不可靠性的因素;同时也使得对具体一种软件体系结构功能特性和非功能特性的分析和评估难以进行,很难上升到定量的高度79。因此,另外一些

6、研究者就不得不寻求用形式化的方法1017在一定程度上形式化各种类型的软件体系结构,期望能够使得对这此软件体系结构的理解变得精确一些,导致软件系统不可靠性的因素尽量少一些,对软件体系结构性能的分析和评估也能尽可能地向定量的高度靠近。这种非正式性或半正式性主要表现在对体系结构的研究和描述主要依赖于使用自然语言和框线图来刻画体系结构所包含的软件构件类型、构件间的组织结构和约束规定等元素。另外,对软件体系结构组织结构本身的研究主要集中在设计静态的软件体系结构,欠缺对动态性的支持。软件体系结构这种结构上的刻板特点,也使其“牵一发而动全身”,使其缺乏灵活性和适应性,使得软件系统一旦开发完成,其演化也很困难

7、。?针对以上问题也有一些相关研究工作。如文献18用抽象代数理论建立了一个描述软件体系结构的数学模型,使得对软件体系结构的描述研究上升到一定的理论层次,但也只是限于用数学方法对软件体系结构的描述更正式、更精确,目的主要是为了解决软件体系结构描述语言在描述软件体系结构动态、可演化和可扩充特征方面的不足,对所描述的软件体系结构本身在支持动态性、适应性和可演化性等方面的不足却无能为力。再如文献19在软件体系结构的构件和连接器形式化描述中加入了可以描述构件位置及连接类型变化的信息,使得软件系统在执行的过程中可以进行构件的删除、修改或增加,在软件构件层次上使软件体系结构具有可适应性,而如何使软件体系结构在

8、高层次,如组织结构层次上、支持业务逻辑变化层次上,具有适应性却没作探讨;另外其形式化的抽象程度不高,没有达到数学理论的高度,所以对其所提出的软件体系结构的分析和评估也很难定量进行。可见,这些相关的研究工作还存在诸多不足。本文针对以上问题提出一种动态的,在组织结构层次上具有适应性的、呈树型渐增或渐减进行演化的软件体系结构理论模型。?1 动态树型软件体系结构模型?11 模型定义?从满足需求的角度看,软件是由软件构件按照一定的组织结构构成,软件构件间如何组织和如何交互影响着非功能性需求的满足,而软件构件间如何合作实现特定的业务逻辑则影响着功能性需求的满足。用户对软件系统的功能性需求和非功能性需求经常

9、会有一些变化,这就要求软件体系结构具有适应性,能够支持这些变化。一个软件体系结构能够支持这些变化,其本身在组织结构上应该是动态的,这样组织结构才具有灵活性;其构件在合作关系上也应该是可以变化的,这样才能随着业务逻辑的变化,合作关系也能随着变化。鉴于这样的考虑,动态树型软件体系结构模型的基本思想是:将软件构件抽象为一个个节点,软件构件间的直接交互关系抽象为一条条生长边;软件系统是由最初的一个节点(软件构件),再逐个加入新的节点(新的软件构件),而逐步演化而成。在演化的过程中,支持旧节点(旧的软件构件)的删除(即退出)。?在定义模型前,先给出模型假设:a)每个构件是可以独立部署、独立运行的;b)每

10、个构件都有惟一的代表该构件的非零自然数序号ID值,该序号由模型生成;c)可以退出软件系统组织结构的构件是受条件限制的;d)当同一时刻既有构件加入系统,又有构件退出系统,假设先处理退出的构件,再处理加入的构件;e)一次只有一个构件加入系统,若有不只一个构件同时需要加入系统时,假设认为同时需要加入的构件经过了预处理,变成逐个按序加入。?定义1 动态树型软件体系结构模型(dynamic tree software architecture model,DTSAM)是由七元组构成,DTSAM=?(N,E,NL,h,f,v,c)?。? 其中:?N?是动态树中所有节点的集合,是非空集合,至少包含元素1,每

11、一个节点表示一个构件,?N?表示软件系统所有构件的集合。?E?代表动态树中所有生长边的集合,可以为空。生长边是用一个有序对表示,如动态树中连接1和2这两个节点的生长边表示为(1,2)。在表示生长边的有序对中,总是靠近根的节点在前,离根较远的那个节点在后,每一条生成边表示一对构件之间存在交互关系。在软件体系结构描述中,将交互关系抽象称为连接器,所以每一条边表示一个连接器,?E?表示软件系统所有连接器的集合。?NL?代表动态树中各层节点集的集合,是非空集合,至少包含元素1,表示软件系统体系结构中各层包含的构件。?h?代表动态树的高,表示软件系统体系结构的层次数。?f?是生长函数,其值代表当一个ID

12、值为?n?的新构件进入系统后,约束指出应与该新构件相连接的那个构件的ID,并且? 即求集合中所包含元素的个数;运算符号“”表示取整;?LI(h)和WI(h)?所表达的意思参见定义2和3。?v?是节点值生成函数,其值代表即将加入系统成为软件系统组织结构一部分的那个构件,也代表该节点进入系统,连入动态树上生长边的顺序,其值越大表示该节点进入系统越晚;反之,则越早。当系统中有一构件退出,不再作为软件组织结构一部分时,?v?函数的值要进行减1修正,以前退出系统的构件。当再次进入系统时,认为是一个新的构件,并且?v(n)=v(n)-1,当有构件退出组织结构的修正操作?(4)?c?是常量,代表渐减规则。这

13、里规则定为:a)根节点的构件不能退出;b)叶子节点的构件可以直接退出;c)非叶子节点构件不能直接退出,要等到其子孙节点全部退出后才能退出;d)一次只能退出一个节点(构件),不允许两个或以上节点(构件)同时退出。?定义2 纵向增长集(lengthwise increasing)是由动态树最高层的构件构成的集合,?LI(h)=NL(h)?。其中?LI(h)表示高为h?的动态树的纵向增长集。?定义3 横向增长集(widthwise increasing)是由动态树非最高层所有构件构成的集合。当?h1时,WI(h)=N-LI?(h)=?hi=1NL(i);当h=1时,WI(h)=NL(h)=N=1?。

14、其中?WI(h)?表示高为?h?的动态树的横向增长集。?定义4 纵向增长方式是指新加入系统的节点连接在动态树纵向增长集中的节点所长出的生长边的生长方式;横向增长方式是指新加入系统的节点连接在动态树横向增长集中的节点所长出的生长边的生成方式;混合增长方式指动态树在增长过程中纵向增长方式与横向增长方式混合进行。?定义5 当一个新的节点加入系统后,长出其所连接的生长边的那个节点称为该新加入节点的生长点。生长点也是动态树中节点值与用生长函数求得的值相等的那个节点。?这里对生长函数的导出进行说明。由图1中针对节点逐渐加入所进行的组织结构可能性变化推导可以看出,从图1(a)到(d),系统组织结构中由一个节

15、点增加到四个节点,新节点的加入引起动态树的增长。?当一个新的节点准备加入时,动态树中的每一个节点都可能被选为生长点;当一个新节点加入后,动态树可能增高也可能增宽。当纵向增长集中的某个节点被选为生长点时,动态树增高;当横向增长集中的某个节点被选为生长点时,动态树增宽。纵向增长方式下,纵向增长集中每一个节点被选为生长点的概率是1/|?LI(h)?|;横向增长方式下,横向增长集中每一个节点被选为生长点的概率是1/|?WI(h)?|。对于树型结构,当一个新的节点加入时,树只有两种变化可能性:或长高、或长宽。如果再引入适应性因子?(?0,1),表示在期望的增长方式下,纵向增长方式所占的理想比率,那么在期

16、望的增长方式下,横向增长方式所占的比率就是1-?。在期望的增长方式下,动态树所有节点中,其中一个节点是期望生长点。那么这个期望生长点的值就可以由期望值函数?f(n)=?nNP(n)n?求出。因为节点值是自然数,最后加上一个取整运算。这个期望值函数也就是定义1中的生长函数。?性质1 当适应性因子?=0时,动态树仅作横向增长,组织结构退化为辐射式,节点间分布呈传统的黑板式体系结构?卣鳌?性质2 当适应性因子?=1时,动态树仅作纵向增长,结构退化为直线式,节点间分布呈传统的层次式体系结构特征。?性质3 当适应性因子?(0,1/2)时,动态树以横向增长为主。?性质4 当适应性因子?(1/2,1)时,动

17、态树以纵向增长为主。?12 渐增和渐减算法?由定义1知动态树是由根节点逐渐长大的,在初始状态下就有:?v(1)=1,N=1,E=?迹?NL=1,h=1,LI(1)=?WI(1)?=1。当一个新的节点n?加入后,动态树发生增长。这里给出动态树增长的渐增算法。?1)渐增算法?(1)计算?v(n)=v(n)+1?,生成新加入的这个节点的节点值?v(n)?;?(2)计算生长函数,求出生长点?f(n)?,若生长点?f(n)?LI(h)?,则动态树增宽,转(7);?(3)?h=h?+1;/修改树高?(4)?WI(h)=WI(h)LI(h)?;/修改横向增长集?(5)?LI(h)=v(n)?;/修改纵向增长

18、集?(6)?NL(h)=v(n) ,NL=NLNL(n)?,然后转(10);/*修改各层节点集的集合*/?(7)若生长点?f(n)NL(h-1),则LI(h)=LI(h)v(n),?NL(h)?=NL(h)v(n)?,然后转(10);/*修改纵向增长集和各层节点集的集合*/?(8)?WI(h)=WI(h)v(n)?;/修改横向增长集?(9)若生长点?f(n)NL(i)(1ih-1),则NL(i+1)=NL(i+1)v(n);?/修改各层节点集的集合?(10)?N=Nv(n)?;/修改动态树所有节点集?(11)?E=E(f(n),v(n);?/修改动态树的生长边集?当动态树中一个节点值为?i?的

19、节点退出系统组织结构后,动态树发生削减,根据定义1中的削减规则,这里给出渐减?惴?2)渐减算法?(1)若?iLI(h),则LI(h)=LI(h)-i,?否则转(4);/*修改纵向增长集*/?(2)若?LI(h)=?迹?则NL=NL-NL(h),h=h-1,?然后转(5);?/删?去各层节点集的集合中最高一层的节点集,并修改树高?(3)任意?jLI(h),若ji,则j=j-1?,然后转(5);/*修改纵向增长集中节点值大于?i?的所有节点的节点值*/?(4)?WI(h)=WI(h)-i?;/修改横向增长集?(5)任意?jWI(h),若ji,则j=j-1?;/*修改横向增长集中节点值大于?i?的所

20、有节点的节点值*/?(6)任意?NL(k)(1kh),任意jNL(k),若j-i=0,则?NL(k)=?NL(k)-j,若j-i0,则j=j-1?;/修改各层节点集? (7)?E=E-(j,i)(其中1j|N|)且任意(m,n)E,若mi,则(m,n)=(m-1,n-1),若mi且ni,则(m,n)=(m,n-1)?;?/修?改生长边集? (8)?N=N-i,且任意jN,若ji,则j=j-1?;/*修改动态树所有节点集,以及节点值大于?i?的所有节点的节点值*/?2 模型仿真分析?假设有个小系统由软件构件八次增减逐步演化而成,其间有一次出现:某个符合退出条件的软件构件退出,其他七次均为加入软件

21、构件。应用上述定义的模型及其上的增减算法,对该小系统软件的体系结构进行仿真,通过调节适应性因子,观察由该模型定义的体系结构组织结构上的变化。?在仿真过程中,当适应性因子?=0时,模型上各个量的变化情况如表1所示,对应的系统体系结构组织结构如图2(a)所示;(a)显示的结构特征表明动态树组织结构呈放射式,从而也证实了性质1。当适应性因子?=1时,模型上各个量的变化情况如表2所示,对应的系统体系结构组织结构如图2(b)所示;(b)显示的结构特征表明动态树组织结构呈直线式,从而也证实了性质2。当适应性因子?=03时,模型上各个量的变化情况如表3所示,对应的系统体系结构组织结构如图2(c)所示;(c)

22、所显示的结构特征表明动态树以横向增长为主,从而也证实了性质3。当适应性因子?=0.7时,模型上各个量的变化情况如表4所示,对应的系统体系结构组织结构如图2(d)图所示;(d)图所显示的结构特征表明动态树以纵向增长为主,从而证实了性质4。?由上述仿真观察到的结果可以看出,通过调节DTSAM的适应性因子,可以使软件体系的组织结构发生不同程度的变化,从而使得软件体系结构在组织结构上具有一定程度的适应性。另外,这种动态树结构本身使得软件体系结构在组织结构上具有一种固有的动态性,从而使其在结构上具有灵活性,避免了“牵一发而动全身”。其实,在上述仿真过程中,适应性因子的调整是在动态树开始增减之前,一旦动态

23、树开始增减变化,适应性因子不再发生变化,所以观察到的在组织结构上的变化是一种整体性的变化,表现出一种整体性的适应性;如果在动态树增减变化的过程中调节适应性因子也是允许的,并且这种调节可以使得软件体系结构在局部发生变化,表现出一种局部性的适应性。由于文章篇幅所限,这种局部性的适应性仿真情况这里不作详细描述。?3 结束语?本文提出的这种动态树型软件体系结构模型,将软件系统在组织结构上的演化抽象为一棵逐渐增减的动态树。模型的定义及其增减算法的设计建立在离散数学的集合论、概率论以及图论的基础上,为软件体系结构组织结构本身的理论研究提供了一种新的思路,为软件体系结构定量分析和评估奠定了理论基础。通过应用

24、所定义的模型对一个小例子系统体系结构的组织结构进行仿真,也进一步证实了该模型所定义的软件体系结构在组织结构层次上具有适应性,而且该模型所定义的软件体系结构在组织结构上具有一种固有的动态性,这种固有的动态性使其具备与生俱来的灵活性。但是,目前该模型还存在不足之处,即缺乏对软件体系结构在业务逻辑层次上的适应性支持。而这也正是下一步的研究工作。接下来笔者将在DTSAM上定义任务合作运算,以及任务合作条件生成运算。这些运算支持任务合成的变化,从而使得DTSAM进一步在业务逻辑层次上也具有适应性。?参考文献:1GENG Gang?yong,ZHONG Cui?hao,CHEN Wei.A domain?

25、specific software architectureC/Proc of IEEE International Conference on Intelligent Processing Systems.Beijing:s.n.,1997:1833?1837.?2LALANDA P,CHERKI S.Object?orientation and software architectureC/Proc of Lecture Notes in Computer Science of Workshopion on Object?Oriented Technology.1998:115?119.?

26、3LI Chang?yun,LI Gan?sheng,LI Yin.Research on computing grid software architectureC/Proc of Lecture Notes in Computer Science. Berlin, Heidelberg:Springer,2004:817-820.?4Van DEURSEN A,HOFMEISTER C,KOSCHKE R,?et al.?Symphony:view?driven software architecture reconstructionC/Proc of the 4th Working IE

27、EE/IFIP Conference of Software Architecture.Washington DC:IEEE Inc,2004:122?132.?5NORO M,KUMAZAKI A.On aspect?oriented software architecture: it implies a process as well as a productC/Proc of the 9th Asia?Pacific Software Engineering Conference.Washington DC:IEEE Inc,2002:276-285.?6YU Hui?qun,LIU D

28、ong?mei,HE Xu?dong,?et al.?Secure software architectures design by aspect orientationC/Proc of the 10th IEEE International Conference of Engineering of Complex Computer Systems.Washington DC: IEEE Inc,2005:47-55.?7SHAW M.The coming?of?age of software architecture researchC/Proc of the 23rd Internati

29、onal Conference of Software Engineering.Washington DC:IEEE Inc,2001:656-664.?8KRUCHTEN P,OBBINK H,STAFFORD J.The past,present, and future for software architectureJ.IEEE Software,2006,23(2):22-30.?9SHAW M,CLEMENTS P.The golden age of software architectureJ.IEEE Software,2006,23(2):31-39.? 10骆华俊,唐稚松,

30、郑建丹.可视化体系结构描述语言XYZ/ADLJ.软件学报,2000,11(8):1024?1029.? 11杨世瀚,王灏.管道过滤器软件体系结构风格的形式化J.小型微型计算机系统,2000,21(11):1214?1216.?12JIA Xiao?ping.A pragmatic approach to formalizing object?oriented modeling and developmentC/Proc of the 21st Annual International Conference ofComputer Software and Applications.Washing

31、ton DC:IEEE Inc,1997:240-245.?13PLAT N,Van KATWIJK,TOETENEL H.Application and benefits of formal methods in software developmentJ.Software Engineering Journal,1992,7(5):335-346.?14BAHSOON R,EMMERICH W.Evaluating software architectures: development, stability, and evolutionC/Proc of ACS/IEEE Internat

32、ional Conference of Computer Systems and Applications.Washington DC:IEEE Inc, 2003:47-56.?15KAZMAN R,BASS L,WEBB M,?et al.?SAAM:a method for analyzing the properties of software architecturesC/Proc of the 16th International Conference of Software Engineering.Los Alamitor:IEEE Computer Society Press,

33、1994:81-90.?16YU Hui?qun,HE Xu?dong,DENG Yi,?et al.?A formal method for analyzing software architecture models in SAMC/Proc of the 26th Annual International Conference of Computer Software and Applications.Washington DC:IEEE Inc,2002:645-652.?17GARLAN D.Formal modeling and analysis of software archi

34、tecture:components,connectors,and eventsC/Lecture Notes in Computer Science 2804.2003:1-24.?18赵会群,王国仁,高远.软件体系结构抽象模型J.计算机学报,2002,25(7):730?736.?19HAN Song?qiao,ZHANG Shen?sheng,ZHANG Yong,?et al.?An adaptable software architecture based on mobile components in pervasive computingC/Proc of the 6th International Conference of Parallel and Distributed Computing, Applications and Technologies.Washington DC:IEEE Inc, 2005:309-311.注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!