IETM通用数据源管理平台的设计实现

2015-08-01 10:08林伟贤
航空标准化与质量 2015年6期
关键词:校验文档界面

林伟贤

(中航工业综合技术研究所,北京 100028)

IETM通用数据源管理平台的设计实现

林伟贤

(中航工业综合技术研究所,北京 100028)

[摘要]提出并设计实现了一个具有自主知识产权的基于S1000D标准的IETM通用数据源管理平台,实现IETM从内容收集、创作、管理到发布全流程的功能。

[关键词]S1000D;交互式电子技术手册;数据模块;数据模块列表;共享内容对象参考模型内容包

随着高新技术的发展和装备复杂程度的日益提高,构建基于信息化手段的精细化综合保障能力,已成为装备综合保障技术的发展方向,成为构建装备保障力的重要内容。技术资料是综合保障的关键因素之一,是维修保障的基础。

S1000D标准[1]是一个采用通用资源数据库来创建技术文档的国际标准,可以用它对任何军用或民用的陆、海、空交通工具和设备制作技术文档。目前,S1000D标准在美国及北约的军事及民用领域有着广泛的应用。

基于S1000D标准的交互式电子技术手册(Interactive Electronic Technical Manual,IETM)[2]是装备技术数据的新型载体,也是装备技术数据的主要表现形式,利用信息化手段对技术资料进行存储、管理,研制形成IETM,并在智能诊断、在线训练等方面加以应用,是综合保障信息化的重要内容。

1 研究现状与分析

IETM是结构化的、交互化的、智能化的装备技术数据的载体,也是一种新型的、重要的数字化保障装备。IETM具有纸质技术手册无可比拟的优点,据美国国防部的统计,可以使技术资料生产效率提高70%、失误率减少50%、查询时间节省50%、制作费用减少70%、重量只有原来的1/148、体积只有原来的1/53[3],应用IETM技术可大大提高装备的保障水平、增强装备作战能力、节省保障费用,是实现装备保障过程技术信息互操作的必备条件,也是“技术信息数字化、信息交换标准化、信息传输网络化”这一装备保障新理念的充分体现,对我军当前和未来的装备保障信息化建设具有重要意义。

世界各国均对IETM技术的应用予以高度重视,通过IETM标准的制定和实施,在装备研制、装备保障中获取了巨大的军事效益和经济效益,例如美军在其主战武器包括 F22、F35、RQ4“全球鹰”无人机等的研制和使用中均应用了IETM技术。

近年来,IETM的应用在我国取得了较快的发展,但推广应用仍存在几个突出的问题:一是采用国外的IETM创作平台需要长期依赖国外软件开发商的技术支持和维护,不利于保密。二是未能更好地体现装备需求可定制性和扩展性。三是信息共享与标准支持差。IETM作为一项支撑装备保障信息化建设的关键技术,出于标准贯彻实施的需要、装备自主发展的需要以及综合保障工作一体化的需要,不论是从经济和军事信息安全的角度,还是从信息共享的角度考虑,都迫切需要开发具有自主知识产权的IETM创作平台,为IETM技术在军队的推广应用奠定基础。

2 系统需求

IETM通用数据源管理平台的系统需求如下:

● 中文化要求,操作界面和底层数据标签应以中文形式表示;

● 可视化要求,平台应最大限度实现可视化编辑、管理和发布等功能;

● 自动化要求,业务规则检查和数据结构验证应实现自动化;

● 互操作要求,平台可与训练管理系统、维修保障信息系统、保障性分析系统之间进行无缝数据交互,不需要转换数据格式;

● 安全性要求,平台应具备多维安全防护,实现安装控制、访问控制、内容加密等;

● 人性化要求,操作界面应友好,功能模块设计人性化,操作流程简洁清晰;

● 兼容性要求,兼容S1000D 2.3、3.0、4.0;

● 通用性要求,平台要适用于制作我军陆、海、空、二炮各类装备的IETM,所制作的IETM应能满足辅助维修、辅助训练与辅助用户技术资料管理的使用功能和各项技术要求。

