中国科技核心期刊      中国指挥与控制学会会刊     军事装备类重点期刊
Theory & Research

Complexity Determination Method of Software-Hardware Combination C4ISR System

  • WANG Sheng-qi ,
  • WANG Sheng-bing
Expand
  • Naval University of Engineering,Wuhan 430033, China

Received date: 2019-08-03

  Revised date: 2019-09-17

  Online published: 2022-05-19

Abstract

In order to carry out reliability prediction of software-hardware integrated C4ISR system, the complexity of each component of the C4ISR system needs to be determined. According to the composition characteristics of C4ISR system, The methods to determine the complexity of hardware unit, software unit and hardware-software combination unit are given respectively. A method to determine the complexity of component counting method for hardware unit is presented, The arithmetic is proposed to control the scoring error; The main factors affecting the complexity of software unit are presented, and the quantification method of the main factors affecting the complexity of software unit is given. On this basis, the complexity of software unit is synthetically given. According to the composition characteristics of hard and soft elements, a method to determine the weighted complexity of hard and soft elements is proposed.

Cite this article

WANG Sheng-qi , WANG Sheng-bing . Complexity Determination Method of Software-Hardware Combination C4ISR System[J]. Command Control and Simulation, 2020 , 42(1) : 54 -57 . DOI: 10.3969/j.issn.1673-3819.2020.01.011

随着信息技术的广泛应用以及它所完成的任务日趋复杂,类似于C4ISR系统的复杂电子信息系统的可靠性问题越发引起人们的关注,而系统内软硬结合单元的规模日益增大,造成其复杂性日益增强,所以软硬结合单元的复杂度确定问题变得尤为突出[1]。许多专家学者在软件复杂度、硬件复杂度方面已经做了很多研究,但在研究过程中却很少考虑软硬结合单元的特殊情况[2]。在实际应用中,其缺少对软硬结合单元具体分析的情况下,最终复杂度结果往往和实际情况有一定差距甚至相差甚远。因此,软硬件结合单元的复杂度确定方法已成为复杂系统可靠性探讨的一个重要方向。
C4ISR系统是一个极其复杂和庞大的人机系统。作为一个复杂的军事对抗系统,C4ISR系统如何能够在复杂多变的战场环境下保持高可靠性,是C4ISR系统在研制阶段开展可靠性研究工作的关键,而C4ISR系统各单元复杂度的确定,又是开展系统可靠性设计研究的关键环节,对下一步开展系统可靠性分配方法研究具有十分重要的意义。

1 硬件单元复杂度确定方法

元器件计数法被广泛应用于硬件设计研发的过程中,这一方法对于硬件单元内部逻辑关系要求并不像软件单元那样苛刻,在估算硬件产品故障率时速度较快,普遍适用于硬件单元复杂度的确定[3-4]
C4ISR系统硬件单元主要由信号接收器、信号控制器、存储器、信息交换器、信息综合处理设备、机柜、显示器、综合台和记录重演设备等组成。
C4ISR系统硬件单元复杂程度评分准则可参照表1评分标准予以评分。在按照表1进行硬件单元复杂度评价打分时,可依据组成单元基本元器件数量规模进行评判。
表1 硬件单元复杂程度评分说明
等级 分数 说明
1 9~10 该单元的部套件数量(组装时间)是所有同级组成单元最大数量(最长组装时间)的100%~80%
2 7~8 该单元的部套件数量(组装时间)是所有同级组成单元最大数量(最长组装时间)的80%~60%
3 5~6 该单元的部套件数量(组装时间)是所有同级组成单元最大数量(最长组装时间)的60%~40%
4 3~4 该单元的部套件数量(组装时间)是所有同级组成单元最大数量(最长组装时间)的40%~20%
5 1~2 该单元的部套件数量(组装时间)是所有同级组成单元最大数量(最长组装时间)的20%以下

1.1 硬件单元评分的归一化处理

