陆战平台分布式综合模块化系统架构建模方法
2021-05-06张振华
王 昊,张振华,赵 刚,梁 栋,贾 智
(北方自动控制技术研究所,太原 030012)
0 引言
系统架构可以拆分成两部分:“系统”和“架构”。系统是若干相互联系、相互作用、相互依赖的要素结合而成的,具有一定结构和功能[1]。架构是各要素之间的物理拓扑关系和软件拓扑关系的体现。系统架构发展经历了集中式、联合式、综合化,并向分布式综合化发展,综合化架构已在炮兵和装甲领域成为统型架构。我国空军航空电子系统已进行了分布式综合模块化航电(DIMA)系统架构研究设计和仿真评估,但缺乏系统级的架构优劣评估。
分布式综合模块化航空电子继承了IMA 架构的系统综合化、功能软件化、网络一体化、产品商用化、调度灵活化、维护中央化等特点[2];同时取代IMA中将所有计算机资源集中在一个区域的做法[3-4]。随着航空电子技术发展,陆军装备开始借鉴航空电子综合模块化(IMA)系统架构,从面向局部功能,设计子系统转为面向整个武器平台资源,设计信息系统支撑平台(陆战平台信息控制系统)[5]。陆战平台系统架构以作战需求为输入,依据功能、位置或安全等级等因素,实现业务在各个子系统、模块、操作系统分区的部署。
系统架构作为影响系统优劣的关键因素之一,其综合度、耦合度、可靠性、实时性等指标影响系统功能的实现。目前航电系统的评估为航电系统的发展提供了坚实的理论基础和技术支撑[6],但大多数研究仅对系统架构的个别属性进行仿真评估,已有文献未从系统角度对整个陆战平台系统架构优劣进行判断。本文提出一种系统架构评估建模方法,按照系统架构设计时采用的自顶向下的顺序,从业务层到系统层进行数学建模并评估。
1 DIMA 系统架构
1.1 IMA 架构
综合模块化(IMA)架构以通用化、模块化为基础,如图1,以“解耦+ 重构”为核心思想,将软件与硬件解耦,实现资源模块化和模块通用化[5]。综合模块化系统架构通过资源整合实现资源共享,将本由硬件完成的公共功能,转变为软件替代完成,提高了系统资源利用率。综合模块化系统软件架构引入“分区”概念,应用软件运行在一个或多个分区内,每个软件都独立运行在自己的虚拟资源上并保证性能,分区内和分区间的软件按照一定的规则调度和运行。
1.2 DIMA 系统架构
图1 某种陆战平台信息控制系统IMA 系统架构
分布式综合航空电子系统结合了联合式和综合模块化航空电子的优点[7],通过分布式架构思想对综合模块化架构进行拓展。分布式综合模块化航空电子继承了IMA 结构的系统综合化、功能软件化、网络一体化、产品商用化、调度灵活化、维护中央化等特点[8],同时取代IMA 中将所有计算机资源集中在一个区域的做法[9-10]。如图2,既采用综合模块化思想,实现资源模块化和模块通用化,同时采用分布式架构思想,改变模块集中部署的部署方式,核心处理单元由集中式转变为分布式,各个综合化模块支持安装在不同位置,可就近分布在信息采集区域。
图2 某种陆战平台信息控制系统DIMA 系统架构
2 DIMA 系统架构的业务拓扑、物理拓扑与网络拓扑
系统架构主要由业务拓扑、物理拓扑、网络拓扑反映。
在DIMA 架构设计中,业务是最小实体,不可再分,且一个业务对应一个软件模块。为了实现功能需求,将系统功能分解为多个业务,每个业务将单独占有一定的系统资源(存储、IO、网络),每个业务并行运行;根据信息交互流程,梳理各业务之间的信息交互内容、触发条件、最大时延要求、可靠性等信息传输的基本需求,可确定业务属性和业务间的信息流关系。
如下页图3 所示,业务拓扑反映系统功能分解的各项业务及各项业务之间的信息流关系。在规划业务拓扑时,将对信息流传输指标作出要求,并与网络拓扑共同决定系统信息流的传输性能,进而影响系统功能性能的实现和可靠性指标。
图3 业务拓扑
如图4 所示,网络拓扑反映硬件资源间如何通过物理拓扑进行通信,不同的网络拓扑影响硬件资源的种类、数量、余度、总线网络类型等指标,将决定系统信息流的传输性能,进而影响系统性能指标和可靠性指标。
物理拓扑反映模块等硬件资源的连接方式。不同的物理拓扑关系表现为不同的硬件资源部署关系,将影响整个系统的体积、重量、可靠性等性能指标。
图4 物理拓扑与网络拓扑
3 系统架构建模方法
系统架构建模方法依据“自下向上”的逆向逻辑,根据典型陆战平台系统架构的初步方案,按照业务-操作系统分区-硬件模块-子系统-系统5个层级,分别确定业务及业务间的拓扑关系、业务在操作系统分区的部署及分区间的拓扑关系、操作系统分区在LR U 模块的部署及物理和网络拓扑关系、LR U 模块在子系统的部署及子系统间的拓扑关系。本节将图2 的DIMA 系统架构各层级部署关系和拓扑关系进行数学抽象表达,按照从应用层到系统层的设计顺序,构建系统架构各层级模型。
3.1 图论相关知识
定义1 一个有向图G,记为G=<V,E>,其中
1)V 是一个非空有序集,称为顶点集,其元素称为顶点。
2)E 是有序集{<a,b>|a,b∈V} 的有穷多重子集,称为边集,其元素称为有向边(本文提到的边都为有向边)。
定义2 以某顶点A 为例子,在所有与A 关联的边中,以A 为起点的边的条数称为出度。以A 为终点的边的条数则称为入度。其中,入度+出度,称为A 的度。
3.2 业务层拓扑关系模型建立
n 个业务、业务属性、业务间拓扑关系(本文抽象为边)及边的属性可由式(1)来表示:
其中,NodeV=(v0,v1,…,vn),NodeV是业务节点的集合;NodeE=(E0,E1,…,En),NodeE是业务间拓扑关系(边)的集合;ListEi= {<vi,vj>(0 <= i,j <=n 且i 不等于j)},ListEi是业务间拓扑关系(边)Ei 的起点和终点的集合,反映业务间拓扑关系的方向性。例如:ListE1{<v1,v2>}表示编号1 的边E1 中业务1 指向业务2,业务1 为起点,业务2 是终点。PV是业务各项属性的集合。PE是边各项属性的集合。
3.3 操作系统分区层拓扑关系模型建立
3.3.1 虚割集运算定义
虚割集运算定义如下:
定义新运算Δ(Pi),分区Pi通过虚割集运算,得到映射在本分区的业务。如图5 所示,分区1 通过划分虚割集,得到映射在自己分区的业务为v1、v2、v3。
图5 虚割集运算
虚割集运算算法:
输入:业务节点集合NodeV,虚割集运算Δ(Pi),业务节点个数n
输出:分区Pi
1.for a=0
2.va∈NodeV
3. if va∈Δ(Pi)
4. Pi={va}
5. else a=a+1
6.if a>n
7.end for
3.3.2 业务映射
图6 业务与分区的映射关系
业务层模型向操作系统层的映射通过虚割集划分实现。
应用层业务m(0≤m≤Nn)映射到操作系统层上的分区用邻接矩阵Xm表示
其中,xi=1 表示第m 个业务映射到第i 个操作分区,xi=0 则表示没有映射到该分区。
应用层所有Nn个业务映射到操作系统层上的n 个分区用邻接矩阵X 表示
约束条件:任意一个业务i 只能映射到唯一操作系统分区:
3.3.3 数学模型
n 个操作系统分区、操作系统分区属性、操作系统分区间拓扑关系(定义为“分区间的边”)及分区间边的属性可由公式来表示:
其中,Nodep=(P0,P1,…,Pn),Nodep是分区节点的集合;Nodelp=(lp0,lp1,…,lpn),Nodelp是“分区间的边(line of operating)”的集合;Listlpi={<Pi,Pj>(0<=i,j<=n 且i 不等于j)},Listlpi是“分区间的边”lpi的起点和终点的集合,反映分区间拓扑关系的方向性;Nodepi_v={Vm}(0≤i≤n)(0≤m≤num),num 为业务节点的数量,Nodepi_v是分区Pi内所包含的业务节点Vm 的集合;Listpi_in= {<Vi,Vj>(0<= i,j <=n 且i 不等于j)},Listpi_in是操作系统分区内业务节点拓扑关系的集合;Pp是操作系统分区各项属性的集合。Plp是“分区间的边”各项属性的集合。
3.4 模块层拓扑关系模型建立
模块中以分区为调度单元确保分区间业务应用的安全隔离,满足多个不同的分区在多个不同模块的部署问题,分区内部作为整体进行调度,不允许分区和分区内的任务进行核间迁移,分区调度表为静态生成,不允许动态修改[8]。以分区为调度单位,减少了系统所需的硬件模块数量,提升了系统资源利用率。
图7 模块及模块间的拓扑关系
3.4.1 实割集运算定义
实割集运算定义如下:
定义新运算Δ(Mi),模块Mi通过实割集运算,得到映射在本模块的分区。如图7,模块1 通过划分实割集,得到映射在自己模块的分区为P1、P2。
实割集运算算法:
输入:分区集合NodeP,实割集运算Δ(Mi),分区节点个数n
输出:模块Mi
1.for a=0
2.Pa∈NodeP
3. if Pa∈Δ(Mi)
4. Mi={Pa}
5. else a=a+1
6.if a>n
7.end for
3.4.2 分区映射
分区层模型向模块层的映射通过实割集划分实现。
分区m(0≤m≤Nn)映射到模块上用邻接矩阵Xm表示
其中,xi=1 表示第m 个分区映射到第i 个模块,xi=0则表示没有映射到该分区。
图8 分区与模块的映射关系
分区层所有Nn个分区映射到模块层上的n 个分区用邻接矩阵X 表示
约束条件:任意一个分区i 只能映射到唯一模块上:
3.4.3 数学模型
n 个模块、模块属性、模块间拓扑关系(定义为模块间的边)及模块间的边的属性可由下式来表示:(NodeM,NodeE,ListlM,Nodepi_v,Listpi_in,PM,PlM) (11)其中,NodeM=(M0,M1,…,Mn),NodeM是模块节点的集合;NodelM=(M0,M1,…,Mn),NodelM是“模块间的边”(line of Modular)的集合;ListlM= {<Mi,Mj>(0 <=i,j <=n 且i 不等于j)},ListlM是模块间拓扑关系的集合;NodeMi_p={Pm}(0≤i≤n)(0≤m≤num),num 为模块的数量,NodeMi_p是模块Mi所包含的分区节点p 的集合;NodeMi_in={<Pi,Pj>(0 <= i,j <=n 且i 不等于j)},NodeMi_in是模块内操作系统分区拓扑关系的集合;PM是模块各项属性的集合。PlM是模块间的边各项属性的集合。
3.5 子系统层拓扑关系模型建立
3.5.1 综合割集运算定义
综合割集运算定义如下:
定义新运算Δ(Zi),子系统Zi通过综合割集运算,得到映射在本子系统的模块。如图9 所示,子系统1 通过综合割集运算,得到映射在自己子系统的模块为M1、M2。
综合割集运算算法:
输入:模块集合NodeM,综合割集运算Δ(Zi),模块个数n
输出:子系统Zi
1.for a=0
2.Ma∈NodeM
3. if Ma∈Δ(Zi)
4. Zi={pa}
5. else a=a+1
6.if a>n
7.end for
图9 分区与模块的映射关系
3.5.2 模块映射
图10 模块与子系统的映射关系
模块层模型向子系统层的映射通过实割集划分实现。
模块m(0≤m≤Nn)映射到子系统上用邻接矩阵Xm表示
其中,xi=1 表示第m 个模块映射到第i 个子系统,xi=0 则表示没有映射到该子系统。
模块层所有Nn个模块映射到n 个子系统用邻接矩阵X 表示
约束条件:任意一个模块i 只能映射到唯一子系统:
3.5.3 数学模型
n 个子系统、子系统属性、子系统间拓扑关系(定义为子系统的边)及子系统的边的属性可由公式来表示:
其中,NodeZ=(Z0,Z1,…,Zn),Nodep是分区节点的集合;ListlZ= {<Zi,Zj>(0 <= i,j <=n 且i 不等于j)},ListlZ是子系统的边(line of Zi)的集合;NodeZi_M={Mm}(0≤i≤n)(0≤m≤num),num 为模块的数量,NodeZi_M是子系统Zi所包含的模块节点M 的集合;ListZi_in={<Mi,Mj>(0<= i,j<=n 且i 不等于j)},ListZi_in是子系统内模块间拓扑关系的集合;PZ是子系统各项属性的集合。PE是子系统的边各项属性的集合。
3.6 系统层拓扑关系模型建立
3.6.1 系统割集运算定义
系统割集运算定义如下:
定义新运算Δ(system),系统system 通过系统割集运算,得到映射在本系统的子系统。
系统割集运算算法:
输入:子系统集合NodeZ,系统割集运算Δ(system),子系统节点个数n
输出:系统system
1.for a=0
2.Za∈NodeZ
3. if Za∈Δ(system)
4. system={Za}
5. else a=a+1
6.if a>n
7.end for
3.6.2 子系统映射
图11 子系统与系统的映射关系
子系统m(0≤m≤Nn)映射到同一系统之上。
3.6.3 数学模型
系统、系统属性可由公式来表示:
其中,NodeS_Z= {Zm}(0≤i≤n)(0≤m≤num),num 为子系统的数量,NodeS_Z是系统S 所包含的子系统节点Z 的集合;ListS_in= {<Zi,Zj>(0<= i,j <=n 且i 不等于j)},ListS_in是系统内子系统拓扑关系的集合;PS是系统各项属性的集合。
4 建模方法的应用
指标是度量事物属性或事物之间关系的一种量化准则。各项指标应能够反映系统架构的好坏优劣,能够判断系统架构能否能更好地满足武器装备功能和性能要求。
综合度反映模块内业务的内聚程度,耦合度反映模块间依赖程度。耦合度反映每个模块之间相互联系的紧密程度,模块之间联系越紧密,则耦合性越高,模块的独立性就越差,会降低武器装备对作战任务的承受力和鲁棒性。一个模块中包含的业务越多,模块的综合度就越高,内聚性越高,会减少模块数量,继而会降低武器装备的空间占用量。
图12 xx 架构
图13 验证评估软件
4.1 基于指标建模方法的验证评估软件
如图12、图13 所示,基于本文的指标建模方法,通过编写验证评估软件,对某型架构的综合度,耦合度这两个重要指标进行评估。
4.2 综合度计算方法
指标评估输入量:子系统包含模块序列、模块包含分区序列、分区包含节点序列。指标评估模型:
M 表示一个集合(可以为系统、子系统、模块、操作系统分区);Mi表示第i 个集合中含有的子节点个数。n 表示所有集合M 中子节点(系统集合中包含的子系统、子系统集合中包含的模块、模块集合中包含的分区)的总个数。
Cohesion 数值介于[0,1),数值越大,表示综合度越高。
4.3 耦合度计算方法
指标评估输入量:子系统包含边的个数、模块包含边的个数、分区包含边的个数。
ei为第i 个集合的度;n 表示业务个数;n(n-1)/2表示n 个业务间拓扑关系中边的个数;R(ci,cj)表示业务ci和cj之间的关系,若ci和cj之间有直接关系,则R(ci,cj)=1,否则R(ci,cj)=0。
Coupling(C)数值介于[0,1),数值越大,表示耦合度越高。
4.4 基于建模方法的综合度、耦合度计算
4.4.1 模块3(D PM 2)综合度计算
S1:模块3 含有分区2,分区3,分区4
S2:分区2,分区3,分区4 含有业务0,业务1,业务2
S3:根据式(18)计算得综合度
4.4.2 模块3(D PM 2)耦合度计算
S1:模块3 含有的边数:<2,3>;<3,5>;<5,3>;
e3=3
S2:根据式(20)计算k 值
S3:根据式(19)计算得综合度
5 结论
本文为解决陆战平台分布式综合模块化系统架构缺乏系统级评估方法的问题,按照系统架构从应用层到系统层的设计顺序,将系统架构的业务拓扑、网络拓扑与物理拓扑进行抽象建模并给出数学表达式,用以定量评估系统架构。本文通过运用提出的系统架构建模方法,对影响系统架构优劣的因素之一:综合度、耦合度进行评估计算,证明本文提出的系统架构建模方法是可行的。