3 系统设计与实现

3.1 设计原则

3.1.1 多标准支持

创作平台必须基于S1000D相关标准的要求进行开发,S1000D标准经过多次修订,存在2.3、3.0、4.0版本,创作平台需要兼容这些标准。

3.1.2 丰富的接口

创作平台的建设需要考虑内部各功能模块间的接口、与其他业务系统的接口、与第三方软件的接口,方便平台进行功能整合和数据集成。

3.1.3 先进性原则

创作平台必须采用成熟、具有国内先进水平,并符合国际发展趋势的技术、软件产品,以保证系统具有较长的生命力和扩展能力。

3.1.4 成熟性原则

在开发工具的选型阶段,应该尽量基于成熟的产品和规范,选择已经成为标准的、被大量实践所采用的技术,选用具有成熟性、可持续发展性的开发工具。系统要采用国际主流、成熟的体系架构来构建。

3.1.5 易组装性原则

系统功能模块化、组件化方式,能够扩展叠加,允许替换,实现业务组件及项目资源的重用。

3.1.6 通用性原则

系统能实现多个项目的技术共享及资源重用,并进行平台化扩展。

3.1.7 可扩展性原则

创作平台的设计要考虑到业务未来发展的需要,尽可能设计得简明,降低各功能模块耦合度,并充分考虑兼容性。充分考虑系统在纵向和横向上的可扩展性。

3.2 体系架构

通用数据源管理平台的体系架构如图1。

图1 平台体系架构

平台分为视图层、视图模型层和数据层共3层,采用MVVM(Model-View-View Model)模式。层与层之间的依赖是自顶向下的,上层调用下层可以通过绑定或调用下层提供的方法、属性来实现,当下层要主动通知上层时则通过接口实现。

3.2.1 视图层(View Layer)

界面层主要负责展现数据和接收用户输入,采用微软推出的新一代图形系统框架WPF(Windows Presentation Foundation)进行开发。界面层由主界面框架、界面基础组件和各业务界面组件构成。主界面框架是系统的“外壳”,主要负责为显示业务功能界面和编辑窗口提供统一的方法;界面基础组件为业务界面组件提供公用的自定义控件、模板和样式;业务界面组件是最终呈现给用户的数据管理界面和数据编辑窗口,是界面层的主要组成部分。

3.2.2 视图模型层(View Model Layer)

视图模型层处于界面层和模型层中间,起到了视图和模型数据交互中承上启下的作用,主要作用是响应来自界面层的请求,根据业务逻辑校验和处理用户输入的数据,向模型层发送读/写数据的请求。当视图模型层修改了数据后,通过INotifyPropertyChanged接口通知界面层刷新数据;当校验到用户输入错误数据时,通过IDataErrorInfo接口通知界面层做出相应的提示。

3.2.3 数据模型层(Data Model Layer)

模型层主要由业务实体类型和一些基础服务构成,业务实体模型用于封装与应用程序的业务逻辑相关的数据和对数据的处理方法,模型层对数据层有直接访问的权力,如对数据库的访问。模型层不依赖视图、视图模型层,因此模型层不关心它是如何被显示和如何被操作的,它只关心模型的内部数据和数据层数据。

3.2.4 数据访问层(Data Access Layer)

数据访问层的作用是提供统一的数据访问接口,负责数据库和文件的访问以及对象实体的持久化。

数据访问层由数据访问接口、日志服务、其它基础服务和业务实体构成。数据访问接口为逻辑层提供LINQ To Entity数据访问方法;日志服务为逻辑层的日志服务组件提供统一的读/写用户操作日志和系统错误日志的方法;业务实体与数据库中的表一一对应,为逻辑层提供对象实体集和对象实体的持久化。

数据访问层使用ADO.NET 实体框架。

4 关键技术与实现

4.1 MVVM模式