由于评委在技术水平、业务水平、参照体系等方面存在差异,造成了评委们对评分标准的理解和打分尺度的掌握上存在差异,对同一批零部件,各评委的打分不尽相同,所以同样的分数对应到不同评委的价值坐标系中,所体现的水平并不相同,更有可能相差较大。
基于以上分析,直接对评委的主观评分进行一般性平均,会存在一定的误差。
另外,在评委的主观评分过程中,因技术水平等差异而造成的评分误差是不可避免的。为提高评分的准确性,从而进一步提高硬件单元复杂度评分的准确性,不但要加强对评委的选拔和考核工作,而且在评分过程中要采用合适的动态算法控制误差。
表2 硬件单元复杂程度评分统计表
评审
专家1
评审
专家2
评审
专家3
评审
专家n
硬件
单元1
p11 p12 p13 p1n
硬件
单元2
p21 p22 p23 p2n
硬件
单元3
p31 p32 p33 p3n
硬件
单元m
pm1 pm2 pm3 pmn
评审时,共有硬件n件,评委m人,i号评委为j号硬件单元的打分为pij
通常对个别评委分数进行直接平均的处理,得出j号硬件的最终评分 p j ,即
p j = i = 1 m p j i m
这时,i号评委对于这批硬件的平均得分 q i
q i = j = 1 n p j i n
如果得出平均评分 q 1 , q 2 ,…, q m 分值相差较大,那么这种情况下采用直接平均值的方法显得就不很合理,平均分值高显示出该评委较宽松的打分标准,平均分值低显示出该评委较为严格的打分标准,各评委在价值坐标系内存在较大差异。比如一人民币不能等同于一欧元,不能直接进行数学运算。不同价值坐标系的评分需要进行算法处理,处理后的评分处于相同价值坐标系,然后进行平均化处理,这样就不存在直接平均处理时的计算误差。
本文提出归一化方法,即通过算法转换实现坐标系的统一。 q 1 q 1 ', q 2 q 2 ',…, q n q n '
q 1 '= q 2 '=…= q n '
经过这样的转换后,对于同一硬件的评分,不但能够显示出各位评委的对硬件复杂度的认同程度,而且可以在统一的价值坐标系内更为准确的量化硬件单元复杂度。
表1硬件单元复杂程度评分说明已设定标准评分区间,根据最终评分结果,得出实际评分区间为
i = 1 m m i n ( p 1 i , p 2 i , , p n i ) m , i = 1 m m a x ( p 1 i , p 2 i , , p n i ) m
此区间的平均值为
i = 1 m m i n ( p 1 i , p 2 i , , p n i ) m + i = 1 m m a x ( p 1 i , p 2 i , , p n i ) m 2
下面进行 q n q n ':
p'ji= k p j i q i
其中,归一化系数为 k q i 。将式(2)代入式(5),得
q i '= j = 1 n p ' j i n= j = 1 n k p j i q i n= k q i j = 1 n p j i n=k
通过上述运算 q 1 '= q 2 '=…= q n '=k,各评委的评分标准得到统一。
经过转换后,j号硬件的平均复杂度评分为
p j '= i = 1 m p ' j i m

1.2 硬件单元评委评分偏差分析

