软件密集型装备软硬件故障模式研究
2017-12-22刘梦玥李继安黄茂生
刘梦玥,李继安,黄茂生
(工业和信息化部电子第五研究所,广东 广州 510610)
软件密集型装备软硬件故障模式研究
刘梦玥,李继安,黄茂生
(工业和信息化部电子第五研究所,广东 广州 510610)
针对软件密集型装备的故障特征,采用文本聚类的方法对收集的软硬件故障数据进行聚类分析,并根据软件密集型装备中软件与硬件、环境相互作用的故障特点,提出了 “环境特征类型-硬件故障模式-软件故障模式”的软硬件故障模式表示方式,最终提炼并形成了软件密集型装备软硬件故障模式,为装备故障的定位、分析和诊断提供了有益的参考。
软件密集型装备;软硬件故障;故障模式;文本聚类
0 引言
武器装备的信息化水平不断地提高,使得软件密集型装备不断地取代传统的武器装备,逐步地成为了现代战争中的决定性力量。软件密集型装备是软件与硬件紧密结合而成的复杂系统[1]。由于软件质量控制难以达到硬件的水平,其可靠性往往比硬件低一个数量级[2],软件缺陷导致装备失效的概率也在增大。外场试验反映的问题数据表明,由于单纯硬件原因导致系统出现故障的比例在逐渐地降低,而软件相关原因导致的故障比例在稳步地增长。因此,软件密集型装备在未来战场能力的发挥很大程度上依赖于软件或软件与硬件的共同作用[3]。软件和硬件相互作用引发的故障是装备故障中一种较为新型的故障,由于这种故障远比单纯的软件或者硬件故障要复杂得多,与传统的软件或硬件故障存在较大的差异,因此其给装备故障分析和诊断工作带来了巨大的挑战。
一般在研究产品的故障时,往往从产品的故障现象入手,进而通过现象 (即故障模式)找出故障原因;同时,故障模式是进行FMECA的基础,也是进行其他故障分析 (例如:故障树分析、事件树分析等)的基础之一。国军标GJB 451A-2005《可靠性维修性保障性术语》中指出,故障模式是故障的表现形式,是对软件所有的外在故障现象的一个具体描述,针对所得到的故障现象,按照一定的方法、条件对故障现象进行抽象性的描述而形成故障模式。
目前,一般研究人员或是研究一般设备的软件或硬件故障模式[4],或是研究软件密集型装备的故障诊断模型[4-5],而针对软件密集型装备的故障分类和故障模式研究得较少[6]。因此,研究软件密集型装备软硬件结合的故障特点及其故障模式,对于改善软件密集型装备的质量显得尤为重要。
首先,分析了软件密集型装备的故障及其特征;然后,在对软件密集型装备的外场故障数据进行收集和统计的基础上,使用文本聚类的方法对收集的故障数据进行了聚类分析;最后,提炼并形成了软件密集型装备软硬件的故障模式。
1 软件密集型装备的故障及其特征
故障是指因系统中部分元器件的功能失效而导致整个系统功能恶化的事件[7]。软件密集型装备以软件为主体,装备的主要功能由软件来实现,软件故障在软件密集型装备的故障中占比较高。但与传统的装备软件故障不同,软件密集型装备是一个软件和硬件紧密结合的系统,软件和硬件存在复杂的相互作用,使得故障的发生和传播过程异常复杂。一方面,潜在的缺陷在系统运行时因特定条件激发,并通过软硬件相互作用在系统中传播,最终引起系统失效;另一方面,硬件故障也会在软硬件相互作用下传播到软件模块中,引起软件故障并导致系统失效[8]。
因此,在软件密集型装备中,由于软件和硬件相互作用而导致的软硬件故障是软件密集型装备的典型故障。作为一种复杂的故障,软硬件故障除普通故障所具有的层次性、相关性和随机性等特性之外,还具有不确定性、交叉传播性等特征[9],具体的内容如下所述。
a)层次性
即故障的 “纵向性”。软件密集型装备从结构上可划分为系统、软件或硬件子系统、模块和部件等各个层次,其功能也可划分为若干层次,因而其故障也有不同的层次。任何故障都是与系统的某一层次相联系的,高层次的故障可以由低层次的故障所引起,而低层次的故障必定引起高层次的故障。
b)相关性
即故障的 “横向性”。这是由软件密集型装备软件和硬件各个元素之间的联系所决定的。当一个元素或联系发生故障后,可能导致与其相关的元素或联系的状态发生变化,进而引起相关元素或联系也发生故障。某一软硬件故障可能对应若干软件或硬件的异常现象,而某一软件或硬件的异常现象可能对应若干软件或硬件的故障。
c)随机性
即故障的 “频率性”。在软件密集型装备中,软件不会像硬件那样损耗,其故障主要是软件中残留的设计错误造成的。当软件运行在某一特定的条件时,这些软件错误就会触发并使得软件运行的内部状态发生意外的改变,引发软件故障。随着软件密集型装备运行环境的改变,软硬件故障的发生呈现随机性。
d)不确定性
不确定性是软件密集型装备中软硬件故障的一个重要特征。一方面,故障的发生具有不确定性,同一软件密集型装备在不同的时间和工作条件下,软件模块的作用方式是不确定的,从而导致其状态和行为也不确定,因而其形成的故障也是不确定的;另一方面,故障的原因也具有不确定性,即使在确定的故障现象下,也不能单纯地将故障原因归结为软件或硬件故障。
e)交叉传播性
交叉传播性是指在软件密集型装备中,软件和硬件之间存在信息交互,为故障的传播提供了更多的途径,在软件和硬件的相互作用下,故障既可以从软件程序传播到硬件元器件,也可由硬件元器件传播到软件程序。
2 基于文本聚类的故障数据分类
2.1 文本聚类方法
对于软硬件故障数据,直接的表示形式为文本,而文本作为一种特殊的数据对象,主要依靠人的经验和主观进行分类,具有随意性,不具有精确性。而文本聚类分析能够根据文本之间的某种联系或相关性,对文本信息进行有效的划分,具有一定的灵活性和较高的自动化处理能力。因此,本文中将采用文本聚类的方法对软硬件故障数据的类别进行划分。
簇是数据对象的集合,同一簇中的对象彼此相似,而不同簇中的对象彼此相异。将物理或抽象对象的集合划分为相似的对象的簇的过程称为聚类。聚类分析就是按照一定的规律和要求对事物进行区分和分类的过程。在这一过程中没有任何关于类属的先验知识,仅靠事物之间的相似性作为类属划分的准则。一个数据集合可以分成几个簇,从机器学习的角度来讲,聚类分析是一种没有预先定义的类属即无监督分类。文本聚类是一个将文本集合进行全自动分类处理的过程,是一种典型的无监督机器学习。类是通过相关文本发现的一些组,同一个类内的文本和其他类的文本相比特征更为接近[10]。因此,文本聚类的目标就是将文本集合分成若干个簇,要求同一簇内文本内容的相似度尽可能地大,而不同簇之间的相似度尽可能地小[11],从而发现整个文本集合的整体分布特点。文本聚类的流程可大致分为:文本预处理→分词→特征项表示→构造向量→聚类算法等几个环节。
文本聚类的算法有很多种,常见的算法主要有K-MEANS均值聚类方法、层次聚类方法和神经网络方法等。我们选择K-MEANS均值聚类方法对故障数据进行聚类。K-MEANS算法是一种基于样本之间相似性度量的间接聚类方法,属于无监督学习方法[12]。该方法的工作原理[13]如下所述。
首先,从n个数据对象中任意选择k个对象作为初始聚类中心;而对于所剩下的其他对象,则根据它们与这些聚类中心的相似度 (距离),分别将它们分配给与其最相似的 (聚类中心所代表的)聚类;然后,再计算每个所获新聚类的聚类中心 (该聚类中所有对象的均值);最后,不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数。k个聚类具有以下特点:各聚类本身尽可能地紧凑,而各聚类之间尽可能地分开。
K-MEANS算法的基本步骤如下 (流程图如图1所示):
1)选取k个对象作为初始的聚类种子;
2)根据聚类种子的值,将每个对象重新赋给最相似的簇;
3)重新计算每个簇中对象的平均值,用此平均值作为新的聚类种子;
4)重复执行2)、3)步,直到各个簇不再发生变化为止。
图1 K-MEANS算法流程图
基于K-MEANS算法的文本聚类,需注意初始聚类中心的选取,使得初始聚类中心尽可能地符合故障的客观情况。
2.2 软件密集型装备软硬件故障数据分类
软件密集型装备在外场试验阶段、部队试用阶段和交付部队后使用阶段中,均会产生大量的外场使用信息和故障数据。这些数据反映了软件密集型装备在实际使用环境和维护条件下的真实特性。准确、完整地统计和分析这些数据,对软件密集型装备软硬件故障的分析工作具有重要的意义。
本文将软件密集型装备作为被收集对象,收集外场试验或部队使用过程中软件密集型装备出现的软硬件故障数据,并对收集到的故障数据进行规范化处理,完善各个故障的描述信息,将处理后的数据作为软硬件故障聚类分析的基础。在收集的故障数据中,选取了30个软硬件故障数据,并从中提取到87个不重复的特征词作为特征向量,例如:传感器、杂波、电流、干扰、控制和设计等故障数据中表述故障现象、故障原因和故障处理的关键名词或动词,再根据K-MEANS算法,对这些软硬件故障数据进行文本聚类。具体的过程为:
1)选择7个故障作为聚类中心 (被选择的故障要求具有明显的区别,可以认定属于不同类别的故障);
2)对故障案例数据进行预处理,包括处理数据所在的文件格式、文件中故障数据的表现形式,并对故障数据进行简单的滤词 (去噪);
3)对从故障信息中所提取的数据流进行分词处理;
4)将故障信息的特征向量作为欧氏距离的多维坐标,对故障文本建立向量空间模型;
5)通过Java代码实现基于K-MEANS的文本聚类。
结果表明,经过4轮循环,全部30个故障数据最终聚集为7个类别,使用K-MEANS算法得到的聚类结果如表1所示。
3 软件密集型装备软硬件故障模式
3.1 软件密集型装备软硬件故障模式表示方法
在得到故障数据的分类结果后,本文提出一种故障模式的表示方法,实现对每一类故障数据的抽象描述。
故障模式是指对系统所有的外在故障现象的一个具体描述,针对得到的故障现象,按照一定的方法、条件对故障现象进行抽象性的描述形成故障模式[5]。软件密集型装备具有复杂性的特点,这种复杂系统一般具有多种任务功能,而每个任务剖面又由多个任务阶段组成,任务能否正确完成与操作条件和环境变化均具有密切的联系。因此,在提出故障模式的表示方法前,需要对软件密集型装备的故障模式出现的环境或操作条件进行分析。
依据软件密集型装备的特点和外场收集的故障数据可知,软件密集型装备的故障绝大部分为软硬件故障,或者可称之为软件、硬件或环境共同作用而导致的故障。这些故障是由软件、硬件或者外部运行环境相互作用而导致的,并最终表现在以硬件为主要形式的系统上。
表1 故障数据聚类结果
针对软件密集型装备中的软硬件故障模式,给出如下说明:这种软硬件故障模式是指在某种环境或外部操作下,不可预见的具有物理 (如机械的、电的)、化学或其他属性的操作或应力直接作用于软件密集型装备硬件部件,随着时间的累积,进一步地作用于软件,从而导致软件运行异常,再反作用于部件或系统,进而引发系统的行为与预期不一致的可观察的表现,这种表现在特定环境中具有一般性和共性,能够造成相应的故障后果,并能够通过某种手段被修正[14]。 其中, “环境”同时反映了测试和使用者视点,描述了故障发生的语境,是应力和相应操作的组合。
由上述说明可知,软硬件故障产生的环境由应力与操作的组合共同构成。这里的应力指装备所处物理环境的特征,例如:电磁环境、温度环境、振动环境、湿度环境和电应力环境等,这些特征变化给装备系统的运行带来干扰;而操作是指不可预见的操作条件变化,这些变化往往会引起装备系统部件或硬件处于一个“不正常”的状态 (即不能满足装备软件的正常运行)。
鉴于软件密集型装备的复杂性,对于软硬件故障模式,本文参考GJB 841-1990《故障报告分析与纠正措施》、GJB/Z 1391-2006《故障模式、影响及危害性分析指南》中的故障模式分类,筛选出典型软件故障模式、硬件故障模式和环境特征类型 (如表2所示),将软件故障模式、环境特征类型和硬件故障模式进行正交组合,依据软件密集型装备中软件与硬件、环境相互作用的故障特征,并 根据实际使用中收集的数据和工程经验对正交组合进行优化,形成了软件密集型装备的软硬件故障模式的表述方式,具体的过程如图3所示。
表2 环境特征类型、硬件故障类型和软件故障类型举例
图3 软件密集型装备的软硬件故障模式
3.2 软硬件故障模式示例
以下将运用图3提出的软件密集型装备的软硬件故障模式表示方法,实现对聚类分析结果中每一类故障的抽象描述,并验证软硬件故障模式表示方法的可行性。具体的过程为:选取聚类分析结果中某一类故障数据,从故障现象、故障原因等描述中提炼出环境特征和硬件失效模式、软件失效模式的相关内容,将其与表2中的典型环境特征类型、典型硬件故障类型和典型软件故障类型进行匹配与组合,得到软硬件故障模式的最终表述。
按照上述方法最终可以得到全部7个类别软硬件故障数据的故障模式 (如表3所示)。
表3 软硬件故障数据的故障模式
4 结束语
本文首先分析了软件密集型装备软硬件故障的特征,并通过文本聚类的方法对外场收集的软件密集型装备的软硬件故障数据进行分类,在此基础上,提出了 “典型环境特征类型-硬件故障模式-软件故障模式”的软硬件故障模式的表示方法,为提高软件密集型装备故障的定位、分析和诊断效率,降低产品生命周期的费用提供了保障,同时也为开发人员进行缺陷预计提供了借鉴。
[1]梁洪波,慕晓冬,帅桂华,等.软件密集型装备故障的静态检测 [J].微计算机信息,2008, 24 (22): 195-196; 261.
[2]陆民燕.软件可靠性参数研究 [J].北京航空航天大学学报,2001,27(2):241-244.
[3]周婕,慕晓冬,王杰.一种基于程序切片算法的软件故障诊断策略 [J].微电子学与计算机,2006, 23 (8): 110-112; 116.
[4]徐静雯,周继恩,施跃跃,等.软件密集型系统的故障诊断技术研究 [J].计算机应用与软件,2012,29(2):175-178.
[5]帅桂华,慕晓冬,梁洪波,等.软件密集型装备中软硬件故障诊断模型的建立 [J].微计算机信息,2008,24(7): 203-204.
[6]胡仁飞.故障模式与影响分析 [J].电脑知识与技术,2014, 10 (21): 5011-5013.
[7]戴学君.广义系统观测器设计及故障诊断[D].天津:天津大学,2004.
[8]易昭湘,慕晓冬,杨眉,等.基于状态监控的软硬件故障检测方法 [J].仪器仪表党报, 28 (8):347-351.
[9]慕晓冬,易昭湘,赵鹏,等.软件密集型装备软硬件故障理论及分析[M].西安:电子科技大学出版社,2015.
[10]王伟.文本自动聚类技术研究 [J].情报杂志,2009(2): 94-97.
[11]马素琴.基于相似度的文本聚类算法研究及应用 [D].镇江:江苏大学,2010.
[12]李春富,郑小青,葛铭.基于改进聚类算法的RBF网络及其应用 [J].南京工业大学党报 (自然科学版),2011, 33 (6): 72-76.
[13]周爱武,崔丹丹,潘勇.一种优化初始聚类中心的K-means聚类算法 [J].微型机与应用,2011,30(13):1-3;9.
[14]HU X, YANG C, LI D, et al.The time/state-based software-intensive systems failure mode researches[C]//IEEE 7th International Conference on Software Security&Reliability Companion, 2013: 116-124.
Research on Software and Hardware Fault Mode of Software-intensive Equipment
LIU Mengyue, LI Ji'an, HUANG Maosheng
(CEPREI, Guangzhou 510610, China)
Aiming at the fault characteristics of software-intensive equipment, the method of text clustering is used to cluster the collected software and hardware fault data.And then,according to the fault characteristics that software,hardware and environment interact with each other in software-intensive equipment,a hardware and software fault mode representation of“ environment characteristic type-hardware fault mode-software fault mode” is put forward.Finally, the software and hardware fault mode of software-intensive equipment is formed, which provides a useful reference for fault location, analysis and diagnosis of equipment.
software-intensive equipment; software and hardware fault; fault mode; text clustering
TB 114.35
A
1672-5468(2017)04-0042-07
10.3969/j.issn.1672-5468.2017.04.008
2016-12-13
刘梦玥 (1984-),女,天津人,工业和信息化部电子第五研究所软件质量工程研究中心工程师,硕士,主要从事软件测试、软件可靠性方面的研究工作。
关于防范不法分子对本刊作者进行诈骗的声明
近来发现有非法网站和不法分子盗用我刊之名对外征稿或对作者进行诈骗,并收取审稿费和版面费,欺骗作者以非法敛财。据反映,
作者收到如下内容的诈骗邮件:
1.初审用稿通知:XX作者,您撰写的论文已收阅。经初阅,您的论文符合初审要求。根据规定,您的论文应办理复审费: 300元,如果复审未能通过订金可退还。请尽快办理定金,以免延误刊期)
请您及时办理相关费用,以便安排复审 (如需加急或调整刊期请在办理订金后和编辑沟通相关事宜)
另外,汇款后请务必回复邮件 (刘编辑电话:13161775081如果占线请发短信或邮件)
注:此通知只做初审通知使用,不是录用通知,希望您多投优秀稿件。请勿一稿多投。如果您的文章通过复审,此费用含在版面费内。
办理方式:银行:建行持卡人:赵秀明账号:6217 0000 1006 4814 679开户行:建行北京良乡昊天支行
汇款说明:可跨行,可支付宝,可网银转账,转账附言请务必填写第一作者姓名,转账后请将发票抬头和邮寄地址填写完整。
2.稿件采用通知:XX作者,您撰写的XX一文,已经过我刊编委会审核通过,拟定2016年第3期发表,并收取版面费800元,刊出后我刊将会赠送刊物2册以供使用。感谢您对我刊的关注与支持!
我刊对此非法行为表示强烈的谴责,并将进一步追究其法律责任。
为防广大作者受骗,我刊特此作如下郑重声明:
1.投稿方式:我刊目前唯一公开使用的投稿专用电子邮箱为kkx@ceprei.com,kkx@vip.ceprei.com除此以外均为非正常投稿途径;官网epret.ceprei.com正在改版,在线投稿系统暂停使用。
2.本刊编辑部查询电话为:020-87237043。
3.本刊编辑部没有 “刘编辑、赵秀明”等人。
4.作者如收到上述类似邮件,请及时与本刊编辑部联系,以免上当受骗。
5.本刊编辑部地处广州,隶属于工业和信息化部电子第五研究所,我们的收款方式如下:
收款单位:工业和信息化部电子第五研究所9(9是本所财务给本部门的编号)
开户银行:中信银行广州分行 (帐务中心或营业部)
银行帐号:7443020183100002212
敬请广大作者警惕此类诈骗行为,切实保护自身利益,谨防上当受骗。
特此声明!
《电子产品可靠性与环境试验》编辑部
2016年1月22日