基于WPF强大的数据绑定(Data Banding)、依赖属性(Dependency Property)、路由事件(Routed Event)、命令(Command)、数据模板(DataTemplate)、控件模板(ControlTemplate)等机制,可以容易的实现MVVM模式,将界面层(view)与模型层(Model)进行分离,架构如图2。

Model是纯粹的业务对象,通过实体框架实现。对象包含了业务属性,属性校验方法,数据持久化等职责。实现INotifyPropertyChanged、IDataErrorInfo接口。

图2 MVVM模式

View基本没有代码,所有的效果通过绑定、DataTemplate、Style、Resource等来实现。Converter 是View相关的职责,通过单独类型独立实现。

ViewModel包含了界面状态的数据,例如SelectedUser、某个命令是否可用的判断逻辑等。ViewModel向View提供命令对象,ViewModel实现Command的执行方法。

ViewModel不封装Model的属性,直接公开Model本身。

View的DataContext设置为ViewModel。View和ViewModel的组装方法。

4.2 数据模块、数据模块列表、出版物模块、共享内容对象参考模型内容包管理

4.2.1 同步编辑

为了避免编写资料过程中出现冲突、发生覆盖的情况,除了管理规划外,平台给用户提供了内容编辑同步控制能力。

平台引入互斥锁的概念,任意时刻每个业务对象只有一个锁,获取了对象锁的过程称为签出,对象被签出后方能对其进行编辑修改;但对象被签出后,其他用户则无法再成功对其进行签出;用户通过签入或者撤销签出释放对象锁,对象锁被释放后,其他用户方能对该对象进行签出操作。

因此同一时间只允许一个用户对一个数据模块(DM)或数据模块列表(DML)、出版物模块(PM)、共享内容对象参考模型内容包(SCP)等进行编辑,要求用户在对其内容进行编辑前,必须首先进行签出操作。

在IETM软件中,设计一个同步控制服务,图3是同步服务的类图。

4.2.2 版本内容对比

DM、DML等业务对象允许存在多版本,在IETM软件中提供不同版本进行内容对比的能力,通过对比XML内容来实现。

图3 锁服务管理类图

可扩展标记语言(XML)内容对比算法主要有“Tree-To-Tree Conrrection Problem”,“Shasha’s快速算法”和“Chawathe’s 算法”,IETM软件所采用算法是在这几种算法的基础上,做了部分修改,主要包含差异提取和差异合并两部分:

4.2.2.1 差异提取

差异提取的目的是通过比较两份XML文档,获取两份XML的差异描述文件。差异描述文件采用XML差异描述语言表达,通过差异描述文档,对源文档执行差异合并操作,可以把源文档变换成目标文档。在差异比较提取过程有两个关键技术点,即差异提取过程和差异描述语言。

4.2.2.1.1 差异提取过程

XML文档的比较过程可以看成两棵逻辑树的比较过程,差异提取过程一般方法是:首先为XML文档树的每个节点进行哈希值(Hash)计算,如果两个节点的Hash不相同则这两个节点是不同节点,利用节点Hash值可以快速比较两个节点的分支是否相同;其次在两个文档中找出相同子树,并记录下相同子树位置;第三利用相同子树记录,生成差异操作,第四根据差异操作生成差异描述文件。

4.2.2.1.2 差异描述语言

图4描述的内容是:相对于原X M L文档,目标XML文档修改了节点21113属性Inwork的值,更改为“01”;还增加了节点

在IETM软件差异描述语言中,有4种XML节点操作:新增、删除、修改、移动,分别采用Add、Delete、Change、Move节点表示。在差异描述语言中有一个关键因素,即位置描述,如图4所示节点位置采用从根节点至目标节点在父亲节点的位置序号。

图4 XML差异描述文档

4.2.2.2 差异合并

利用差异描述文档和原XML文档,可以把文档还原成目标XML文档。在目标文档还原过程中,需要特别注意差异描述文档中的位置问题,后面的修改指令中位置会受到前面修改指令影响,随着修改指令的执行,后续修改位置也需要不断进行修正,这样才能保证插入到原文档中的位置是正确的。