归一化处理可以修正价值坐标系的不同造成的评分偏差,不过不能解决评委在个别硬件单元上的人为失误。如若要找到并解决人为失误,以及考察评委们的业务水平,应对上述归一化处理后的成绩做进一步处理[5]
评判第i号评委的评分准确性,可以通过欧氏距离来判断,令
Di= j = 1 n ( p j i ' - p j ' ) 2
Di越小,说明第i号评委的评分越接近归一化平均值,所以该评委的评分拥有较高的准确性;Di越大,说明第i号评委在专业技术水平、业务能力等方面与其他评委们还存在一定的距离,致使评分准确性不高。值得注意的是,由于已经对初始评分进行了归一化处理(pjipji'),评委们的价值坐标系已经统一。所以,在评委评分过程中,评分尺度的松紧并不会影响Di值的大小,所以可直接通过Di值的大小对评委们的业务水平进行评价。
评判各位评委对第j号硬件单元复杂度的认同程度,同样可以通过欧氏距离来判断,令
Ci= i = 1 m ( p j i ' - p j ' ) 2
Cj越小,说明各位评委在第j号硬件单元复杂度判定上较为一致;Cj越大,说明各位评委在第j号硬件单元复杂度判定上存在较大争议。根据实际情况分析可知,一般争议较大的硬件单元都伴随着其独有的创新型,是在其制作过程中进行了大胆的尝试得出的成果,属于科研领域没有得到充分探讨论证的东西,评委们并没有一致的认识理解。所以在这一类硬件单元确定复杂度时,应该进行专项的技术讨论,而后得到分数修正的结果,这样,不但体现了对创新理念的尊重,而且也得到了一次宝贵的科研探讨的机会。

2 软件单元复杂度确定方法

通过大量实践经验得出,软件运行的稳定性与其复杂度成反比,复杂度越高,软件中存在的不足就越多[6]
C&K 量度组是一种以对象为目标的复杂度量化方法,在工程实践中得到了广泛应用,并且已经过大量数据检验[8]
这一方法主要包括:① 每类加权方法数;② 继承树深度;③ 每个类的孩子数;④ 类耦合数;⑤ 类的响应;⑥ 方法间内聚缺乏(LCOM)。
在软件工程实践中,通常将上述复杂性六类指标进行综合,用软件模块基本信息、复杂度分析、循环分析以及数据流分析四类数据信息表述软件模块的复杂度[7]。软件模块基本信息、复杂度分析、循环分析以及数据流分析数据信息等四类指标分别包含以下信息:
①模块基本信息:可执行行数、模块入口数以及模块出口数;
②复杂度分析:圈复杂度、基本圈复杂度以及结构化程度;
③循环分析:循环数、嵌套深度以及最大内部嵌套数;
④数据流分析:全局变量数、扇入数以及扇出数。
针对每个软件单元,软件模块基本信息、复杂度分析、循环分析以及数据流分析等四类数据信息收集可按照如下方法开展:
①针对升级软件单元,可利用测评软件工具获取原来软件单元的复杂性指标,再根据软件升级规模,按照一定比例获得四类指标的信息;
②对新开发的软件单元,根据软件设计方案由专家估算四类指标的信息。
所获得的每个软件单元软件模块基本信息、复杂度分析、循环分析以及数据流分析等见表3
表3 XX作战指挥控制系统软件模块复杂度分析数据信息表
单元
名称
模块基本信息 复杂度分析 循环分析 数据流分析
可执行
行数
模块
入口数
模块
出口数
圈复
杂度
基本圈
复杂度
结构化
程度
循环
嵌套
深度
最大
内部
嵌套数
全局变
量数
扇入
扇出
软件单元1 34 3 3 6 6 2 2 1 4 1 0 9
软件单元2 179 4 5 15 11 3 1 1 5 0 0 24
软件单元3 53 3 3 6 5 2 2 1 4 0 0 6
将上述四类指标中的12个度量指标进行归一化处理,归一化处理方法如下。
假设系统有n个软件单元模块,某度量指标所对应值分别为x1,x2,…,xn,则该指标各软件单元归一化结果为
yi= x i - m i n { x j } m a x { x j } - m i n { x j }
若某软件单元模块所得到12个度量指标进行归一化的值分别是w1,w2,…w12,则可按照如下公式计算该软件单元模块的复杂度评分值w(按0~10分进行度量):
w= 1 12 i = 1 12wi×10
下面通过XX作战指挥控制系统几个典型软件模块的软件复杂度分析数据信息,详见表3。下面利用上述方法给出这些软件模块的复杂度。
表3中的数据进行归一化处理,得到XX作战指挥控制系统软件模块复杂度分析数据信息归一化处理结果,详见表4。对每个软件单元模块计算其复杂度,各软件单元模块复杂度计算结果见表4最后一列。
表4 XX作战指挥控制系统软件模块复杂度指标归一化及复杂度计算表
单元名称 模块基本信息 复杂度分析 循环分析 数据流分析 软件
单元
复杂度
可执
行行
模块
入口
模块
出口
圈复
杂度
基本
圈复
杂度
结构
化程
循环
嵌套
深度
最大内
部嵌套
全局
变量
扇入
扇出
软件单元1 0 0 0 0 0.17 0 0 1 0 1 0 0.17 1.9
软件单元2 1 1 1 1 1 1 1 1 1 0 0 1 8.3
软件单元3 0.13 0 0 0 0 0 0 1 0 0 0 0 0.9

3 软硬结合单元复杂度确定方法

软硬件在其体现形式上存在差异,在实际生产制作中也完全不同,在故障的表现形式上也各有差异,并且在对故障进行维修时的技术手段维修方法也完全不同,所以在工程应用中有必要对软硬件系统作为一个整体进行分析。为此,需要引进软硬结合单元中硬件与软件复杂程度比例因子,利用该因子进行加权,估算软硬结合单元复杂度。
1)软硬件复杂程度比例因子确定
由于软硬结合单元中硬件与软件复杂程度直接影响单元的失效率,可以依据失效概率确定相关比例。
以符号λ1λ2λ2分别表示软硬结合单元中硬件失效、软件失效以及整个单元失效的失效率。复杂程度比例因子β的计算表达式为
b= 1 - e - l 2 t 1 - e - l t= 1 - e - l 2 t ( 1 - e - l 1 t ) + ( 1 - e - l 1 t )
2)软硬结合单元复杂度评分
假设软硬结合单元中硬件复杂度、软件复杂度评分分别为w1,w2,则软硬结合单元复杂度评分度量为
w=(1-β)w1+βw2
若有XX作战指挥控制系统某软硬结合单元模块,其任务时间为12小时,单元硬件失效、软件失效的失效率分别为0.1和0.12,其软件的复杂度为7,软件复杂度为6,需要确定软硬结合单元模块的复杂度。
按照软硬结合单元复杂度计算方法与步骤,首先确定复杂程度比例因子β:
β= 1 - e - 0.12 × 12 ( 1 - e - 0.1 × 12 ) + ( 1 - e - 0.12 × 12 )≈0.52
由此可计算软硬结合单元的复杂度为
w=(1-β)w1+βw2=(1-0.52)×7+0.52×6=6.48

