羊柳,钱林方,丁晟春,徐亚栋
(1.南京理工大学机械工程学院,江苏南京210094;2.南京理工大学经济管理学院,江苏南京210094)
基于本体和知识组件的自行火炮设计知识表示技术
羊柳1,钱林方1,丁晟春2,徐亚栋1
(1.南京理工大学机械工程学院,江苏南京210094;2.南京理工大学经济管理学院,江苏南京210094)
自行火炮各类设计知识如果未得到有效地组织和表示,会导致设计过程中难以重用已有设计知识。针对该问题,提出了一种基于本体和知识组件的知识表示方法。通过分析自行火炮设计知识的表示需求,研究自行火炮设计本体的组织方式和知识组件的开发策略,构建自行火炮设计本体与知识组件的映射关系,实现自行火炮设计知识的表示。在此基础上,通过开发专用知识检索系统,使设计人员能快速重用已有的设计知识。以中大口径压制自行火炮为例,实现了设计知识的表示和重用,验证了所提出方法的可行性和有效性。
兵器科学与技术;自行火炮;知识表示;本体;知识组件
自行火炮由炮塔火力系统、底盘系统及综合电子信息系统3个分系统组成,是集机械、液压、电气和控制等于一体的复杂机械产品[1]。在自行火炮长期的理论研究、工程设计和生产中逐步积累了丰富的设计知识,如自行火炮的专业知识、自行火炮设计流程、大量的设计实例以及多种不同类型的分析计算程序等。
目前国内外针对产品设计知识表示方法开展了广泛的研究,常用的知识表示方法包括:面向对象表示法、基于本体的表示法、产生式表示法以及框架表示法等,而针对火炮设计知识的表示方法仅开展了有限的研究,如文献[2]提出了一种基于模板的身管设计系统,将部分身管设计知识封装成设计模板;文献[3]采用以框架为基础的集成知识表示模式开展地面火炮总体方案设计知识表示,文献[4]采用基于框架的集成式知识表示模型实现了火炮装药设计专家系统的知识表示。上述表示方法仅针对火炮某个部件或某个设计阶段,无法完整描述自行火炮各类设计知识,包括自行火炮的概念体系、自行火炮不同设计阶段的设计过程、各设计过程中涉及的分析计算过程等,导致自行火炮各类设计知识未得到完整有效地组织和表示。针对上述问题,本文在分析现有复杂产品设计知识表示方法[5-8]的基础上,结合自行火炮设计知识自身特点及设计过程中知识的利用方式,提出了基于本体和知识组件的自行火炮设计知识表示方法,实现了自行火炮各类设计知识的完整表示。
1.1 自行火炮设计知识
自行火炮设计过程中,设计人员需在掌握设计对象特点的基础上,按照一定设计步骤,结合已有设计资料、设计经验和过往设计实例,反复开展各类分析计算,调整各种设计参数,确定自行火炮总体或某个部件的设计方案。本文将自行火炮设计过程中涉及的知识分为两类:一类是逻辑性设计知识,另一类是形象性设计知识,二者间存在较强的耦合关系。图1为以复进机为例的自行火炮设计知识片段。
图1 自行火炮设计知识片段Fig.1 Part of design knowledge of self-propelled artillery
本文定义的自行火炮逻辑性设计知识是指能用文字直接表达的,描述自行火炮设计领域内概念、设计流程等逻辑性问题的知识。主要包括:自行火炮领域内固有的概念及其特征,自行火炮总体及各部件在不同设计阶段的设计流程,各设计流程中对应的设计步骤,各设计步骤中的分析计算过程,各设计步骤涉及的设计参数、设计参数的约束及选取经验。
自行火炮形象性设计知识是指自行火炮领域内各类可被“物质化”[9]的,却难以用文字直接进行描述的知识,主要包括以下3类:1)自行火炮设计案例;2)自行火炮设计资源,如图片、视频、文档等;
3)分析计算过程,如内外弹道计算、发射稳定性分析、高低温压力曲线计算等。
1.2 知识表示需求
针对自行火炮设计知识的特点,其表示需求包括以下两个部分:
1)建立全面有效的设计知识逻辑描述结构,准确描述自行火炮逻辑性设计知识,以便实现逻辑性设计知识与形象性设计知识的解耦。
经过长期理论研究和设计实践,自行火炮领域内已存在一套相对固定的核心概念体系和一系列成熟的设计流程。但是,自行火炮概念体系结构复杂,设计流程多样,二者间逻辑关系复杂。为此,本文提出将本体思想引入自行火炮设计知识表示中,围绕自行火炮设计过程开展本体构建,以准确表示逻辑性设计知识,便于自行火炮形象性知识与逻辑性知识间映射关系的建立。
2)确定自行火炮形象性设计知识的表示技术,有效表示各类形象性设计知识,便于设计人员进行知识的重用,为设计人员提供知识支撑。
自行火炮形象性设计知识难以直接利用本体进行表示,需针对不同类型的形象性知识采用不同的表示方法进行表示,自行火炮设计案例及自行火炮设计资源进行知识表示的方法已在文献[7]中阐述,本文着重研究自行火炮形象性设计知识中各类分析计算程序的表示。
不同于设计案例和设计资源,自行火炮设计过程中的大量分析计算过程需设计人员利用不同专用软件(如Pro/E、ADAMS、Abaqus和Isight等)或程序开发语言(如C++、C和VB等)建立针对性的分析计算模型,通过运行分析计算模型得到所需结果。针对分析计算模型的建立和运行过程本身,及过程中隐含的大量设计知识,如有限元分析中网格大小的选择经验、三维造型的造型技巧等问题,目前尚无有效的表示方法,无法与自行火炮逻辑性设计知识进行解耦;同时,分析计算模型的重用需要使用者掌握专用软件或程序开发语言的使用方法,理解原有开发人员的意图,确定分析模型或程序的执行策略,对使用者要求较高,导致其难以直接重用。
为此,本文提出将过往分析计算过程中产生的分析计算模型封装成为便于设计人员重用的知识组件,并建立知识组件与设计本体之间的映射关系,以实现分析计算过程知识的有效表示,便于设计人员在设计过程中进行重用。
本文采用的知识表示体系如图2所示,分为本体层、知识单元层和映射层。
本体层通过构建自行火炮设计本体,对自行火炮逻辑性设计知识进行表示,是整个知识表示体系的基础;知识单元层存储具体的自行火炮形象性设计知识,包括自行火炮设计案例库、设计资源库及自行火炮设计组件库等;映射层是本体层和知识单元层间建立的映射关系,用以描述本体和知识单元间的耦合关系。
图2 自行火炮设计知识表示体系Fig.2 Representation framework of design knowledge of self-propelled artillery
自行火炮设计本体是自行火炮逻辑性设计知识的概念化描述,本文将自行火炮设计本体形式化定义为:A=(O,P,DPA).
O为自行火炮设计对象本体,是对自行火炮领域内固有的各种设计对象及对象间关系的一种详尽的特征化描述[10],其形式化定义为:O=(OC,OPO,DPO,CN).其中:OC=(OC1,OC2,…,OCn),为描述自行火炮领域内核心概念的设计对象类的集合,如“自行火炮、反后坐装置、复进机”等;OPO为描述任意OCi间联系的对象属性的集合,包括“组成、包含”等;DPO为描述OCi自身特征的数据属性的集合;CN为概念实例声明的集合,,为OCi的第j个实例。
P为自行火炮设计过程本体,是对自行火炮设计过程中抽象出的概念及概念间关系的一种详尽的特征化描述,其形式化定义为:P=(DF,DT,DP,OPP,DPP).其中:DF=(DF1,DF2,…,DFn),为设计流程类的集合,如“平衡机方案设计”;,为设计步骤类的集合,DT1=,是DF1中第i个设计步骤,如平衡机方案设计中的“不平衡力矩计算”;DP为设计参数类的集合;OPP为描述DFi间、DTi间及DFi与DTi间联系的对象属性的集合,包括“先于、后于”等;DPP为描述DF、DT、DP自身特征的数据属性的集合。
DPA为描述DFi与OCi间联系的对象属性的集合,自行火炮设计过程中的不同设计流程是针对不同设计对象开展的,通过在DFi与其对应的OCi间利用对象属性“hasFlow(具有设计流程)”建立联系,实现设计过程本体与设计对象本体间关联的建立。
3.1 自行火炮知识组件定义
过往自行火炮设计过程积累了大量的分析计算模型,包括有限元分析计算模型、动力学分析计算模型、三维模型和集中参数模型等多种类型。经分析,各类分析计算模型重用时,均需确定其对应的设计步骤,明确输入参数的名称、用途及约束,调用专用软件,开展分析计算模型的运算,以得到输出结果。针对这一特征,本文提出采用自行火炮知识组件实现自行火炮分析计算过程知识的表示,自行火炮设计知识组件是针对自行火炮设计步骤中某个分析计算过程,将其对应的分析计算模型的基本信息、参数信息、执行策略、程序接口、核心计算程序及结果输出等封装成一体,形成具有统一交互界面的可执行文件。
自行火炮设计知识组件的运行方式如图3所示,设计人员通过交互界面修改输入参数,进而修改输入文件模板,从而为知识组件加载输入文件;在此基础上,知识组件自动调用其核心进程,即各分析计算程序的执行程序,如Pro/E、Matlab、ADAMS等,执行分析计算程序,得到计算结果;最后知识组件根据模型计算结果修改输出结果模板供设计人员查看。重用过程中,交互界面主要用于提示参数约束、修改输入参数及查看计算结果,知识组件运行的支撑及监控条件由知识组件运行环境提供。
图3 知识组件的运行方式Fig.3 Operation mode of knowledge components
3.2 知识组件的封装策略
为实现不同类型知识组件的封装,本文定义了一套基于EASA的自行火炮知识组件的封装策略,EASA是一款由美国AEA Technology公司开发的封装软件,能提供快速的交互界面建模方式,知识组件的封装环境和运行环境,可减轻封装过程中的工作量。具体如下:
1)分析分析计算模型的建立过程、输入参数及输出结果,确定分析计算模型对应的设计步骤及模型文件;
2)提取输入参数建立输入文件模板,定义输出文件模板;
3)建立执行文件自动运行所需的控制文件,实现核心进程的自动化;
4)通过EASA的EASAP Builder工具,管理、上传并编辑知识组件封装所需文件,包括输入文件模板、输出文件模板、执行文件及控制文件等,依次定义交互界面、EASAP执行核心进程的方式及结果输出样式,形成EASAP文件;
5)测试EASAP文件的性能,发布形成知识组件。
经过EASA封装的自行火炮设计知识组件为独立的EASAP文件,每个EASAP文件均具有唯一的URL地址,将所有EASAP文件存储于EASA服务器中,即可形成自行火炮设计知识组件库。
3.3 知识组件与设计本体的映射
自行火炮设计知识组件库中的不同组件与自行火炮设计步骤中不同分析计算过程存在对应关系,若未得到有效组织,难以保证设计过程中知识组件的正确重用。因此在封装知识组件的基础上,需进一步建立知识组件与自行火炮设计本体之间的映射关系,利用现有逻辑结构描述知识组件与设计过程间的关系。映射关系的建立方法如下:
1)赋予每个自行火炮设计知识组件唯一编号,并建立知识组件映射表,将知识组件的唯一编号、名称、URL地址、用途及类型等多种信息存储于知识组件映射表中;
2)确定各知识组件与自行火炮设计步骤间的对应关系,在自行火炮设计本体中对应的类DTi下添加“hasEasap”这一数据属性,并用知识组件的唯一编号进行赋值。
图4为部分自行火炮设计知识组件与对应自行火炮设计本体之间映射关系的展示。
图4 知识组件与本体间的映射关系Fig.4 Mapping relationships among design ontology and knowledge components
通过将各类分析计算程序封装成知识组件,并建立各知识组件与设计本体的映射关系,形成自行火炮设计知识组件库,可使各分析计算程序得到有效组织与表示。设计过程中,知识组件的重用可根据设计计算需求检索自行火炮设计本体得到相应设计步骤类,并基于设计本体与知识组件的映射关系,得到对应知识组件的URL地址。通过浏览器进入EASA服务器上建立的EASA环境,调用URL地址对应的EASAP文件,待设计人员根据交互界面修改输入参数,即可由EASA服务器调用后台计算服务器中的专用程序,开展分析计算,得到计算结果后,由EASA服务器提取并转化后显示与交互界面上。
本文以中大口径压制自行火炮为例,开展了本体构建及知识组件的开发,对本文描述的基于本体和知识组件的知识表示方法进行了验证,同时,本文基于该知识表示方法开发了专用知识检索系统,实现了设计知识的重用。
4.1 自行火炮设计本体构建
OWL是由W3C规范的一种本体描述语言,在其语法和语义中都融合了描述逻辑的构建思想,具有良好定义的语义,适合用来表示概念和概念之间的关系[11],本文选用其作为本体的建模语言,利用美国斯坦福大学的Protégé建模工具实现本体的构建,按照自行火炮设计本体的定义,开展了自行火炮设计本体的建模,构建完成的自行火炮设计本体存储于OWL文档中。本文构建的自行火炮设计本体包括800余个类,2 000余条属性,200余个实例声明,涵盖了自行火炮设计过程中所要使用的概念,设计流程及设计经验等。表1为自行火炮设计本体建模过程中涉及的主要属性。
表1 自行火炮设计本体建模过程中的主要属性Tab.1 Major properties of design ontology modeling for self-propelled artillery
4.2 知识组件构建实例
不平衡力矩是平衡机设计过程中需要反复计算的参数,不平衡力矩的计算可通过Matlab编写成可执行程序,输入参数包括起落部分质量、最小射角、最大射角、结构参数、初容、初压等,输出结果为不同射角情况下的不平衡力矩。本文以不平衡力矩计算程序这一分析计算程序为例说明知识组件的封装及运行过程。
按照本文描述的知识组件封装策略,首先,修改既有程序文件,提取输入参数和输出参数,形成输入文件模板和输出结果模板;然后,新建不平衡力矩计算程序自动运行时所需的控制文件,内容如下:"* matlab.exe"-nosplash-nodesktop-minimize-r"bupinghengliju",其中“*”表示“matlab.exe”文件所在路径;最后通过EASA的EASAP Builder工具,上传不平衡力矩计算程序所需的各类文件(具体如表2所示),定义交互界面、EASAP执行核心进程的方式及结果输出样式,完成不平衡力矩计算程序的封装,通过测试后形成不平衡力矩计算的知识组件,图5为经过封装的知识组件交互界面,图6为知识组件显示的计算结果。
表2 不平衡力矩计算程序所需的各类文件Tab.2 Files used in program for imbalance moment calculation
图5 知识组件交互界面Fig.5 Interactive interface of knowledge components
图6 计算结果显示Fig.6 Visualization of calculated results
目前,本文已实现有限元分析计算、动力学分析计算、三维模型建模和集中参数模型计算4类分析计算程序的知识组件的构建,共构建了50余个自行火炮设计知识组件。
4.3 知识重用
基于本文提出的自行火炮设计知识表示方法,在专用知识检索系统的辅助下,可实现自行火炮设计知识的快速重用,具体过程如下:
知识检索系统启动时,系统首先利用SPARQL(一种RDF查询语言)获取本体中的类,构建出由类组成的索引目录;对设计人员检索问题进行自然语言处理,利用编辑距离算法计算检索问题与索引目录的相似度,得到与检索问题相关的类;最后根据本体中已有的映射关系获得知识库中对应知识单元,并对检索结果进行可视化展示,设计人员可直接查看设计资源,亦可直接运行知识组件实现分析计算程序的重用。
图7为知识检索系统的运行界面,其中检索词为“发射系统”,图中区域1为类的索引目录,区域2为检索问题输入框,区域3为检索得到的资源及知识组件,通过点击名称可直接查看资源或使用知识组件,区域4利用图形展示与“发射系统”相关的类和实例以及它们与“发射系统”之间的关系,通过点击区域4中显示类或实例的选项卡,可在区域5查看其属性及属性值。
本文通过分析自行火炮设计知识的表示需求,提出了一种基于本体和知识组件的知识表示方法。通过分析自行火炮设计知识的特征,提出了自行火炮设计本体的定义及组织方式,明确了自行火炮设计知识组件的定义和开发策略,确定了自行火炮设计知识组与设计本体间映射关系的构建策略。在此基础上,以中大口径压制自行火炮为例,开展了设计本体建模和知识组件的开发,建立了二者之间的映射关系,完成了设计知识的表示,使各类设计知识均得到了有效组织和表示。最后,基于本文提出的自行火炮设计知识表示方法,在专用知识检索系统的辅助下,实现了自行火炮设计知识的重用,验证了本文提出的知识表示方法的有效性。
图7 知识检索系统运行界面图Fig.7 Operation interface of knowledge retrieval system
(
)
[1] 张相炎,郑建国,杨军荣.火炮设计理论[M].北京:北京理工大学出版社,2005. ZHANG Xiang-yan,ZHENG Jian-guo,YANG Jun-rong.The theory of gun design[M].Beijing:Beijing Institute of Technology Press,2005.(in Chinese)
[2] 赵萌,温波,王在森,等.一种火炮身管的模板化设计方法[J].火炮发射与控制学报,2013,34(2):46-50. ZHAO Meng,WEN Bo,WANG Zai-sen,et al.A kind of template design method of gun barrel[J].Journal of Gun Launch& Control,2013,34(2):46-50.(in Chinese)
[3] 张莉芳,王京鸣,张月林.专家系统技术在地面火炮总体方案设计中的应用初探[J].兵工自动化,1998,17(2):10-17. ZHANG Li-fang,WANG Jing-ming,ZHANG Yue-lin.Application study on expert system technology in ground artillery overall design[J].Ordnance Industry Automation 1998,17(2):10-17.(in Chinese)
[4] 何勇.火炮装药设计专家系统的设计与实现[J].兵工学报,2000,21(2):171-173. HE Yong.Design and implementation of an expert system for gun charge design[J].Acta Armamentarii,2000,21(2):171-173.(in Chinese)
[5] 高博,阎艳,丁洪生,等.基于知识组件的夹具元件快速设计研究[J].北京理工大学学报,2013,33(10):1021-1026. GAO Bo,YAN Yan,DING Hong-sheng,et al.Research on rapid design of fixture parts based on knowledge components[J].Transactions of Beijing Institute of Technology,2013,33(10): 1021-1026.(in Chinese)
[6] 郝佳,杨海成,阎艳,等.面向产品设计任务的可配置知识组件技术[J].计算机集成制造系统,2012,18(4):705-712. HAO Jia,YANG Hai-cheng,YAN Yan,et al.Configurable knowledge component technology oriented to product design tasks[J].Computer Integrated Manufacturing Systems,2012,18(4): 705-712.(in Chinese)
[7] YANG Liu,QIAN Lin-fang,DING Sheng-chun,et al.Ontologybased design knowledge representation for complex product[C]∥Proceedings of the 8th International Conference on Intelligent Systems and Knowledge Engineering.Shenzhen,China:Shenzhen U-niversity,2013.
[8] Attene M,Robbiano F,Spagnuolo M,et al.Characterization of 3D shape parts for semantic annotation[J].Computer-Aided Design,2009,41(10):756-763.
[9] 施荣明,赵敏,孙聪.知识工程与创新[M].北京:航空工业出版社,2009. SHI Rong-ming,ZHAO Min,SUN Cong.Knowledge engineering and innovation[M].Beijing:Aviation Industry Press,2009.(in Chinese)
[10] 郑军红,何利力,叶修梓.基于本体的夹具设计知识表达[J].计算机研究与发展,2010,47(7):1276-1285. ZHENG Jun-hong,HE Li-li,YE Xiu-zi.Ontology-based knowledge representation for computer-aided fixture design[J].Journal of Computer Research and Development,2010,47(7): 1276-1285(in Chinese)
[11] Rezayat M.Knowledge-based product development using XML and KCs[J].Computer-Aided Design,2000,32(2):299-309.
Design Knowledge Representation Technique for Self-propelled Artillery Based on Ontology and Knowledge Components
YANG Liu1,QIAN Lin-fang1,DING Sheng-chun2,XU Ya-dong1
(1.School of Mechanical Engineering,Nanjing University of Science and Technology,Nanjing 210094,Jiangsu,China;2.School of Economics&Management,Nanjing University of Science and Technology,Nanjing 210094,Jiangsu,China)
For the problem of that the various design knowledges of self-propelled artillery have not been organized and represented effectively and the existing design knowledge cannot be reused simply during the design process,a knowledge representation method is proposed based on ontology and knowledge components.The organization mode for design ontology of self-propelled artillery and the developing strategy for knowledge components are studied on the base of analyzing the representation requirement of design knowledge of self-propelled artillery,and the mapping relationships among design ontology and knowledge components are established.The representation of design knowledge of self-propelled artillery is achieved.On this basis,a special knowledge retrieval system is developed for designers to quickly reuse the existing design knowledge.The representation and reuse of design knowledge are implemented by taking large-caliber self-propelled artillery for example.The result shows that the proposed method is feasible and valid.
ordnance science and technology;self-propelled artillery;knowledge representation;ontology;knowledge component
TJ3
A
1000-1093(2015)07-1160-07
10.3969/j.issn.1000-1093.2015.07.002
2014-08-10
国防基础科研计划项目(A2620130003)
羊柳(1989—),男,博士研究生。E-mail:ylnjust@126.com;钱林方(1961—),男,教授,博士生导师。E-mail:lfqian@vip.163.com