一种基于关联矩阵的软件体系结构动态演化方法

文档序号:6375407阅读:129来源:国知局
专利名称:一种基于关联矩阵的软件体系结构动态演化方法
技术领域
本方法涉及计算机领域,尤其涉及一种基于关联矩阵的软件体系结构动态演化方法。
背景技术
随着计算机技术和网络技术的不断发展,Internet已成为当今主流的软件运行环境。在Internet开放环境下,软件的用户需求、计算环境等不断发生改变。当面对这些变化的需求和环境时,软件往往需要不断演化才能增强生命力,才能适者生存。软件演化已经成为当前软件生命周期中的重要组成部分。软件演化可分为静态演化和动态演化。支持动态演化的软件能够在运行时改变系统的实现,包括对系统进行功能完善、扩充、改变体系结构等,而不需重启或重编译系统。由于具有持续可用等优点,软件动态演化已逐渐成为软件工程领域研究的热点。
现代软件的复杂性决定了软件动态演化研究首先应从宏观层面入手,这样避免过早陷入琐碎的细节中。软件体系结构描述了软件系统的结构组成、组成元素之间的交互、连接,及约束等。软件体系结构通常以构件、连接件的形式描述系统的组成元素及其交互等信息,为人们在全局上把握软件的结构和演化提供了一条有效途径。如何在软件体系结构层次上刻画和分析演化已成为研究软件动态演化的关键问题。虽然目前的研究者在软件体系结构动态演化方面做了ー些工作,但大多数方法都是从软件体系结构动态演化的操作或规则入手,来描述或建模软件体系结构动态演化,很 少从体系结构各元素间的关联及关联程度上来考虑软件体系结构的动态演化。