4 结束语

本文通过算例计算证明了该可靠性复杂度确定方法的可用性。同时,软件单元、硬件单元以及软硬结合单元的综合考量,使得该复杂度确定方法的有效性在长期运行中将得到有效检验。在复杂系统复杂度的研究过程中,也发现了软件单元复杂度数据指标可进一步细化,可以在后续研究中深入探讨。研究成果可为复杂电子信息系统提供技术支撑,提高复杂电子信息系统可靠性设计能力。
[1]
赵伟, 王志坚, 汤舰. 软硬件相结合的防空指挥系统可靠性设计研究[J]. 信息化研究, 2014(2):17-25.

[2]
王琦. 软硬件分统结合的导弹武器装备可靠性评定方法[J]. 兵器装备工程学报, 2012, 33(1):50-52.

[3]
郭位. 最优可靠性设计[M]. 北京: 科学出版社, 2011.

[4]
曾声奎. 系统可靠性设计分析教程[M]. 北京: 北京航空航天大学出版社, 2001.

[5]
王武义. 误差原理与数据处理[M]. 哈尔滨: 哈尔滨工业大学出版社, 2001.

[6]
刘晓娟, 温冠华, 李建军, 等. 软件可靠性度量方法[J]. 计算机工程, 2009, 35(3):57-59.

[7]
王蓬, 王锡吉. 可靠性指标工程加权分配法[J]. 电子产品可靠性与环境试验, 2002(5):18-21.

[8]
于敏, 何正友, 钱清泉. 基于Markov过程的硬/软件综合系统可靠性分析[J]. 电子学报, 2010, 38(2):473-479.

Outlines

/