王国辉,赵铁军
(陆军装甲兵学院 兵器工程系,北京 100072)
现阶段基层部队和保障分队中,技术资料主要以纸质资料和PDF文档为主,存在种类繁多、数量巨大、更新滞后等缺点,不利于官兵学习理解,使用性较差,造成装甲装备保障效率低、耗时长。交互式电子技术手册(Interactive Electronic Technical Manual, IETM)能有效解决这些问题,IETM把装备维修大纲、维修规程、构造及原理等资料电子化,以文字、图表、视频、动画、三维模型、VR等形式储存在数据库中,提供给官兵生动多样的资料,提高使用效率和装备保障信息化水平[1]。目前装甲装备IETM系统处于初步研究阶段,在设计方案和原则上缺乏统一的标准,在功能设置、数据模型建立、编程等关键技术上难以突破。笔者结合IETM发展趋势和应用情况,综合应用计算机技术解决了装甲装备IETM系统设计中存在的关键技术问题,完成了系统开发过程中主要领域的设计。
中国航空综合技术研究所结合了我国装备的特点,制定了GJB 6600系列标准,详细地规范了IETM的总则、数据模块编码、模式、数据字典等内容,然而相应的开发平台研究尚未成熟,在系统开发过程中存在一些问题。近年来世界各国都在发展自己的IETM,产生了许多不同的标准,但是只有欧洲的 S1000D标准和美国的IETM体系标准拥有相应的开发平台,因此这两种标准被大范围使用和推广。相比这两大标准,S1000D标准维护成员国多,版本更新快,美国、英国等十几个国家加入S1000D维护组,S1000D版本已经由1.0升级到4.2。使用CSDB建立规范化的数据结构,储存和管理所有数据,创造了集成数据环境,提高了信息重用性与共享性。S1000D标准不仅成为海陆空天装备IETM的使用标准,而且在民用大型机械设备领域也被广泛使用[2]。此外S1000D标准的内容全面具体,还使用了插图、案例分析等进行详细描述,可操作性高,更好地指导IETM的开发工作,因此笔者选取S1000D标准作为开发标准。按照S1000D标准开发IETM要经过信息生成、信息管理、信息发布、交付4个步骤。
1)安全性原则。系统采用CSDB储存装备所有的数据,其中有很多数据属于机密级,为了保证数据的安全,按照部队安全保密相关规定,要求数据有安全控制和备份机制,在数据传播过程要进行数据加密。
2)先进性原则。目前IETM技术正向第5代发展,装甲装备IETM要采用先进的技术,保证系统先进性,引入先进的建模软件、虚拟维修技术等,提高IETM的使用质量和效能。系统要有较好的可拓展性和版本升级空间,可随着装备改进更新数据和功能。
3)网络化原则。IETM网络化能接入装备信息化保障体系,通过卫星传输信息,与器材供应库、远程诊断系统等实现信息共享,提高系统间信息交互水平。
4)易用性原则。系统有配套的使用手册,辅助使用者学习理解,让每名官兵经过简短的学习就能操作系统。装甲装备IETM系统构造复杂,为了易于学习和使用,软件使用过程要具有引导性,注重知识之间的关系,做好知识铺垫,由表及里、由易到难地引导使用者学习,在重点部分给出提示讲解。
IETM有丰富的功能,不同的任务和使用人群需要的功能不同,需要功能的深度和范围也不同,因此要结合部队的任务进行功能分析。建立装甲装备IETM功能表,如表1所示,描述子系统的内容、功能,为收集创作资料和建立数据模块需求列表提供依据。
表1 装甲装备IETM功能
确定系统功能后,需要分析系统各个功能子系统之间如何设置、如何联系、如何运行,以合理高效地实现部队所需功能。UML通信图能描述系统内部的布局和各个子系统之间的关系,UML通信图按照空间结构布局,突出对象用什么链接进行信息交互。因此建立装甲装备IETM系统的UML通信图,分析对象之间的链接和数据的交互,官兵操作系统的原理。
装甲装备IETM通信图如图1所示,官兵打开IETM软件,选择角色类别、输入账号和密码登录,然后进入IETM主窗口,主窗口显示5个子系统的链接,官兵选择子系统,进入子系统窗口进行操作。当官兵输入一条信息时,该子系统向数据库服务器发送请求,在数据库中找到相应的数据,组成出版物显示在窗口供官兵浏览。
数据模块(Data Module,DM)由XML格式组织的装备数据组成,DM由状态标识部分和内容部分组成,内容部分用来表示装备技术信息的主体部分,包括文本、多媒体等技术资料,警告、引用等注解部分,维修计划等特定信息。标识与状态部分由数据模块标识、地址、合作责任方等组成。DM能最大程度实现数据重用、重构、共享,便于维护、节省储存空间,因此把装甲装备的构造原理、维修资料等技术资料制作成DM。
每一个DM有唯一的数据模块代码,数据模块代码是按照S1000D标准制作DM标准化、结构化的标识,数据模块代码作为DM的唯一标识,在分类、存储、管理、获取DM时使用,方便IETM模块化设计、创建与管理。数据模块代码由数字和字母组成,数字使用0~9,字母使用除“I”和“O”以外的其他字母。S1000D标准规定数据模块代码由硬件/系统标识部分、信息类型部分、学习类型部分组成。硬件/系统标识部分由型号识别码(MI)、系统区分码(SDC)、系统层次码(SNS)、分解码/分解差异码(DC/DCV)组成。硬件/系统标识部分描述装备类型和下属层次的部分,信息类型部分描述装备使用、维修等信息类别,学习类型描述学习、训练等信息类别,装甲装备编码根据S1000D标准进行。
对装甲装备技术资料分析过程中,会涉及到很多数据,要结合部队需求、使用范围、使用人群、任务,确定系统的用途、内容和深度,然后把装备信息进行分解,从而找出有效数据,并建立数据模块需求列表(DMRL)分析有效数据的内容、结构、类别。装甲装备IETM开发工作较为复杂,需要多个单位合作完成,DMRL应该一次制定,阶段性的汇总。根据S1000D标准把装甲装备IETM信息类别分为描述信息、故障信息等7类信息,把装备结构划分为装备、系统、子系统、部件和零件5层,并进一步划分为DM,通过数据模块代码对DM进行存储、寻址、处理[3]。
建立装甲装备IETM系统的DMRL如表2所示,表中包含每个层次的编码和属性。表中具体型号和厂家用“*”替代。
表2 装甲装备IETM数据模块需求列表
层次数据模型是以记录型为节点的有向树,每个节点表示一个记录型,每个记录型包含若干字段,记录型描述实体,实体是装备、零件、修理员等客观存在的事物,字段描述实体的属性,在树中根记录无双亲节点,从记录仅有一个双亲,记录之间的关系可以唯一的用双亲节点表示。用树形结构表示实体和实体之间的联系,层次数据模型的路径是按照双亲/子联系依次连接,由根记录到最后一个记录。层次数据模型能结构分明、层次清晰、路径明了地反映数据的结构和联系,便于数据库存储,使用效率高[4]。建立装甲装备层次数据模型如图2所示。层次数据模型的数据结构和XML程序的数据结构一致,都是树状结构,建立层次数据模型是XML编程的基础。
实体-联系数据模型(Entity Relationship Data Model, E-R数据模型)把现实中管理的实体转化成数据模型,E-R数据模型能转化成层次数据模型、网络模型、关系数据模型,是这3种模型相互转化的中介,建立E-R数据模型方便数据库逻辑模型设计。E-R数据模型可以用来描述多领域的组合属性,能分析装甲装备结构、组成、功能等[5],以层次化结构描述装备各部分的多重属性,E-R数据模型可以用E-R图表示,E-R图包括实体、属性、联系3个基本图素,以表2中的某型坦克为例建立E-R图,如图3所示。把该装备的各个部分有机结合起来,清晰地描述系统层次结构和实体属性,分析坦克组成和结构,是装备结构转化成数据模型的有效方法。
根据装备操作信息、维修信息、故障信息等建立E-R数据模型,研究数据之间的关系、DM内容部分的组成,以装甲装备IETM维修子系统为例建立E-R图,如图4所示,以层级递进的方式描述维修子系统的组成和数据间的关系,将系统内部各个信息单元连为一体,是建立子系统的有效方法。
关系数据模型用二维表描述实体与实体间的联系[6],表中的行表示元组,列表示属性,用来表示系统结构关系、信息之间的逻辑关系和基本属性[7]。装甲装备IETM系统可以划分为装备信息数据表、系统信息数据表、技术说明数据表、维修资料数据表等,每个表描述元组的基本属性,不同的表之间存在关联,每个表只有唯一一个主键,用于标识表中一条记录。
装备信息数据如表3所示,表中具体型号和厂家用“*”替代。把MI作为主键,表中反映实体之间的联系,数据表结构清晰易懂、数据量大,能有效整合各项实体信息并建立关联。
表3 装备信息数据表
对表3中装备MI为Z1的坦克细化分析,建立该型坦克的系统信息数据表,如表4所示,确定系统编码,并描述基本属性,关系数据模型之间通过定义相同的属性名或者第3个关系组合到一起构成关系数据库,建立装甲装备信息的关系数据模型是建立数据库的基础。
表4 系统信息数据表
在建立关系数据库时,需要把E-R数据模型转化为关系数据模型,转化时把E-R数据模型中实体的主键转化为关系数据模型中关系的主键,属性转化为关系的属性。以图3中实体坦克炮为例转化为关系数据模型如表5所示,E-R数据模型转化为关系数据模型可以用于建立数据库。
表5 某型坦克炮数据模型转化表
为增强数据共享性和通用性,在数据储存、传递、处理和发布等过程,采用XML作为描述数据语言。XML具有继承性好、开发效率高、代码易维护、易于理解、容易使用等优点,用XML编写数据然后把数据存储在数据库中[8]。XML文档的数据结构是树状结构的层次模型,以记录型为基本数据结构,记录型包含若干描述属性的字段,记录型之间只能单线联系。装甲装备IETM系统的程序按照XML语法规则、内容表示、显示方式设计,内容由序言、主体、尾部组成,序言是文档的第1部分,主体是储存数据的部分,尾部结束标记。例如“武器系统信息”的XML文档数据结构如下:
<?xml version ="2.0"encoding="UTF-8"standalone="no"?>
保存XML文档片段的内容是实体,每一个实体都有一个名字,文档中用名字代替实体的内容,XML分析应用程序时用内容代替实体名。以表3装备数据表为例定义实体如下:
<?xml version ="2.0"encoding="UTF-8"standalone="no"?>
]>
XML Schema是描述XML文档的标准,通常简写为XSD(XML Schema Define),S1000D 4.0版规定使用XML Schema,XML Schema规定了XML的语言、文档结构、数据类型、组织方式,XSD为元素设置数据类型时,向元素的内容添加限定。每一个元素可以设置一个或者多个属性,用“=”标记符赋予属性值,一个元素也可以包含若干元素,当元素包含属性时就是复杂元素,定义方法有复杂结构法和分离结构法,复杂结构法在复杂元素的子元素设置复杂类型,分离结构是通过复杂元素引用定义在外部的复杂类型。通过使用XSD通用化,XML文档解析器不必编程即可验证XML文档的结构、合法性和有效性。XML文档以层次结构组织,以图2中层次数据模型中系统、子系统为例,用XML编写的程序如下:
<?xml version ="2.0"?>
<武器系统信息>
<坦克炮子系统>
坦克炮子系统>
<并列机枪子系统>
并列机枪子系统>
<高射机枪子系统>
高射机枪子系统>
武器系统信息>
程序中“武器系统信息”是根节点,包含3个子元素,子元素嵌套在根元素中,反映了XML的内容定义、层次结构、属性描述。
IETM将装备的所有数据存储在关系数据库中,按照S1000D标准用XML对数据编程,通过XML与关系数据库的映射关系,实现XML在关系数据库中的存储与调用。从关系数据库中调用的数据,要通过解析映射把数据反向转换为XML文档。
IETM系统能实现技术资料无纸化、数据共享与互操作,使资料查询和使用方便快捷,从而带来巨大的军事效益和经济效益。随着装备综合保障信息化建设的推进,IETM在空军装备领域被广泛使用,装甲装备IETM系统研发工作刚刚开始,在系统规划布局上存在较多难题。笔者根据装甲装备保障任务,对装甲装备IETM系统做了整体设计,设计IETM系统功能,采用多种技术建立数据模型,设计并编写程序,用XML对数据编程。文章的创新之处在于建立的多种数据模型能全面地反映装甲装备的属性、特点、逻辑结构、组成和联系等,而且能用S1000D标准规定的XML把数据模型写入程序。研究表明,该设计方案有效解决了系统设计中的关键技术问题,对装甲装备IETM系统开发具有参考价值。