一种基于矩阵的软件演化模型

2012-03-09 02:05陈利平徐洪珍
时代农机 2012年7期
关键词:体系结构构件建模

陈利平,徐洪珍

(东华理工大学 信息工程学院,江西 南昌 330013)

1 引言

随着软件用户需求的越发的多样性和不断变化,以及软件应用环境和科学技术的不断变化等因素,从而使得要求人们的软件必须做出相应的变化来适应这些变化。但是由于这些引起软件发生演化的因素本身就很复杂,从而使得软件演化愈发的难以理解和控制。因此,为了使软件能够不断适应变化环境以提供更好的服务,那么人们必需研究软件的演化行为,以此更好地理解和控制软件演化。

目前对软件演化行为描述研究,和对演化行为控制进行建模的主要研究有几下几种:使用形式化方法描述软件演化或者对其建模,针对具体系统,给出软件演化的很好的描述如基于超图文法的软件体系结构动态演化和以体系结构为中心的构件模型的形式化语义。采用统一建模语言UML及其扩展模型建模软件演化,具有图形化,易理解等特点。使用ADL(architecture description language,体系结构描述语言)建模和分析软件体系结构演化,能精确刻画软件演化的特性。

由上述综述可知,当前对软件演化的研究不论是对行为的描述还是建模,都忽视了软件自身的有序性以及便于计算机计算处理的便捷性。因此文章从体系结构考虑软件演化,并且认为体系结构是有序的,同时为了计算机处理的便捷性,在文章中用矩阵描述体系结构的这种有序性,并且为基于矩阵的软件演化建立了一个模型。在模型中通过输入从软件体系结构层面对软件演化进行描述的矩阵,然后经过矩阵的演算得到演化后的软件体系结构信息,根据新的软件体系结构信息构成新的软性系统。该模型可支持一定程度上的自演化。

2 基于矩阵的软件演化模型

基于矩阵的软件演化模型(M-BMOSE Matrix-Based Model Of Software Evolution),在M-BMOSE模型中总共包含三层:表示层、演化支撑层和数据层。表示层:用来和用户进行信息交互;演化支撑层:用来支撑和实现动态演化,如收集构件信息和实现演化意图;数据层:用来记录构件信息和应用软件的体系结构信息,应用系统通过访问构件信息和体系结构信息构造自己的应用框架,具体通过应用系统的菜单架构体现。具体M-BMOSE支撑平台如图1所示。

图 1M-BMOSE支撑平台

由图1可知,M-BMOSE支撑平台,主要是由构件管理模块和软件体系结构演化模块组成,构件管理模块主要是提供对构件信息的维护功能,如构件添加、删除、替换和查询等;软件体系结构演化模块主要是用来完成对应系统的软件体系结构演化,软件体系结构演化引擎根据软件体系结构演化UI输入的具体应用系统名称、构件矩阵关系对应表和体系结构层级描述矩阵,通过矩阵自演算体系结构描述矩阵,根据体系结构描述矩阵结果实现新的软件体系结构,并且将新的软件体系结构信息存入软件体系结构信息库。

3 M-BMOSE支撑平台对软件演化的支持原理

图2 实现体系结构演化流程图

利用M-BMOSE支撑平台实现软件演化,在M-BMOSE支撑平台中输入对于软件的体系结构层级关系描述矩阵,M-BMOSE支撑平台会通过矩阵演算获取体系结构描述矩阵,并且根据此矩阵实现新的软件体系结构,同时将新的软件体系结构信息存入软件体系结构信息库。M-BMOSE支撑平台实现体系结构演化流程图如图2所示。

4 结语

文章提出了一个基于矩阵的软件演化模型,在该模型中,对软件的演化是从体系结构的层面来考虑的。在模型中通过输入从软件体系结构层面对软件演化进行描述的矩阵,然后经过矩阵的演算得到演化后的软件体系结构信息,根据新的软件体系结构信息构成新的软性系统。该模型可支持一定程度上的自演化。下一步的工作就是针对该模型进行进一步的丰富,以期望能够融入软件演化性的更多的子特征,能够从多层面来考虑软件的演化性。

[1]徐洪珍,曾国荃.基于超图文法的软件体系结构动态演化[J].同济大学学报(自然科学版),2011,5(39):745-750.

[2]徐洪珍,曾国荪,陈波.软件体系结构动态演化的条件超图文法及分析[J].软件学报,2011,22(6):1210-1223.

[3]楚旺,钱德沛.以体系结构为中心的构件模型的形式化语义[J].软件学报,2006,17(6):1287-1297.

猜你喜欢
体系结构构件建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
建筑构件
建筑构件
建筑构件
建筑构件
基于粒计算的武器装备体系结构超网络模型
作战体系结构稳定性突变分析
基于DODAF的装备体系结构设计