杨 起,王竹林⋆,侯占恒
(1.陆军工程大学石家庄校区导弹工程系,石家庄 050003;2.陆军装备部装备采购管理办公室,北京 100000)
随着武器装备性能以及复杂程度的提升,传统的测试诊断技术、思想暴露出大量问题。现阶段,武器装备测试诊断系统大多是针对特定某一种或某一类装备,普遍存在着缺乏通用性、扩展性以及可移植能力差、难以实现诊断知识与数据的共享和重用等缺陷,这不仅造成了资源的大量浪费,同时也阻碍了故障诊断技术的发展。IEEE Std 1232 标准,又称AI-ESTATE(Artificial Intelligence Exchange and Service Tie to All Test Environments,全测试环境人工智能交换与服务)定义了诊断知识、数据以及推理机服务的标准化描述,支持基于组件诊断结构与其他测试信息集之间的互操作,为上述问题提供了解决方案。AI-ESTATE 从制定至今,经历了多次修正,包 括IEEE Std 1232-1990、IEEE Std 1232-1995、IEEE Std 1232.1-1997、IEEE Std 1232.2-1998、IEEE Std 1232-2002 以及IEEE Std 1232-2010。
20 世纪80 年代,以专家系统为主的人工智能方法逐步应用于测试和诊断领域,这些人工智能方法虽然改善了美军装备的保障水平,但也带来由于缺乏通用的接口标准而难以实现诊断知识与数据的共享和重用的问题。于是1990 年,电气电子工程师协会(IEEE)同意授权电子系统测试与诊断标准化工作委员会(SCC20)和诊断与维护控制(D&MC)制定全新的测试诊断标准AI-ESTATE,但当时的AI-ESTATE 主要是规范基于专家系统方法的故障诊断系统,标准并没有正式颁布。
1995 年,IEEE 颁布了IEEE Std 1232-1995 标准人工智能——应用于自动测试设备的专家系统(Artificial Intelligence and Expert System Tie to Automatic Test Equipment),该标准将诊断系统统称为推理系统,推理系统代表了各种基于知识得出结论的诊断方法;定义了AI-ESTATE 的一致性结构以及其中各组件之间关联,同时要求所有的诊断信息规范和接口规范定义严谨,不可以有任何歧义,使得诊断信息、数据可移植,接口标准化、通用化,整个体系结构可以扩展升级。IEEE Std 1232-1995 的颁布为后续AI-ESTATE 标准的修正奠定了良好的基础。
IEEE Std 1232-1997,也称作IEEE 1232.1-适用于所有测试环境的人工智能交换和服务:数据和知识规范适用标准。在IEEE Std 1232-1997 中,使用建模语言EXPRESS 对测试诊断中的数据以及知识信息的表述方式进行了规范,使得实现诊断知识信息共享、一致性交互成为可能。该标准建立了公共元素模型(Common Element Model,CEM)。它对测试诊断领域中常见的元素进行了规范的定义。而其他模型都是在公共元素模型基础上,按照一定规则扩充而建立起来的。IEEE Std 1232-1997 中提供了故障树模型(Fault Tree Model,FTM)、增强诊断推理模型(Enhanced Diagnostic Inference Model,EDIM)。
IEEE Std 1232.2-1998 也称作IEEE 1232.2 标准,对诊断推理机所提供的服务进行了统一规范,以实现系统对诊断功能的驱动,并应用已封装的服务建立了故障树的诊断服务实例。另外,该版本提供了一个新的信息模型,即动态上下文模型(Dynamic Context Model,DCM),此模型的作用是对诊断过程的记录进行规范。
IEEE Std 1232-2002 在前几个版本的基础上,扩充并删除了公共元素模型中的一些实体以及数据类型;采用居于组建的思想,扩展并且规范了推理机的诊断推理服务,以满足不同的诊断需求。并且进一步规范了DCM 记录诊断过程方式,使得诊断推理机对可诊断性分析、诊断推理、结论生成等诊断过程进行更有效的控制。
目前,IEEE 颁布的最新版本是IEEE Std 1232-2010。IEEE Std 1232-2010 继续对公共元素模型下的一些实体、数据类型进行增添和删减。并且为了描述诊断对象的概率模型,对诊断中失效分布的描述进行了进一步的规范,使得诊断模型的创建、诊断过程等都得到标准化的描述。在推理机服务方面,2010 版本定义了推理机的5 个状态包括模型已加载(Models Loaded)、无模型加载(No Models Loaded)、无诊断会话(No session)、有效会话(Valid Session)以及挂起诊断(Pending Assertions),并规定了在每种状态下可以调用的诊断推理服务;进一步对诊断过程中的各种服务和服务函数中应用的数据类型进行规范,使得推理机诊断过程每一个步骤更加清晰、明确。
IEEE Std 1232-2010 在之前多个版本的基础上,完善了信息模型,对诊断过程中诊断知识的共享具有推进作用;明确规范了推理机服务的各种功能以及推理机的状态,使诊断操作可以明确地按照规范实施,便于用户对于客户程序的开发,进而实现推理机可移植。
IEEE Std 1232-2010 对之前版本进行全面补充,细化且明确诊断系统开发以及应用过程中每一个环节,对于诊断技术的发展具有深远的影响。
AI-ESTATE 标准提供如下内容[1]:
1)AI-ESTATE 整个体系结构的概述;
2)诊断信息模型的正规定义;
3)诊断模型之间交互格式的标准定义;
4)诊断推理机的软件服务定义。
为了实现诊断系统中推理机组件与其他组件之间的交互,诊断知识的规范定义和可移植性以及可重用性等性能,AI-ESTATE 采用了定义服务的方式,如图1 所示。
图1 AI-ESTATE 体系结构
由图1 可见,在AI-ESTATE 概念体系中,整个系统中各个部分通过信息传递服务来实现信息的交换。因此,诊断推理机可以通过已经实现的服务与其他部件进行交互。
图2 AI-ESTATE 模型层次关系图
在IEEE Std 1232-2010 中,为了实现诊断知识信息的共享,AI-ESTATE 又搭建了如图2 所示的层次结构。在此结构中,处于最顶层的是CEM(公共元素模型),公共元素模型对测试诊断领域中用到的常用信息进行了规范化的标准描述。比较典型的有Diagnosis(诊断)、Failure(失效)、Repair(维修)和Resource(资源)等实体,这些实体由属性构成,主要有costs(代价)、failure rates(失效率)等属性。而位于下层的FTM(故障树模型)、BNM(贝叶斯网络模型)、DIM(D-矩阵推理模型)、DLM(诊断逻辑模型),都是以CEM 中元素为基础,进行一定的扩展或删减而形成的,进而可以满足多种诊断推理需求。也可以根据实际需要,以CEM 为基础,建立扩充更多方法的诊断模型。DCM(动态上下文模型)的作用就是记录诊断过程中的历史信息以及上下文环境,它是动态的,会伴随着诊断过程的进行而发展。
对于AI-ESTATE 标准,国外一些公司、科研机构已经对其进行深入研究探讨,不仅对AI-ESTATE的制定做出了贡献,在应用、发展方面也取得了不错的成果。
在AI-ESTATE 标准制定发展过程中,美国科学专家John W.Sheppard、Amanda、W.R.Simpson 等人居功至伟。IEEE Std 1232-1995 颁布后,John W.Sheppard 指出标准中存在知识约束关系没有定义,不便于诊断过程实施的问题[2]。W.R.Simpson 在文中讨论是否能将AI-ESTATE 应用于广域测试环境(A Broad Based Environment for test,ABBET),推动了AI-ESTATE 在手动测试、半自动测试领域应用的发展[3]。John W.Sheppard 又对公共元素模型进行修订,强调其他信息模型必须在公共元素模型基础之上进行扩展,确立了公共元素模型的基础地位[4]。Amanda Jane Giarla 在文中对符合AI-ESTATE 规范的信息模型的构建方式进行了概述[5]。Anthony L.Alwardt 在深入研究了AI-ESTATE 以及开放式ATS相关性能后,认为AI-ESTATE 可以应用于开放式诊断领域[6]。2005 年,John W.Sheppard 对贝叶斯网络诊断方法进行分析后,建立了贝叶斯诊断模型并通过XML(eXtensible Markup Language,可扩展标记语言)进行描述,确保诊断信息完整性,可移植性[7]。Michcllc Harris 等人在文中阐释了如何建立符合AI-ESTATE 标准的故障树模型,以及它在多种推理机之间传递信息的方式,并对多种模型进行介绍分析[8]。John W.Sheppard 等人重点介绍了诊断推理中模型的语义互操作性问题,并通过故障树模型和贝叶斯模型对其进行验证,结果充分体现了语义建模在信息交流中的有效性[9]。Liessman Sturlaugson 等人在文中首先描述了一个叫SAPPHURE 工具,它包括AI-ESTATE 在Java 下的实现和一个相应的GUI(Graphical User Interface,图形用户界面)工具,这个GUI 工具支持贝叶斯网络模型的模型建立以及诊断推理。其次,对贝叶斯模型推理机服务进行扩展,使其可以表示一阶的动态贝叶斯网络[10]。Logan Perreault 等人为AI-ESTATE 标准的下一个版本提供了一个新的预测模型。另外,他们提出用连续时间贝叶斯网络(Continuous-Time Bayesian Networks,CTBN)代替之前提出的贝叶斯网络模型来为预测推理提供一个额外的模型,并且指定了一个语义模型用来表示动态贝叶斯网络模型进行预测,最后,证实了其有效性和必要性[11]。John W.Sheppard 等人论证了AI-ESTATE 中提出的服务规范对于实现ATS 的互操作性和可移植性的必要性,并通过故障树诊断系统在诊断过程中分析了如何应用AI-ESTATE 服务规范[16]。
自从AI-ESTATE 颁布之后,国内多家院校科研机构的专家学者也对其进行了相应的探索与研究,但主要以跟踪美军的研究动态为主,与以美军为首的西方国家还存在一定差距。蔡亮在其论文中首先介绍了AI-ESTATE 体系结构,完成了3 种信息模型(公共元素模型、诊断推理模型、故障树模型)的接口设计,并采用COM 组件技术建立了符合AI-ESTATE 标准的诊断模块和数据挖掘模块[14]。李慧在其论文中首先对AI-ESTATE 的层次结构进行了分析,提出了用XML Schema 来实现诊断模型的标准化信息描述,并对公共元素模型以及故障树模型进行标准化描述[12]。杨占才等人在对AI-ESTATE 标准进行深入分析后,提出了用XML 语言来实现符合AI-ESTATE 标准的诊断推理机,并将其应用于图形化测试软件GTest,实现了飞机系统寿命期内诊断信息模型的共享[13]。赵鞭等人在文章中采用XML 语言描述诊断信息,DCOM 组件实现推理机,实现了诊断知识信息的共享以及推理机的可移植,并在此基础上,建立了一个符合AI-ESTATE 标准的远程故障诊断系统[15]。王雪锦在其论文中首先应用Visio 控件实现了故障树图绘制功能,依据AI-ESTATE 标准建立了故障树模型转换模块并生成了可交互的故障树模型文件,在此基础上,开发了基于IEEE1232 协议的电路诊断软件[17]。孙小进等人在分析了AI-ESTATE 标准后,结合贝叶斯网络技术,建立了贝叶斯网络诊断信息模型,设计了基于贝叶斯网络故障诊断的软件架构,并给出相应的验证[18]。刘春霞等人对AI-ESTATE 标准所采用的EXPRESS 语言中的各种数据类型到XML 语言中的映射机制进行深入研究,并用XML Schema 来描述诊断信息[19]。刘春霞等人在对公共元素模型研究的基础上,简要介绍了故障字典诊断方法以及贝叶斯网络技术,并在AI-ESTATE 标准基础上分别建立了故障字典诊断模型和贝叶斯网络诊断模型[20-21]。姜会霞等人在其文中对ATS 中诊断知识的标准化问题简要进行了分析,将CEM 中的所有实体划分为5 个族,再依据STEP28 对实体进行标准化描述,简化了由EXPRESS 到XML 的转换过程[22]。姜会霞等人针对诊断信息描述的一致性问题,研究了Schematron 的约束表示原理,提出了基于Schematron 的AI-ESTATE 约束描述方法并完成标准化描述[23]。2013 年,姜会霞等人又借鉴Kruchten 提出的“4+1”视角模型方法,并结合AI-ESTATE,建立了诊断系统组织、功能、信息和过程4 个视图的结构图,研究其构成和运行方式,搭建了可重用、可交换的故障诊断系统体系结构[24]。在2017 年,姜会霞等人对面向服务的AI-ESTATE 故障诊断系统的构架以及信息传递模式进行探索研究,采用静态诊断模型服务关系图以及UML 时序图分析了互操作服务在推理机与其他组件进行交互的过程和模型管理服务在模型索引、编辑时的交换流程,为诊断系统的开发奠定了良好的基础[25]。王月海等人对AI-ESTATE 中诊断模型进行扩充,提出一种包含多种人工智能诊断方法的知识库生成协议,设计TPS(Test Program Set)自动生成系统,并通过仿真验证了其有效性[26]。徐梦寒在实现了TPS 自动生成的基础上,通过对标准的大量研究,对诊断信息模型进行扩充,增加了神经网络模型,支持向量机模型和人工免疫系统模型,并将支持向量机算法与AI-ESTATE给出的标准故障树进行融合,实现了故障树的自动生成,通过实验证明,该方法具有很强的通用性,提高了故障树自动生成的准确性[27]。李娇娇在研究了AI-ESTATE 标准和BP 神经网络算法后,建立了BP神经网络诊断模型和BP 模型文件转换模块和相应的诊断推理机,在此基础上实现了模拟电路仿真和数据管理软件的原型系统,并通过实测电路板进行故障诊断实验,验证了该系统的可行性[28]。
AI-ESTATE 标准是新一代诊断系统平台的重要组成部分,它能够实现诊断系统中数据和信息的共享,诊断模型、诊断推理机的可移植性,可以有效利用测试诊断资源、节约故障诊断成本。随着AI-ESTATE 标准不断地更新升级,它的研究方向也越来越广泛,不仅仅局限于静态诊断模型的构建,而是更注重于对整个测试诊断过程的管理以及对各种资源的评估,这为构建开放式、互操作、标准化的远程故障诊断系统奠定了基础。而基于此标准提高设备故障覆盖率、检测率、隔离率以及进一步优化推理过程是目前的盲区,也是未来研究的重点,是整个测试诊断领域发展的一个重要方向。