设为首页 | 加入收藏 | 登录 | 注册 
  • 当前位置:首页 » 新闻中心 » 行业知识库
  • S1000D规范下IETM中数据模块的设计与实现

    发布日期:2014-12-11   信息来源:来自网络  浏览次数:
     

    交互式电子技术手册(Interactive Electronic Technical ManualIETM)是指将传统的纸张技术资料、手工资料转换为数字形式的数据模块存储在计算机中,再由适当的软件按照特定显示数据模块进行浏览的软件系统。使用IETM数据模块技术,使用者可利用超文本链接结构及全文检索等方式,快速方便地访问大量技术资料,同时由于可以在计算机上使用视频、音频、彩色图像等多媒体手段表现数据,极大地增强了信息的可理解性。同时引入欧洲目前比较成熟的S1000D规范用来指导交互式电子技术手册的创作和设计,对信息共享,提高设备维修率具有重要意义。

    1 S1000D规范简介

    ASD S1000D(以下简称S1000D)是欧洲航天和国防工业协会(ASD)发布的一个关于技术资料数字化的规范,包括技术资料数据的组织生成、格式要求、管理更新、发布程序等方面的内容。

    S1000D中采用通用资源数据库(Common Source Data BaseCSDB)来创建技术文档的国际规范,可以用它对任何军用或民用的海陆空交通工具和设备制作IETM。它采用了多项ISO国际规范和CALS以及W3C规范,支持规范广义标记语言(SGML)、可扩展标记语言(XML)和计算机图元文件(CGM)

    2 数据模块结构

    IETM系统的整个开发过程中主要是数据模块(DM)的开发过程,S1000D所使用的数据模块存储格式是SGMLXML,结合样式表转换技术(XSL),可以把数据输出为所需的HTMLDHTML或者PDF等格式。

    S1000D规范中提出了两个核心概念,用来保证IETM实例间的信息共享与交换,这两个核心概念是:数据模块与通用资源数据库,只有实现了这两个核心概念才能称得上实现了S1000D规范。数据模块是S1000D中的核心,是一个自我包含、包含装备一部分完整信息的数据单元。它是由两部分结构构成,标识状态段(Identification and Status SectionIDSTATUS)包含了数据模块的元数据信息,这部分内容并不显示,对用户是透明的。内容段(content sectionCONTENT)包含了要显示给用户的文本信息,是文档内容的主体。在S1000D标准中使用SGML或者XML描述数据模块。IETM开发过程中以数据模块来组织信息,以CSDB来管理信息对象的。不同类型的数据模块有不同的内容段,但拥有相同结构的标志段。数据模块的结构如图1所示。

    2.1 CGM文件结构

    CGMS1000D推荐使用的图形格式,S1000D CGM规范是根据W3C推荐的层叠规范,是被ISO/IEC 8632:1999规定的ISO模型规范。S1000D CGM文件是由一个或者多个图片组成,且按一定的结构组成,包括描述、控制、图元、属性等。其结构如图2所示。

    2.2 IETM系统

    IETM系统主要包括两个子系统,即编著系统和阅读系统。编著系统实现外部数据的确定、分解、存储、更新等操作,面向创作和设计人员。它封装了S1000D针对数据对象的规则及要求,用户可以在图形化界面下,完成CSDB对象的生成、出版物的更改定义等操作,并能对XML对象文件及时更改,实现了技术细节的无关性。阅读系统主要用是用户对IETM信息的交互访问,实现对相关数据模块的查询,并将查询到的XML文档根据相应的XSLT转换成浏览器可接受的格式,并提交给终端用户。

    2.3数据模块功能

    根据数据模块的结构,交互的数据模块主要实现功能:方便用户的检索和使用;适合各种数据库系统,便于存储、管理;能够被赋予变量来增强使用性。

    3 IETM系统数据模块设计与实现

    系统的整个开发过程是实现数据处理器,外部数据,以及用户的应用之间的交互。数据处理器通过解释外部的CGM图像文件,分析外部XML文本数据,包括S1000D特定的元数据,把解释分析的结果导入内存文档对象模型(DOM)树中。通过内存的存储,外部应用程序就有机会通过ECMAScript绑定传统的类型和行为属性并导入DOM中。数据处理器把DOM放到内存CGM文件中,并把图像发到相应的用户界面,这样用户就可以通过可视化的界面对对象类型和行为进行操作。本节就公司某型装备的实现来说明IETMCGM图片的开发过程。IETM的图片开发主要包括数据模块采集,数据模块编写,数据模块转换,数据模块出版等过程。数据模块(DM)的设计流程图如图3所示。

    3.1 数据模块描述

    每个数据模块包含两部分结构,标志状态段和内容段。系统中通过数据分解生成的DM以离散的XML文档存在,并在数据库中存储和管理。而数据库中的DM是通过规范结构的惟一性数据模块代码来表示和访问的。本系统采用安全性好的Oracle进行数据存储和管理。数据模块中CGM图描述部分代码如下:

        <figure id="fig-0001">

          <title>设备标题</title>

          <graphic xlink:type="simple"

           xlink:href="URN:S1000D:ICN-S1000DXXX-AAA-

    D000000-0-U8025-00536-A-04-1"

            xlink:title="设备标题"//链接图片的地址

           boardno="ICN-S1000DXXX-AAA-D000000-0-U8025-

    00536-A-04-1">//获取图片ID

         <hotspot id="fig-0001-gra-0001-hot-0000"//热点标签的ID

          apsid="hot000"apsname="0"type="CALLOUT"title="

    设备标题"descript="设备描述"/>

             //CGM图中热点ID和名称

         

          </graphic>

        </figure>

    3.2数据模块的编辑

    数字化的技术资料要按CGM类型,依据S1000D确定的SCHEMA机制将图片分解成分散的数据模块DM,并将数据模块以XML文件存储在数据库中,XML文件是存储用户要访问的全部文件信息和图像信息,但存储的不是普通的计算机文件或者多媒体数据,而是把一套文档或者手册的文本信息划分成许多信息单元,并按特定DTD或者SCHEMA结构存储。而XML元数据所携带的信息可能在这些数据中,也可能在这些数据的结构中。同样的技术将图像文件以CGM的格式分解存储。开发技术人员通过S1000D规范对各个模块的属性和元素进行设计。

    S1000D标准的开发结构中,XML伙伴文件(XML Companion File(s))起着十分重要的作用,它通过XML DOM接口控制数据处理的工作过程,但是XCF文件并不是每个交互式电子手册系统都需要,这依赖于所开发的系统是否需要。本系统不采用XCF文件格式通过ISOView接口显示,而是通过XSLT进行转换,实现对图像和文本的分开显示,使系统更加

    灵活,容易操作。

    3.2.1 CGM接口类

    由于原始资料中给出了CGM图纸制资料,并且标注了该图的全部热点,技术人员可以通过固定的接口类对CGM图中热点属性的进行抽象和概括,并以数据模块的形式将其保存在数据库中。该接口类描叙了CGM图中的一个热点,而它的集合IHotSopt[]可以表示整个CGM图的全部热点,该接口类代码如下:

        Public interface IHotSopt

         {//CGM图中热点的描述

           string ASPID{get;}

           string ASPName{get;}

           string Type{get;}

           string ScreenTip{get;}

           string Region{get;}

         }

    3.2.2图形控件接口

    由于原始图片不一定为CGM图,还有其它的图形以及其热点,就必须有一个通用的类来调用任何图形控件。为了使整个数据模块实现对象化,该接口是图形控件的抽象描述,不仅可以加载CGM图,还可以加载其它类型的图形控件(如:.jpg),以通用控件返回的形式来加载其它类型的图片,有利于将图片控件加载到窗体的任何位置,并且控制它的大小,该图形控件接口类部分代码如下:

        public interface IGraphicDevice {

              void Initialize();  //初始化图形控件参数

              bool OpenFile(string fileName);  //通过图片所在路径打开图片

              IHotSopt[]GetAllHotSpot(); //获得图片的全部热点

              Control GetDevice Control(); //以通用控件的形式返回图片控件

              event ClickHotSpotEventHandler clickHotSpot;  //公开CGM图的热点点击事件

              }

    3.2.3热点接口的实现

    CGM图片中包含多个热点,人员手工书写增加了整个开发的复杂性,并且浪费了大量的开发时间在重复的工作中,本系统通过设计直接调用通用的类来获取热点的全部信息,包括热点ID、热点名称、热点类型、热点区域等,这些信息以接口的形式提供给设计人员,设计人员不需要知道热点具体的细节,直接调用接口就可以获取全部所需的信息,实现了对原CGM图片的透明化。

    部分实现代码如下:

        public class CGMHotSpot: IHotSopt{

    public CGMHotSpot (string ASPID, stringASPName,

        string aType,string ScreenTip,stringRegion)  //获取热点的信息函数

        public string ASPID{get{return m_ASPID;}} //返回热点ID

        public string ASPName{get{return m_ASPName;}}//返回热点名称

       

        }

    3.3数据模块转换

    数据模块对用户及维护人员是透明的,维护比较困难。所以要把XML文件中的数据按开发系统安全级别转换成浏览器可以识别的格式显示给用户及维护人员,从而使维护操作简化,容易。

    XCF文件不需要任何转化,其通过ISOView接口可以直接实现转换,但是缺乏灵活性,只能很单调的显示图片,而不能实现动态交互。本系统开发主要是通过XSLTXML转化成浏览器可识别的格式,部分实现代码如下:

        <xsl:template match="graphic">

       <xsl:variable name="urn"select="following::graphic/@link:

    href"></xsl:variable>  //定义变量

       <xsl:for-each select="hotspot">

       <tr id="{@apsid}"name="{@apsname}"onclick="showHot

    (this);">  //文本至图片交互函数

      

       <script language="javascript"for="axISO"

       event="HsHit(nMouseBtn,IRefID,strName,StrViewPort-

    File,StrviewPortName)">

       HsHit(nMouseBtn,IRefID,strName,StrViewPortFile,Strview-

    PortName);  //图片至文本交互函数

       </script>

       </xsl:comment> //点击图片的热点时获取交互事件

    3.4数据模块出版

    由于S1000D是一个规范,所以对不同的设备都可以通过数据模块的规范开发,为了区分不同设备的交互式电子手册,就要求进行数据模块的归类、核查和出版,整个过程相当于提供给用户的使用手册。出版就是将CSDB中的DMPM的组织方式提交给用户,必须做两个转换:DM转化为XML知识库、知识库转换为HTML文件。再通过ISOView接口将数据模块的内容段部分展示给用户,从而实现图片与用户的可视化交互,提供信息共享。

    4 结束语

    系统采用S1000D为设计规范,利用ORACLE数据库进行数据存储和管理,通过网页的形式实现IETM系统的开发,应用了信息对象定义,并根据公司某型设备对象,实现了IETM中图像的数据交换、信息共享、协同操作的目标。同时实现了图片技术资料、纸制文档到数据模块的转化,以及数据模块的存储和可视化转换,极大方便用户操作和维护。随着现代社会信息技术的不断进步,必将为IETM的发展带来更广阔的应用前景。

    关于希盟信 | 联系我们 | 法律声明 | 网站地图

    copyright@2009-2016 西安希盟信仿真科技有限公司  陕ICP备12011946号