论文部分内容阅读
[摘要] 为提高装备可靠性设计中故障模式影响分析(FMEA)效率,满足多领域FMEA智能体相互协作的需求,本文建立了一种基于可扩展标记语言(XML)的分布式智能FMEA系统,给出了基于XML的分布式智能FMEA系统结构及其工作原理;详细分析了基于XML的FMEA知识描述、推理及知识学习等系统实现的关键技术。
[关键词] 武器系统与运用工程 XML 分布式 智能FMEA
一、引言
FMEA(Failure Mode Effect and Criticality Analysis)是分析系统中每一产品所有可能产生的故障模式及其对系统造成的所有可能影响,并按每一个故障模式的严重程度及其发生概率予以分类的一种归纳分析方法[1]。通过使用这种方法,可以在设计阶段及时分析产品的故障模式及影响,以便采取措施,消除隐患,提高产品可靠性。随着产品系统的复杂程度不断加大,FMEA已经成为一项任务量巨大而且繁重的工作。引入人工智能技术,建立FMEA的专家知识库,进行智能化的FMEA已经得到了很大的发展。而基于知识的智能FMEA是一种以专业理论知识为基础、以丰富的工程设计经验为支持的智能化分析方法,在产品的设计研制过程中,往往需要多位多领域的专家协同工作。因此,构建支持专家群体的远程分布式环境也是智能FMEA发展的一个重要方向。针对多智能FMEA系统相互协作的需求,在分布式智能FMEA系统中,采用与平台无关的XML(Extensive markup language)可扩展标记语言来表达原始数据和不同领域类型的知识,并在此基础上,建立与之相适应的知识学习、解释及推理方法,是一种十分有效的途径。
二、基于XML的分布式智能FMEA系统结构
基于XML的智能FMEA系统采用三层Browser/Server结构,系统的基本结构如图1所示,智能FMEA系统主要由基于XML的知识库、相应的推理机、解释机、学习机以及基于XSL的知识显示样式界面构成,其中的知识库与推理机是系统的重要组成部分。其数据服务层由基于XML的智能FMEA知识库与数据库构成,可以集成于现有数据库管理系统中,以便对知识数据进行有效的管理。其应用服务层由XML知识的推理、学习及解析构成,利用相应的接口函数,可以非常方便的构造推理机,以完成由用户提供的装备使用环境到故障模式选择及故障影响的推理过程,并利用全局数据库中的元知识实现分布系统间的协同。表示层通过XML及XSL为用户提供交互界面。此种结构大大加强了系统所需用户交互(咨询或问答)的灵活性,同时使专家知识库具有良好的扩充性和易于管理性。采用XML进行知识描述与推理,可以很好地实现分布式应用程序间接口的通用化,有效地实现基于Web的多个专家系统的协同工作。
图1基于XML的分布式智能FMEA系统结构
三、关键技术
(一)基于XML的知识表示
分布式智能FMEA系统的知识总体上可分为两类,一是领域知识,它包括进行可靠性设计中的产品结构、功能结构、方案以及FMEA规则等知识。二是元知识,即关于知识的知识,其最大作用是对系统中的各分布式知识的表达与运用进行标志和说明,并为分布决策提供依据。
1. 元知识描述
在本系统中,元知识将系统所涉及的各领域知识进行定位、调配和维护,将地理上分布的知识从逻辑上连为一体,以更好地协同装备的FMEA分析。它主要存储在全局的知识库中,用以支撑知识全局调用。基于XML的元知识描述采用RDF(ResourceDescription Framework)框架,RDF是用于编译元知识的XML应用程序。它利用Dublin Core、IMS和RDF Schema定义的元数据来描述WEB中的知识及其语义,并建立了语义协定与XML语法编码间的映射关系,使所描述资源的元数据信息可有效地转化成为机器可理解的信息。
以下给出故障模式选择的元知识的XML/DTD定义:
一条雷达装备的具体的FMEA知识可描述为:“雷达S上接收机20的前置放大器分压器20A1的电阻器20A1R1在过压的情况下开路,概率为1.0。”
对该描述进行转换:
知识描述(((电阻器20A1R1),(雷达接收机前置放大器分压器S20A1,过压),(开路,1.0)),(故障模型选择,产生规则))
对该领域内一系列的同类知识描述进一步抽象,可以得到该领域知识构成的元知识模板:
Kdg_element(( kdgObjectset, kdgPropertyset, kdgStateset),Domain)
即故障模式知识的描述可由所属领域、对象集、属性集、状态集四元组构成。利用DTD对元知识的定义如下:
2.领域知识描述
基于面向对象的XML知识表示方法在构造领域知识方面有巨大的优势。面向对象表示法能够较好地描述现实世界的结构模型,在XML表示方法中吸取面向对象的这种思想,将类的属性、方法、继承关系用DTD定义下来。基于面向对象的XML知识表示不仅适用于分布式智能系统,其结构灵活、易于数据交换及便于扩充,而且又具有面向对象的封装性和继承性等优点,可以很好地描述领域内装备故障模式及其相互间的影响关系。
建立基于XML的FMEA知识文件,需要采用DTD来定义一个面向对象表示方法的语法系统,并通过定制XML应用来解释实例化的知识表示文档。这里以电磁开关在高温潮湿的环境下出现电插头锈蚀、内部密封圈老化破损的故障模式为例,进行故障模式选择规则的DTD及XML知识描述,其面向对象的产生式规则知识表示为:
IF
(使用环境为高温潮湿,分析对象为电磁开关)
THEN
电磁开关会出现电插头锈蚀and 内部密封圈老化破损;
可能性为强度0.013;
END IF
其部分DTD定义如下:
……
……
按照上述DTD,可以将传统的智能FMEA知识进行转化,实现基于XML的知识表示。
< FAILURESEL_RULE rule_id=”YJQL_DCKG _FSR021” >
< CONDITION_OBJECT> RC0011 CONDITION _OBJECT>
< PRODUCT_OBJECT> YJQL_DCKG PRODUCT _OBJECT>
< RESULT_OBJECT> DCTX RESULT _OBJECT>
< RESULT_OBJECT> MFQL RESULT _OBJECT>
< POWER >0.013 POWER >
FAILURESEL_RULE >
(二)知识推理匹配
系统知识推理匹配完成两项任务。首先通过网络知识库管理进程对要求作初步处理,与全局库中的元知识进行匹配,以确定某领域知识所在的逻辑结点标识,再将要求和结点标识送给网络存取进程,与目标系统连接。其次,是领域知识内的推理匹配,智能FMEA系统的推理是基于树的匹配。借鉴成熟的图的匹配算法,再利用XML数据结构的树状层次性,可使树的匹配算法更为简单。树的匹配利用递归来实现,函数可利用XML的DOM(Document Object Model)编程开发。DOM是一个与平台和语言无关的接口,为操作XML文档的内容和结构提供了标准函数。利用DOM中的接口函数,开发人员可以方便地对文档树进行读取、搜索、修改、添加和删除等操作。基于DOM接口的推理过程实际上就是通过遍历内存中创建的文档树结构的节点和对节点属性进行访问与操作,来实现搜索、匹配等任务。系统的知识匹配关系如图2所示,这里引用问句库与模式选择库的匹配函数关键代码如下:
IXMLDOMNode RootNode;
RootNode=ModelSelect.KB_File;
BOOL compare (RootNode,prodctid) //树的匹配函数
{Bool bFlag=FALSE;
For( x=RootNode.firstChild;x!=NULL;x=x.NextSibling)
{bFlag=Check(x,prodctid);
If (bFlag= =TRUE)
Return TRUE;} //结点匹配,则匹配成功
Return FALSE;}
图2基于XML智能FMEA的知识推理匹配图
(三)知识学习
表1故障模式样本数据表
No Mb1 Mb2 Mc1 Mc2 Md1 Md2 Ma1
1 1 1 1 1 1 1 1
2 1 1 1 1 0 0 1
3 1 1 0 1 0 0 1
4 1 0 1 0 0 0 0
智能FMEA的知识获取方法很多,可由专家经验的直接转换,也可以从已有类似装备的大量故障样本数据中分析获得。本文仅对基于样本的XML知识学习方法进行介绍。首先将传统的故障数据转换为XML故障模式数据,然后结合智能FMEA分析的结构分析层次关联模型,并通过神经网络等学习方法就可以得到新的故障模式影响规则。
表1为根据系统层次结构关联模型确定的故障模式与约定故障模式层次数据表,样本数据的DTD定义如下:
由DTD定义,给出的XML描述如下:
< FAILIURE_MODEL FailureModeID=”Mb1”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mb2”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mc1”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mc2”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Md1”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Md2”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Ma1”>1 FAILIURE_MODEL >
…
将Mb1、Mb2、Mc1、Mc2、Md1、Md2作为输入,Ma1作为输出,运用神经网络的方法对表1中的样本数据进行学习,可以得出各项权值与阀值,由文献[5]提供的方法,并结合前面DTD定义可得新规则:
< FAILIUREEFE_RULE rule_id =” YJQL_DCKG _FER007”>
< FAILIURE_MODEL FailureModeID=”Mb1” >Mb1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mb2” >Mb2 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mc2” >Mc2 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Ma1”> Ma1故障模式描述 < / FAILIURE _MODEL >
FAILIUREEFE_RULE >
四、结束语
以Java、XML和Web为支撑技术,开发的基于XML的分布式智能FMEA系统,实现了FMEA知识的通用性及可扩展性,可以有效地运用基于XML的知识库、知识推理以及样本学习实现多领域的FMEA智能系统间的协作,极大地提高了可靠性设计的效率。
参考文献:
[1] 徐宗昌.保障性工程[M].北京:兵器工业出版社,2004.4.
[2] 杨炳儒.知识工程与知识发现[M].北京:冶金工业出版社,2000.12.
[3] 况立群.基于对象的XML知识表示[J].山西:华北工学院学报,2002.6,452~454.
[4] 赵廷弟.智能故障模式影响分析的推理研究[J].北京:航空学报,1995.8,34~38.
[5] 肖人彬.一种实现异构知识集成的新方法[J].武汉:华中理工大学学报,1999.2,4~6.
[6] MartinD.XML高级编程[M].北京:机械工业出版社,2001.
作者简介:
陈文礼(1954-),男,副教授,主要研究方向:装备综合保障。
“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”
[关键词] 武器系统与运用工程 XML 分布式 智能FMEA
一、引言
FMEA(Failure Mode Effect and Criticality Analysis)是分析系统中每一产品所有可能产生的故障模式及其对系统造成的所有可能影响,并按每一个故障模式的严重程度及其发生概率予以分类的一种归纳分析方法[1]。通过使用这种方法,可以在设计阶段及时分析产品的故障模式及影响,以便采取措施,消除隐患,提高产品可靠性。随着产品系统的复杂程度不断加大,FMEA已经成为一项任务量巨大而且繁重的工作。引入人工智能技术,建立FMEA的专家知识库,进行智能化的FMEA已经得到了很大的发展。而基于知识的智能FMEA是一种以专业理论知识为基础、以丰富的工程设计经验为支持的智能化分析方法,在产品的设计研制过程中,往往需要多位多领域的专家协同工作。因此,构建支持专家群体的远程分布式环境也是智能FMEA发展的一个重要方向。针对多智能FMEA系统相互协作的需求,在分布式智能FMEA系统中,采用与平台无关的XML(Extensive markup language)可扩展标记语言来表达原始数据和不同领域类型的知识,并在此基础上,建立与之相适应的知识学习、解释及推理方法,是一种十分有效的途径。
二、基于XML的分布式智能FMEA系统结构
基于XML的智能FMEA系统采用三层Browser/Server结构,系统的基本结构如图1所示,智能FMEA系统主要由基于XML的知识库、相应的推理机、解释机、学习机以及基于XSL的知识显示样式界面构成,其中的知识库与推理机是系统的重要组成部分。其数据服务层由基于XML的智能FMEA知识库与数据库构成,可以集成于现有数据库管理系统中,以便对知识数据进行有效的管理。其应用服务层由XML知识的推理、学习及解析构成,利用相应的接口函数,可以非常方便的构造推理机,以完成由用户提供的装备使用环境到故障模式选择及故障影响的推理过程,并利用全局数据库中的元知识实现分布系统间的协同。表示层通过XML及XSL为用户提供交互界面。此种结构大大加强了系统所需用户交互(咨询或问答)的灵活性,同时使专家知识库具有良好的扩充性和易于管理性。采用XML进行知识描述与推理,可以很好地实现分布式应用程序间接口的通用化,有效地实现基于Web的多个专家系统的协同工作。
图1基于XML的分布式智能FMEA系统结构
三、关键技术
(一)基于XML的知识表示
分布式智能FMEA系统的知识总体上可分为两类,一是领域知识,它包括进行可靠性设计中的产品结构、功能结构、方案以及FMEA规则等知识。二是元知识,即关于知识的知识,其最大作用是对系统中的各分布式知识的表达与运用进行标志和说明,并为分布决策提供依据。
1. 元知识描述
在本系统中,元知识将系统所涉及的各领域知识进行定位、调配和维护,将地理上分布的知识从逻辑上连为一体,以更好地协同装备的FMEA分析。它主要存储在全局的知识库中,用以支撑知识全局调用。基于XML的元知识描述采用RDF(ResourceDescription Framework)框架,RDF是用于编译元知识的XML应用程序。它利用Dublin Core、IMS和RDF Schema定义的元数据来描述WEB中的知识及其语义,并建立了语义协定与XML语法编码间的映射关系,使所描述资源的元数据信息可有效地转化成为机器可理解的信息。
以下给出故障模式选择的元知识的XML/DTD定义:
一条雷达装备的具体的FMEA知识可描述为:“雷达S上接收机20的前置放大器分压器20A1的电阻器20A1R1在过压的情况下开路,概率为1.0。”
对该描述进行转换:
知识描述(((电阻器20A1R1),(雷达接收机前置放大器分压器S20A1,过压),(开路,1.0)),(故障模型选择,产生规则))
对该领域内一系列的同类知识描述进一步抽象,可以得到该领域知识构成的元知识模板:
Kdg_element(( kdgObjectset, kdgPropertyset, kdgStateset),Domain)
即故障模式知识的描述可由所属领域、对象集、属性集、状态集四元组构成。利用DTD对元知识的定义如下:
2.领域知识描述
基于面向对象的XML知识表示方法在构造领域知识方面有巨大的优势。面向对象表示法能够较好地描述现实世界的结构模型,在XML表示方法中吸取面向对象的这种思想,将类的属性、方法、继承关系用DTD定义下来。基于面向对象的XML知识表示不仅适用于分布式智能系统,其结构灵活、易于数据交换及便于扩充,而且又具有面向对象的封装性和继承性等优点,可以很好地描述领域内装备故障模式及其相互间的影响关系。
建立基于XML的FMEA知识文件,需要采用DTD来定义一个面向对象表示方法的语法系统,并通过定制XML应用来解释实例化的知识表示文档。这里以电磁开关在高温潮湿的环境下出现电插头锈蚀、内部密封圈老化破损的故障模式为例,进行故障模式选择规则的DTD及XML知识描述,其面向对象的产生式规则知识表示为:
IF
(使用环境为高温潮湿,分析对象为电磁开关)
THEN
电磁开关会出现电插头锈蚀and 内部密封圈老化破损;
可能性为强度0.013;
END IF
其部分DTD定义如下:
……
……
按照上述DTD,可以将传统的智能FMEA知识进行转化,实现基于XML的知识表示。
< FAILURESEL_RULE rule_id=”YJQL_DCKG _FSR021” >
< CONDITION_OBJECT> RC0011 CONDITION _OBJECT>
< PRODUCT_OBJECT> YJQL_DCKG PRODUCT _OBJECT>
< RESULT_OBJECT> DCTX RESULT _OBJECT>
< RESULT_OBJECT> MFQL RESULT _OBJECT>
< POWER >0.013 POWER >
FAILURESEL_RULE >
(二)知识推理匹配
系统知识推理匹配完成两项任务。首先通过网络知识库管理进程对要求作初步处理,与全局库中的元知识进行匹配,以确定某领域知识所在的逻辑结点标识,再将要求和结点标识送给网络存取进程,与目标系统连接。其次,是领域知识内的推理匹配,智能FMEA系统的推理是基于树的匹配。借鉴成熟的图的匹配算法,再利用XML数据结构的树状层次性,可使树的匹配算法更为简单。树的匹配利用递归来实现,函数可利用XML的DOM(Document Object Model)编程开发。DOM是一个与平台和语言无关的接口,为操作XML文档的内容和结构提供了标准函数。利用DOM中的接口函数,开发人员可以方便地对文档树进行读取、搜索、修改、添加和删除等操作。基于DOM接口的推理过程实际上就是通过遍历内存中创建的文档树结构的节点和对节点属性进行访问与操作,来实现搜索、匹配等任务。系统的知识匹配关系如图2所示,这里引用问句库与模式选择库的匹配函数关键代码如下:
IXMLDOMNode RootNode;
RootNode=ModelSelect.KB_File;
BOOL compare (RootNode,prodctid) //树的匹配函数
{Bool bFlag=FALSE;
For( x=RootNode.firstChild;x!=NULL;x=x.NextSibling)
{bFlag=Check(x,prodctid);
If (bFlag= =TRUE)
Return TRUE;} //结点匹配,则匹配成功
Return FALSE;}
图2基于XML智能FMEA的知识推理匹配图
(三)知识学习
表1故障模式样本数据表
No Mb1 Mb2 Mc1 Mc2 Md1 Md2 Ma1
1 1 1 1 1 1 1 1
2 1 1 1 1 0 0 1
3 1 1 0 1 0 0 1
4 1 0 1 0 0 0 0
智能FMEA的知识获取方法很多,可由专家经验的直接转换,也可以从已有类似装备的大量故障样本数据中分析获得。本文仅对基于样本的XML知识学习方法进行介绍。首先将传统的故障数据转换为XML故障模式数据,然后结合智能FMEA分析的结构分析层次关联模型,并通过神经网络等学习方法就可以得到新的故障模式影响规则。
表1为根据系统层次结构关联模型确定的故障模式与约定故障模式层次数据表,样本数据的DTD定义如下:
由DTD定义,给出的XML描述如下:
< FAILIURE_MODEL FailureModeID=”Mb1”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mb2”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mc1”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mc2”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Md1”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Md2”>1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Ma1”>1 FAILIURE_MODEL >
…
将Mb1、Mb2、Mc1、Mc2、Md1、Md2作为输入,Ma1作为输出,运用神经网络的方法对表1中的样本数据进行学习,可以得出各项权值与阀值,由文献[5]提供的方法,并结合前面DTD定义可得新规则:
< FAILIUREEFE_RULE rule_id =” YJQL_DCKG _FER007”>
< FAILIURE_MODEL FailureModeID=”Mb1” >Mb1 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mb2” >Mb2 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Mc2” >Mc2 FAILIURE_MODEL >
< FAILIURE_MODEL FailureModeID=”Ma1”> Ma1故障模式描述 < / FAILIURE _MODEL >
FAILIUREEFE_RULE >
四、结束语
以Java、XML和Web为支撑技术,开发的基于XML的分布式智能FMEA系统,实现了FMEA知识的通用性及可扩展性,可以有效地运用基于XML的知识库、知识推理以及样本学习实现多领域的FMEA智能系统间的协作,极大地提高了可靠性设计的效率。
参考文献:
[1] 徐宗昌.保障性工程[M].北京:兵器工业出版社,2004.4.
[2] 杨炳儒.知识工程与知识发现[M].北京:冶金工业出版社,2000.12.
[3] 况立群.基于对象的XML知识表示[J].山西:华北工学院学报,2002.6,452~454.
[4] 赵廷弟.智能故障模式影响分析的推理研究[J].北京:航空学报,1995.8,34~38.
[5] 肖人彬.一种实现异构知识集成的新方法[J].武汉:华中理工大学学报,1999.2,4~6.
[6] MartinD.XML高级编程[M].北京:机械工业出版社,2001.
作者简介:
陈文礼(1954-),男,副教授,主要研究方向:装备综合保障。
“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”