4.2.3 Schema与业务规则校验

为了保证用户在编写的技术资料满足业务规划要求或S1000D标准要求, IETM软件实现了一个统一的校验模块——XML文档校验器,对外部提供统一的校验接口和校验输出结果。

业务规则的校验规则来自于DM所引用的业务规则DM,在规则逻辑上支持了标准编码体系(SNS)规则、数据规则、符号规则等规则的校验;SNS规则只约束SNS树的构建,不影响DM内容的校验。

Schema校验,包含内容结构、内容数据等信息的校验,在IETM软件中Schema的校验采用.net Framework框架中自带的校验器。该校验器需要获得DM所使用的Schema文档,IETM软件通过DM头中指定的DTD类型,确定DM的Schema类型。

图5是XML文档校验器的类图。

4.3 S1000D标准多版本支持

随着S1000D标准应用的推广,S1000D标准被多次修订,由此产生了多个版本,平台从设计之初就考虑了标准的多版本支持。

图5 XML文档校验器的类图

S1000D系列版本中,2.3版与3.0版中适用性管理差别最大,而3.0版和4.0版最大的不同在于技术资料内容元素的名称,3.0版元素使用缩写,4.0版不使用缩写方法定义元素。

为了满足S1000D多版本的要求,在技术资料的管理模块中,抽取出多个版本中相同的特性,对于存在差异的特性通过工厂方法,创建特定版本的处理工厂,分出2.3版、3.0版、4.0版等不同的处理方法,以实现对多版本标准的支持。 具体如下:

● 创建特定业务对象处理器接口,提供本业务对象专有的方法;

● 创建版本抽象处理工厂公共接口IResolverFactory,提供创建特定业务对象处理器的方法;

● 建立2.3、3.0、4.0版本的处理工厂Resolver Factory23、ResolverFactory30、ResolverFactory40,并实现抽象工厂接口IResolverFactory;

● 打开项目时根据项目版本实例化对应的标准处理工厂,并将实例加入ProjectContext的服务容器类ServiceContainer,在具体业务方法实现时再从服务容器获取具体的标准处理工厂进行操作。

IETM软件中为了解决S1000D多版本问题的设计如图6。

图6 S1000D多版本解决方案

5 结束语

本文设计并实现的基于S1000D标准的IETM通用数据源管理平台,适用于陆军、海军、空军、二炮等各类装备的IETM制作,实现了数据模块、出版物模块的创作、审核、发布、浏览及数据源共享。通过本平台制作的IETM可用于装备技术数据管理、辅助维修和辅助训练等,目前已经在国内近两百家单位上线试用。

本平台的意义及作用在于:

● 具有完全自主的知识产权;

● 完全符合S1000D 标准;

● 提高了IETM的创作效率;

● 有利于实现装备信息资源共享;

● 实现了装备保障技术资料的电子化、交互化;

● 具备良好的扩展性。

[参考文献]

[1] ASD/AIA/ATA S1000D International Specification for Technical Publications Utilizing a Common Source Database[S].

[2] MIL-HDBK-511 Interactive Electronic Technical Manual(IETM)Guide[S].

[3] 杜晓明,甘茂治. 装备保障信息化中的交互式电子技术手册(IETM)研究[J] .装备维修保障动态,2003(23):1-7.

(编辑:劳边)

[收修订稿日期] 2015-09-23

[中图分类号]TP391

[文献标识码]C

[文章编号]1003–6660(2015)06–0046–05

[DOI编码]10.13237/j.cnki.asq.2015.06.011

猜你喜欢
校验文档界面
浅谈Matlab与Word文档的应用接口
使用Excel朗读功能校验工作表中的数据
有人一声不吭向你扔了个文档
微重力下两相控温型储液器内气液界面仿真分析
国企党委前置研究的“四个界面”
一种可用于潮湿界面碳纤维加固配套用底胶的研究
扁平化设计在手机界面中的发展趋势
智能电能表的现场快速校验方法探讨
电子式互感器校验方式研究
Word文档 高效分合有高招