发明内容
本发明的目的是从软件体系结构各元素间的关联及关联程度出发,提供一种基于关联矩阵的软件体系结构动态演化方法。本发明的技术方案它包括
(1)建立软件体系结构的直接关联矩阵;
(2)建立软件体系结构的关联基数矩阵;
(3)通过直接关联矩阵及关联基数矩阵的变换实现软件体系结构动态演化的各项需
求;
首先用直接关联矩阵表示当前软件体系结构中各元素之间的直接关联关系,然后通过直接关联关系计算出各元素间的最短关联路径长度,以此构成关联基数矩阵,接着根据动态演化的各项需求,通过直接关联矩阵及关联基数矩阵的变换,实现软件体系结构的动态演化。建立软件体系结构直接关联矩阵的步骤如下
Cl)根据关联方式不同,将软件体系结构中元素间的关联关系分为3类直接关联、间接关联和自关联;
将软件体系结构中各元素间的直接关联关系用直接关联矩阵DIM进行表示,其
中,对软件体系结构中现有各元素Ci (i=l,2,…,P),如果Ci和Cj有直接关联关系,则DIM(i,」)=1,否则0頂(1,j)=0,i=l,2,…,p, j=l, 2,…,p ;
其中,如果软件体系结构元素iデj,Ci和&之间是直接相连,则称Ci和&之间存在直接关联关系,如果Ci和Cj之间通过其他元素相连,则称Ci和Cj之间存在间接关联关系,Ci与自身之间的关系,称为自关联关系; 对于今后要增加或替换的软件体系结构元素Ck(k=p+l,p+2,…,p+m),由于它
与其他软件体系结构元素没有任何关联,也即没有直接关联关系,故它在DIM中所对应的第k行和第k列的值均设为O。建立软件体系结构关联基数矩阵的步骤如下
@通过软件体系结构各元素间的直接关联关系,计算出体系结构元素Ci关联到Cj的
最短路径长度,定义为它们之间的关联基数,i=l, 2,···,n, j=l, 2,···,n,n=p+m;并规定如果Ci与之间没有任何关联关系,则它们之间的关联基数为0,如果Ci与之间是自关联关系,则它们之间的关联基数为I ;如果Ci与之间是直接关联关系,则它们之间的关联基数为2 ;如果Ci与之间是间接关联关系,且Ci与之间的最短关联路径中含有元素Ck,Ci与Ck之间的关联基数为r,Ck与之间是直接关联,则Ci与之间的关联基数为r+Ι ;
0)将软件体系结构中各元素Ci (i=l,2,…,η)间的关联基数用关联基数矩阵ICM
进行表示,其中ICM(i,j)表示体系结构元素Ci和Cj之间的关联基数,i=l,2,…,η,j=l, 2,…,η ;
对于今后要增加或替换的软件体系结构元素Ck(k=p+l,p+2,…,p+m),其在ICM
中所对应的第 k 行和第 k 列中,ICM(k,k)=l, ICM(k, j)=0 且 ICM(j,k)=0,j=l,2,…,p+m且jデk。软件体系结构动态演化包括三类基本操作体系结构元素的添加、删除和替换,通过直接关联矩阵及关联基数矩阵的变换实现这三类基本操作的方法如下
(I)添加体系结构元素动态演化的实现方法
假设当前软件体系结构现有的元素为C1. C2和C3,且C1和C2、C2和C3之间有直接关联关系,从而C1和C3之间存在间接关联关系;元素C4和C5表示将来需要进行添加或替换的软件体系结构元素,它们与现有的元素C1X2和C3之间没有任何关联;现假设有ー动态演化需求,要求添加元素C4到当前软件体系结构中,并实现与C3的直接关联,则对该软件体系结构増加元素C4的动态演化过程为,经过该动态演化后,当前软件体系结构中现有的元素变为C1X2X3和C4,且C1和C2X2和C3、C3和C4之间有直接关联关系,从而C1和C3、C2和C4X1和C4之间有间接关联关系,元素C5仍然表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素C1X2X3和C4之间没有任何关联;该软件体系结构动态演化对应的直接关联矩阵和关联基数矩阵相应的变换为动态演化后,因为C3和C4之间存在直接关联关系,故DIM (3,4) =1以及DM (4,3) =1,且其关联基数ICM (3,4) =2,I CM (4,3) =2;又因为动态演化后,ICM(1,3) =3保持不变,且C3和C4之间存在直接关联,故ICM(1,4)=3+1=4且ICM (4,I)= 4 ;同理,I CM (2, 4)= 3,ICM (4, 2)= 3,其他的DM和ICM行列值则保持不变。φ删除体系结构元素动态演化的实现方法
假设当前软件体系结构现有的元素为Cp C2, C3和C4,且C1和C2、C2和C3、C3和C4之间有直接关联关系,从而C1和C3、C2和C4、C1和C4之间有间接关联关系,元素C5表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素CpCpC3和C4之间没有任何关联;现假设有ー动态演化需求,要求删除当前软件体系结构现有元素C4,则对该软件体系结构删除元素C4的动态演化过程为,经过该动态演化后,当前软件体系结构中现 有的元素变为C1. C2和C3,且C1和C2、C2和C3之间有直接关联关系,从而C1和C3之间有间接关联关系,元素c4、C5表示将来需要进行添加或替换的软件体系结构元素,它们与现有的软件体系结构元素Cp C2和C3之间没有任何关联;该软件体系结构动态演化对应的直接关联矩阵和关联基数矩阵相应的变换为动态演化后,因为C4和C1. C2, C3之间不再存在任何关联,故DM的第4行和第4列均变为0,且ICM (1,4) =0以及ICM (4,1)=0, ICM (2,4)=0以及ICM(4,2)=0, ICM(3,4) =0以及ICM(4,3)=0,其他的DM和ICM行列值则保持不变。 替换体系结构元素动态演化的实现方法
假设当前软件体系结构现有的元素为C1. C2, C3和C4,且C1和C2、C2和C3、C3和C4之间有直接关联关系,从而C1和C3、C2和C4X1和C4之间有间接关联关系,元素C5表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素CpC2A3和C4之间没有任何关联;现假设有ー动态演化需求,要求用元素C5替换现有元素C4,则该动态演化过程为,经过该动态演化后,当前软件体系结构中现有的元素变为C1X2X3和C5,且C1和c2、c2和C3> C3和C5之间有直接关联关系,从而C1和C3、C2和C5、C1和C5之间有间接关联关系,元素C4表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素C1.C2, C3和C5之间没有任何关联;该软件体系结构动态演化对应的直接关联矩阵和关联基数矩阵相应的变换为动态演化后,因为C4和其他元素之间不再存在任何关联关系,所以DIM的第 4 行和第 4 列均变为 0,且 ICM(4,4)=1, ICM(i,4)=0 以及 ICM(4,i)=0, i=l, 2,3,5 ;又因为C3和C5之间存在直接关联关系,故DIM(3,5)=1以及DIM(5, 3) =1,且ICM(3,5) =2以及ICM(5,3) =2 ;又 ICM(1,3) =3,且(3和 C5之间存在直接关联,故 ICM(1,5) =4 以及 ICM(5,I) =4 ;同理,ICM(2,5) =3以及ICM(5,2) =3,其他的DM和ICM行列值则保持不变。本发明的优点是
与现有技术相比,本发明的方法不仅可以增强软件体系结构元素动态演化关系的可追踪性,而且可以增强软件体系结构动态演化的可控性。另外,采用基于关联矩阵及其变换的软件体系结构动态演化方法,方便计算机进行处理和实现。


图I是本发明的流程图。图2是本发明中增加体系结构元素动态演化的示意图。图3是本发明中増加体系结构元素动态演化对应的直接关联矩阵及关联基数矩阵变换图。图4是本发明中删除体系结构元素动态演化的示意图。图5是本发明中删除体系结构元素动态演化对应的直接关联矩阵及关联基数矩阵变换图。图6是本发明中替换体系结构元素动态演化的示意图。
图7是本发明中替换体系结构元素动态演化对应的直接关联矩阵及关联基数矩阵变换图。
具体实施例方式本发明通过下面的实施例可以对本发明作进ー步的描述,然而,本发明的范围并不限于下述实施例。实施例I :为了矩阵处理方便,本发明假定,软件体系结构动态演化过程中所有可能需要添加、删除或者替换的体系结构元素如构件或连接件事先已经知道。下面将对本发明的实施方式进行详细说明。(I)建立软件体系结构的直接关联矩阵;
按照以下步骤建立软件体系结构的直接关联矩阵
CD根据关联方式不同,将软件体系结构中元素间的关联关系分为3类直接关联、间
接关联和自关联,其中,如果软件体系结构元素Ci和(i幸j)之间是直接相连的,则称Ci和Cj之间存在直接关联关系,如果Ci和Cj之间通过其他元素相连,则称Ci和Cj之间存在间接关联关系,Ci与自身之间的关系,称为自关联关系;
O)将软件体系结构中各元素间的直接关联关系用直接关联矩阵DIM进行表示,其
中,对软件体系结构中现有各元素Ci (i=l,2,…,P),如果Ci和有直接关联关系,则DIM(i,」)=1,否则0頂(1,j)=0,i=l,2,…,p, j=l, 2,…,p ;
⑤对于今后可能需要增加或替换的软件体系结构元素Ck (k=p+l, p+2, ···,p+m),
由于它与其他软件体系结构元素没有任何关联,也即没有直接关联关系,故它在DIM中所对应的第k行和第k列的值均设为O。由以上过程显然可知,软件体系结构的直接关联矩阵为对称矩阵。(2)建立软件体系结构的关联基数矩阵按照以下步骤建立软件体系结构的关联基数矩阵
Cl)通过软件体系结构各元素间的直接关联关系,计算出体系结构元素Ci关联到的最短路径长度,定义为它们之间的关联基数,i=l, 2,···,n, j=l, 2,···,n,n=p+m。本发明规定,如果Ci与之间没有任何关联关系,则它们之间的关联基数为O,如果Ci与Cj之间是自关联关系,则它们之间的关联基数为I。如果Ci与之间是直接关联关系,则它们之间的关联基数为2。如果Ci与之间是间接关联关系,且Ci与之间的最短关联路径中含有元素ck,Ci与Ck之间的关联基数为r,Ck与之间是直接关联,则Ci与之间的关联基数为r+Ι ;
将软件体系结构中各元素Ci (i=l,2,…,η)间的关联基数用关联基数矩阵ICM
进行表示,其中ICM(i, j)表示体系结构元素Ci和Cj之间的关联基数,i=l, 2,···,η,j=l, 2,…,η ;
(J)对于今后可能需要增加或替换的软件体系结构元素Ck(k=p+l, p+2, ···,p+m),
其在ICM中所对应的第k行和第k列中,ICM(k,k)=l, ICM(k, j) =O且ICM(j,k) =0, j=l, 2,…,p+m且jデk。由以上过程显然可知,软件体系结构的关联基数矩阵为对称矩阵。(3)通过直接关联矩阵及关联基数矩阵的变换实现软件体系结构动态演化的相关操作
软件体系结构动态演化通常包括三类基本操作体系结构元素如构件或连接件的添カロ、删除和替换。下面分别介绍这三种软件体系结构动态演化基本操作的实现
添加体系结构元素动态演化的实现
假设当前的软件体系结构如图2左边(箭头左边)所示,其中当前软件体系结构中现有的元素为Cp C2和C3,C1和C2、C2和C3之间的连线表示C1和C2、C2和C3之间有直接关联关系,从而C1和C3之间存在间接关联关系。孤立元素C4和C5表示将来需要进行添加或替换的软件体系结构元素,它们与现有的软件体系结构元素C1X2和C3之间没有任何关联。该当前软件体系结构的直接关联矩阵DIM和关联基数矩阵ICM如图3左边所示,这里以DIM和ICM的第一行为例说明其表示方法,其他的DM或ICM行表示类似。DM(1,2) =1表示C1和C2之间有直接关联关系;DIM(1,i)=0,i=l,3,4,5,表示C1和其他元素(C2除外)之间没有直接关联关系A1和C1之间是自关联,故ICM (1,1)=1 和C2之间是直接关联,故ICM (1,2) =2 ;ICMd, 2) =2且C2和C3之间是直接关联,故ICM(1,3) =2+1=3 和C4、C5之间没有关联,故ICM(1, 4) =0, ICM(1, 5) =O0现假设有ー动态演化需求,要求添加元素C4到当前软件体系结构中,并实现与C3的直接关联,则对该软件体系结构增加元素C4的动态演化过程如图2所示,其中图2右边(箭头右边)表示动态演化后的软件体系结构示意图,即经过该动态演化后,当前软件体系结构中现有的元素变为C1X2X3和(;,且C1和C2、C2和C3、C3和C4之间有直接关联关系,从而C1和C3、C2和C4X1和C4之间有间接关联关系,孤立元素C5表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素CpC2X3和C4之间没有任何关联。该软件体系结构动态演化对应的直接关联矩阵和关联基数矩阵相应的变换如图3所示,动态演化后的直接关联矩阵DIM和关联基数矩阵ICM如图3右边所示。动态演化前,由于C3和C4之间不存在任何关联,故DM(3,4) =0,且关联基数ICM(3,4) =0,动态演化后,C3和C4之间存在直接关联,故DIM (3,4) =1以及DIM (4,3) =1,且其关联基数ICM (3,4) =2,ICM (4,3) =2 ;又因为动态演化后,ICM(1,3) =3保持不变,且C3和C4之间存在直接关联,故ICM(1,4)=3+1=4且ICM (4,I)= 4 ;同理,I CM (2, 4)= 3,ICM (4, 2)= 3,其他的DM和ICM行列值则保持不变。φ删除体系结构元素动态演化的实现
假设当前的软件体系结构如图4左边所示,其中当前软件体系结构中现有的元素为C1.C2, C3和C4,C1和C2、C2和C3、C3和C4之间的连线表示C1和C2、C2和C3、C3和C4之间有直接关联关系,从而C1和C3、C2和C4、C1和C4之间有间接关联关系,孤立元素C5表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素C1. C2, C3和C4之间没有任何关联。该当前软件体系结构的直接关联矩阵DIM和关联基数矩阵ICM如图5左边所示,这里以DM和ICM的第二行为例说明其表示方法,其他的DM或ICM行表示类似。DIM(2, 1)=UDIM(2, 3)=1 表示 C2 和 C1X2 和 C3 之间有直接关联关系;D頂(2,i) =0,i=2,4,5,表示C2和C2、C4、C5之间没有直接关联关系;C2和C1之间是直接关联,故ICM(2,I) =2 ;C2和C2之间是自关联,故ICM (2,2)=1,又C2和C3之间是直接关联,故ICM (2,3) =2 ;ICM(2, 3)=2且C3和C4之间是直接关联,故ICM(2,4) =3 ;C2和C5之间没有任何关联,故ICM(2,5)=0。现假设有ー动态演化需求,要求删除当前软件体系结构现有元素C4,则对该软件体系结构删除元素C4的动态演化过程如图4所示,其中图4右边表示动态演化后的软件体系结构示意图,即经过该动态演化后,当前软件体系结构中现有的元素变为C1. C2和C3,且C1和C2、C2和C3之间有直接关联关系,从而C1和C3之间有间接关联关系,孤立兀素C4、C5表不将来需要进行添加或替换的软件体系结构元素,它们与现有的软件体系结构元素C1. C2和C3之间没有任何关联。该软件体系结构动态演化对应的直接关联矩阵和关联基数矩阵相应的变换如图5所示,动态演化后的直接关联矩阵DIM和关联基数矩阵ICM如图5右边所示。经过该动态演化后,因为C4和C1. C2, C3之间不再存在任何关联,故DM的第4行和第4列均变为 0,且 ICM(1,4)=0 以及 ICM(4,I) =0,ICM(2,4) =0 以及 ICM(4,2) =0,ICM(3,4) =0 以及ICM(4,3) =0,其他的DM和ICM行列值则保持不变。φ替换体系结构元素动态演化的实现
假设当前的软件体系结构如图6左边所示,现假设有ー动态演化需求,要求对该软件体系结构用元素C5替换现有元素C4,则该动态演化过程如图6所示,其中图6右边表示动态演化后的软件体系结构示意图,即经过该动态演化后,当前软件体系结构中现有的元素变为Cp C2、C3和C5,且C1和C2、C2和C3、C3和C5之间有直接关联关系,从而C1和C3、C2和C5、C1和C5之间有间接关联关系,孤立元素C4表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素CpC2A3和C5之间没有任何关联。该软件体系结构动态演化对应的直接关联矩阵和关联基数矩阵相应的变换如图7所示,动态演化后的直接关联矩阵DM和关联基数矩阵ICM如图7右边所示。经过该动态演化后,因为C4和其他元素之间不再存在任何关联关系,所以DIM的第4行和第4列均变为0,且ICM(4,4) =1,ICM(i, 4) =0以及ICM(4,i)=0, i=l,2,3,5 ;又因为C3和C5之间存在直接关联关系,故DIM(3,5)=1以及DIM(5, 3) =1,且 ICM(3,5) =2 以及 ICM(5,3) =2 ;又因为 ICM(1,3) =3,且 C3 和 C5 之间存在直接关联,故 ICM(1,5)=4 以及 ICM (5,I) =4 ;同理,ICM (2,5) =3 以及 ICM (5,2) =3,其他的 DM 和ICM行列值则保持不变。(4)如图I所示,本方法的实现流程如下
输入系统当前的软件体系结构SA1,以及相关的软件体系结构动态演化需求;
O)计算SA1的直接关联矩阵DIM1 ;
根据DIM1,计算SA1的关联基数矩阵ICM1;
(4)根据用户的动态演化需求,按照添加体系结构元素动态演化、删除体系结构元素
动态演化和替换体系结构元素动态演化三种情况,分别计算演化后的软件体系结构的直接关联矩阵DIM2及其关联基数矩阵ICM2 ;
DIM2及ICM2所表示的软件体系结构即为动态演化后的软件体系结构SA2。
权利要求
1.一种基于关联矩阵的软件体系结构动态演化方法,其特征在于它包括(1)建立软件体系结构的直接关联矩阵;(2)建立软件体系结构的关联基数矩阵;(3)通过直接关联矩阵及关联基数矩阵的变换实现软件体系结构动态演化的各项需求;首先用直接关联矩阵表示当前软件体系结构中各元素之间的直接关联关系,然后通过直接关联关系计算出各元素间的最短关联路径长度,以此构成关联基数矩阵,接着根据动态演化的各项需求,通过直接关联矩阵及关联基数矩阵的变换,实现软件体系结构的动态演化。
2.根据权利要求I所述的ー种基于关联矩阵的软件体系结构动态演化方法,其特征在于建立软件体系结构直接关联矩阵的步骤如下CD根据关联方式不同,将软件体系结构中元素间的关联关系分为3类直接关联、间接关联和自关联;Q将软件体系结构中各元素间的直接关联关系用直接关联矩阵DIM进行表示,其中,对软件体系结构中现有各元素Ci (i=l,2,…,P),如果Ci和有直接关联关系,则DIM(i,」)=1,否则0頂(1,j)=0,i=l,2,…,p, j=l, 2,…,p ;其中,如果软件体系结构元素iデj,Ci和之间是直接相连,则称Ci和之间存在直接关联关系,如果Ci和Cj之间通过其他元素相连,则称Ci和Cj之间存在间接关联关系,Ci与自身之间的关系,称为自关联关系;Q)对于今后要增加或替换的软件体系结构元素Ck(k=p+l,p+2,…,p+m),由于它与其他软件体系结构元素没有任何关联,也即没有直接关联关系,故它在DIM中所对应的第k行和第k列的值均设为O。
3.根据权利要求I所述的ー种基于关联矩阵的软件体系结构动态演化方法,其特征在于按照以下步骤建立软件体系结构的关联基数矩阵Q通过软件体系结构各元素间的直接关联关系,计算出体系结构元素Ci关联到的最短路径长度,定义为它们之间的关联基数,i=l, 2,···,n, j=l, 2,···,n,n=p+m;并规定如果Ci与之间没有任何关联关系,则它们之间的关联基数为O,如果Ci与之间是自关联关系,则它们之间的关联基数为I ;如果Ci与之间是直接关联关系,则它们之间的关联基数为2 ;如果Ci与之间是间接关联关系,且Ci与之间的最短关联路径中含有元素Ck,Ci与Ck之间的关联基数为r,Ck与之间是直接关联,则Ci与之间的关联基数为r+Ι ;(2)将软件体系结构中各元素Ci (i=l,2,…,η)间的关联基数用关联基数矩阵ICM进行表示,其中ICM(i,j)表示体系结构元素Ci和Cj之间的关联基数,i=l,2,…,η,j=l, 2,…,η ; 对于今后要增加或替换的软件体系结构元素Ck(k=p+l,p+2,…,p+m),其在ICM中所对应的第 k 行和第 k 列中,ICM(k,k)=l, ICM(k, j)=0 且 ICM(j,k)=0,j=l,2,…,p+m且jデk。
4.根据权利要求I所述的ー种基于关联矩阵的软件体系结构动态演化方法,其特征在于通过直接关联矩阵及关联基数矩阵的变换实现软件体系结构动态演化的相关操作软件体系结构动态演化包括三类基本操作体系结构元素的添加、删除和替换;三种软件体系结构动态演化基本操作的实现分别如下O)添加体系结构元素动态演化的实现;Q删除体系结构元素动态演化的实现; 替换体系结构元素动态演化的实现。
5.根据权利要求4所述的ー种基于关联矩阵的软件体系结构动态演化方法,其特征在于添加体系结构元素动态演化的实现方法为假设当前软件体系结构现有的元素为C1. C2和C3,且C1和C2、C2和C3之间有直接关联关系,从而C1和C3之间存在间接关联关系;元素C4和C5表示将来需要进行添加或替换的软件体系结构元素,它们与现有的元素C1X2和C3之间没有任何关联;现假设有ー动态演化需求,要求添加元素C4到当前软件体系结构中,并实现与C3的直接关联,则对该软件体系结构増加元素C4的动态演化过程为,经过该动态演化后,当前软件体系结构中现有的元素变为C1X2X3和C4,且C1和C2X2和C3、C3和C4之间有直接关联关系,从而C1和C3、C2和C4X1和C4之间有间接关联关系,元素C5仍然表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素C1X2X3和C4之间没有任何关联;该软件体系结构动态演化对应的直接关联矩阵和关联基数矩阵相应的变换为动态演化后,因为C3和C4之间存在直接关联关系,故DIM(3,4)=1以及DM(4,3)=1,且其关联基数ICM(3,4) =2,ICM(4,3)=2;又因为动态演化后,ICM(1,3) =3保持不变,且C3和C4之间存在直接关联,故ICM(1,4)=3+1=4且ICM (4,I)= 4 ;同理,I CM (2, 4)= 3,ICM (4, 2)= 3,其他的DM和ICM行列值则保持不变。
6.根据权利要求4所述的ー种基于关联矩阵的软件体系结构动态演化方法,其特征在于删除体系结构元素动态演化的实现方法为假设当前软件体系结构现有的元素为C1. C2, C3和C4,且C1和C2、C2和C3、C3和C4之间有直接关联关系,从而C1和C3、C2和C4、C1和C4之间有间接关联关系,元素C5表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素CpC2A3和C4之间没有任何关联;现假设有ー动态演化需求,要求删除当前软件体系结构现有元素C4,则对该软件体系结构删除元素C4的动态演化过程为,经过该动态演化后,当前软件体系结构中现有的元素变为C1. C2和C3,且C1和C2、C2和C3之间有直接关联关系,从而C1和C3之间有间接关联关系,元素c4、C5表示将来需要进行添加或替换的软件体系结构元素,它们与现有的软件体系结构元素Cp C2和C3之间没有任何关联;该软件体系结构动态演化对应的直接关联矩阵和关联基数矩阵相应的变换为动态演化后,因为C4和C1. C2, C3之间不再存在任何关联,故DM的第4行和第4列均变为O,且ICM (1,4) =O以及ICM (4,1)=0, ICM (2,4)=0以及ICM(4,2)=0, ICM(3,4) =0以及ICM(4,3)=0,其他的DM和ICM行列值则保持不变。
7.根据权利要求4所述的ー种基于关联矩阵的软件体系结构动态演化方法,其特征在于替换体系结构元素动态演化的实现方法为假设当前软件体系结构现有的元素为C1. C2, C3和C4,且C1和C2、C2和C3、C3和C4之间有直接关联关系,从而C1和C3、C2和C4X1和C4之间有间接关联关系,元素C5表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素CpC2A3和C4之间没有任何关联;现假设有ー动态演化需求,要求用元素C5替换现有元素C4,则该动态演化过程为,经过该动态演化后,当前软件体系结构中现有的元素变为C1X2X3和C5,且C1和c2、c2和C3> C3和C5之间有直接关联关系,从而C1和C3、C2和C5、C1和C5之间有间接关联关系,元素C4表示将来需要进行添加或替换的软件体系结构元素,它与现有的软件体系结构元素C1.C2, C3和C5之间没有任何关联;该软件体系结构动态演化对应的直接关联矩阵和关联基数矩阵相应的变换为动态演化后,因为C4和其他元素之间不再存在任何关联关系,所以DIM的第 4 行和第 4 列均变为 0,且 ICM(4,4)=1, ICM(i,4)=0 以及 ICM(4,i)=0, i=l, 2,3,5 ;又因为C3和C5之间存在直接关联关系,故DIM(3,5)=1以及DIM(5, 3) =1,且ICM(3,5) =2以及ICM(5,3) =2 ;又 ICM(1,3) =3,且(3和 C5之间存在直接关联,故 ICM(1,5) =4 以及 ICM(5,I) =4 ;同理,ICM(2,5) =3以及ICM(5,2) =3,其他的DM和ICM行列值则保持不变。
8.权利要求I一7任一所述的ー种基于关联矩阵的软件体系结构动态演化方法,其特征在于所述方法的实现流程如下 输入系统当前的软件体系结构SA1,以及相关的软件体系结构动态演化需求; 计算SA1的直接关联矩阵DIM1 ;Q根据DIM1,计算SA1的关联基数矩阵ICM1 ; 根据用户的动态演化需求,按照添加体系结构元素动态演化、删除体系结构元素动态演化和替换体系结构元素动态演化三种情况,分别计算演化后的软件体系结构的直接关联矩阵DIM2及其关联基数矩阵ICM2 ;(D DIM2及ICM2所表示的软件体系结构即为动态演化后的软件体系结构SA20
全文摘要
本发明公开了一种基于关联矩阵的软件体系结构动态演化方法,其特征在于它包括建立软件体系结构的直接关联矩阵;建立软件体系结构的关联基数矩阵;通过直接关联矩阵及关联基数矩阵的变换实现软件体系结构动态演化的各项需求;本方法首先用直接关联矩阵表示当前软件体系结构中各元素之间的直接关联关系,然后通过直接关联关系计算出各元素间的最短关联路径长度,以此构成关联基数矩阵,接着根据动态演化的各项需求,通过直接关联矩阵及关联基数矩阵的变换,实现软件体系结构的动态演化。与现有技术相比,本发明的方法不仅可以增强软件体系结构元素动态演化关系的可追踪性,而且可以增强软件体系结构动态演化的可控性,方便计算机进行处理和实现。
文档编号G06F9/44GK102830976SQ201210298318
公开日2012年12月19日 申请日期2012年8月21日 优先权日2012年8月21日
发明者徐洪珍, 王晓燕, 陈利平, 宋文琳 申请人:东华理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1