999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GJB6600 的IETM 邏輯引擎設計

2015-07-01 07:57:28喬福超
兵器裝備工程學報 2015年4期
關鍵詞:引擎

喬福超

(海軍航空工程學院,山東煙臺 264001)

交互式電子技術手冊(interactive electronic technical manual,IETM)是以數字形式存儲,采用文字、圖形、表格、音頻和視頻等形式,以人機交互方式提供裝備基本原理、操作使用和維修內容的技術出版物[1]。與傳統的電子技術手冊相比,IETM 最顯著的特征是具有交互性,這使得用戶與計算機之間能夠以人機對話的方式獲取信息與知識,極大地提高了裝備維修效率。

IETM 普遍采用過程數據模塊(Data Module)和邏輯引擎(Logic Engine)相互配合的方式來實現人機交互功能。目前,針對歐洲S1000D 標準的IETM 開發平臺已經具有了成熟的邏輯引擎。我國自2009年頒布GJB6600 標準以來,也出現了各型支持該標準的IETM 開發平臺,但由于平臺的側重點不同,目前所接觸的幾款支持GJB6600 標準的開發平臺都暫不提供對過程數據模塊和邏輯引擎的支持。因此,設計一種基于GJB6600 標準的邏輯引擎,為相關的研究與開發提供參考。

1 過程數據模塊

IETM 中的技術信息是以數據模塊的形式進行存儲的。數據模塊是描述裝備結構、性能和操作步驟等技術信息的獨立的、完整的數據單元。根據技術信息的用途不同,GJB6600將數據模塊分為8 類,包括描述類、程序類、故障類、維修計劃類、操作類、圖解零件類、連線類、過程類。其中,過程數據模塊是一類特殊的數據模塊,它是具有內在邏輯判斷的腳本流,能夠根據裝備的狀態信息組織其他數據模塊和步驟的顯示順序。

GJB6600 所定義的過程數據模塊包括〈變量聲明〉、〈操作準備〉、〈模塊執行順序〉和〈收尾工作〉子元素,其數據模型如圖1 所示。其中,〈變量聲明〉和〈模塊執行順序〉是實現IETM 交互性的2 個重要元素。下面對過程數據模塊中的主要元素作簡要分析。

圖1 過程數據模塊的數據模型

1.1 〈變量聲明〉元素

在裝備維修過程中,IETM 經常需要獲取一些與裝備相關的狀態信息(如溫度、輸出電壓等),以便判斷故障類型,指引用戶維修。〈變量聲明〉元素即是用于對維修過程中所需的所有狀態信息(變量)進行定義和初始化的。在IETM 運行過程中,使用邏輯引擎驅動對話框或調用外部測試程序,以便用戶能夠手動輸入信息或由自動測試設備自行輸入信息。邏輯引擎將所獲取的狀態信息以變量的形式存儲于狀態表中,以供后續的邏輯判斷、數值計算或其他程序使用。

1.2 〈模塊執行順序〉元素

〈模塊執行順序〉元素用于描述多個數據模塊和步驟之間執行的先后順序,形成具有內在判斷邏輯的腳本流。它包括〈順序執行方式〉、〈分支選擇方式〉、〈條件判斷方式〉、〈循環判斷方式〉4 種子元素。其中,〈順序執行方式〉是核心元素,其作用是描述向用戶呈現的信息內容,包括獨立的操作步驟、對話框、消息框、引用的數據模塊、外部請求等內容;〈分支選擇方式〉描述多分支情況下的業務邏輯,邏輯引擎通過判斷其子元素的〈適用性信息〉元素值或〈適用性引用〉屬性值,決定在特定的邏輯條件下所應選擇的分支;〈條件判斷方式〉用于描述一個if-then-else 的業務邏輯,邏輯引擎通過判斷其〈表達式〉元素值決定應選擇的分支;〈循環判斷方式〉描述一個循環邏輯,邏輯引擎通過判斷其〈表達式〉元素值決定是否跳出循環。需要指出的是,上述4 種元素均可在其子元素中繼續套用這4 種結構,以描述任意復雜程度的腳本流。

1.3 〈表達式〉元素

〈表達式〉是過程數據模塊中極為重要的元素,在腳本流中,所有的邏輯表達式、算術表達式、直接量等都需要使用〈表達式〉進行描述。該元素具體包含4 種結構的子元素,如圖2 所示。

1.4 〈對話框〉元素

人機對話是IETM 交互功能的基礎。在裝備維修過程中,當邏輯引擎需要獲取或更新某一狀態信息(變量)時,會彈出對話框并要求用戶輸入相應的信息。〈對話框〉元素即用于描述所彈出對話框的內容以及與之相關聯的變量。該元素主要包含5 種類型的子元素,即〈填空〉、〈菜單〉、〈按鈕〉、〈消息框〉、〈對話組合〉子元素,通過搭配使用這5 種子元素可實現簡潔高效的對話框。〈對話框〉元素的數據模型如圖3 所示。

圖2 〈表達式〉元素的數據模型

圖3 〈對話框〉元素的數據模型

2 邏輯引擎

2.1 邏輯引擎運行機理

過程數據模塊是靜態的腳本,其本身無法實現人機交互。邏輯引擎是解析執行靜態腳本的一個軟件,是腳本流的解釋器[2]。在IETM 中,過程數據模塊必須借助邏輯引擎的支持才能完成人機交互功能。

本節以一段維修流程為例,對過程數據模塊和邏輯引擎的作用進行說明,如圖4 所示。首先,數據模塊編制人員將由廠商提供的設備維修流程按照一定的IETM 標準編制成過程數據模塊(該項工作通常是借助IETM 開發平臺完成的,優秀的開發平臺能夠使用圖形界面來構建維修流程,并自動生成基于IETM 標準的過程數據模塊)。在數據模塊編制完成后,邏輯引擎對過程數據模塊中的靜態腳本進行解析并處理。邏輯引擎的運行涉及2 方面內容:解析器和處理器。其中,解析器負責對XML 文檔中的節點進行遍歷,并根據節點的類型調用相應的處理器;處理器則根據當前所遍歷的節點類型及內容執行相應的處理,如顯示數據模塊內容、彈出對話框等。

圖4 過程數據模塊和邏輯引擎的作用示意圖

2.2 邏輯引擎實現方案

解析器與處理器有多種實現方式,本研究提出2 種可行的方案。

1)解釋型邏輯引擎

該型邏輯引擎的運行機理類似于程序設計語言中解釋型語言的翻譯過程。它首先加載過程數據模塊,然后由解析器逐個節點地進行遍歷,每當遍歷到一個節點,便調用處理器執行相應的操作。解析器會根據用戶的操作和文檔內在的邏輯有選擇性地遍歷XML 文檔,是一種動態的翻譯方式。

2)編譯型邏輯引擎

該型邏輯引擎的運行機理類似于程序設計語言中編譯型語言的翻譯過程。它是將整個過程數據模塊直接翻譯成完整的可執行的程序代碼。它首先加載過程數據模塊,并對文檔中的節點進行遍歷。每當遍歷到一個節點,即調用相應的翻譯函數,將該節點的內容翻譯成可執行代碼,并以字符串的形式存儲該代碼。在遍歷完成后,將所得到的所有節點的代碼拼接形成完整的程序代碼,并調用執行。

3 邏輯引擎設計

本研究使用JavaScript 語言設計了一款基于GJB6600 的編譯型邏輯引擎。下面對引擎實現的關鍵環節和程序流程設計進行詳細說明。

3.1 邏輯引擎關鍵環節

3.1.1 XML 解析

XML 文檔的解析通常需要借助XML 解析器來完成,本文即采用了基于DOM 規范的解析器。DOM 規范為解析XML 文檔定義了一組標準接口。DOM 解析器首先讀入整個文檔,然后將該文檔轉換成常駐內存的樹狀結構,即DOM樹。程序代碼可以通過節點之間的關系、標簽名、屬性等訪問DOM 樹中的節點,并獲取每個節點所包含的數據。

3.1.2 翻譯函數

編譯型邏輯引擎的處理器的主要工作是將節點內容翻譯成程序代碼。因此,應依據GJB6600 過程數據模塊的數據模型,為每一種類型的元素設計相應的翻譯函數。翻譯函數將所要翻譯的節點作為參數傳入,將節點內容翻譯成程序代碼,并存入一個字符串變量作為函數返回值。以〈表達式〉節點為例,其對應的翻譯函數代碼如下所示:

圖5 所示的是一個表達式節點的XML 樹形圖,該節點描述了一個邏輯表達式,值為:(V_Min >11)&& (V_Max <13)&&(V_Ripple <0.5)。使用上述翻譯函數對其進行翻譯,將其最頂層表達式節點作為參數輸入該函數,所返回的字符串值為:(((V_Min)>(11))&&((V_Max)<(13)))&&((V_Ripple)<(0.5)),即完成了對該節點內容的翻譯。

圖5 表達式節點樹形結構

3.1.3 遍歷順序

編譯型邏輯引擎最終將所有節點的翻譯代碼拼接形成完整的程序代碼。代碼的拼接順序受節點的遍歷順序影響,因此必須選擇合適的遍歷方式。采用類似二叉樹中先序遍歷的方式,按自頂向下、自左向右的順序,先遍歷節點本身及其子節點,再遍歷兄弟節點。

3.1.4 無限嵌套

在過程數據模塊中,經常出現元素之間相互嵌套或元素嵌套其本身的情況,如圖5 中的<表達式>元素。在XML文檔中,這種類型的節點可以具有任意多層次的子節點,其結構無法預測。因此,對這種可無限嵌套的元素設計翻譯函數時,可使用遞歸調用的方法,如上述<表達式>元素的翻譯函數所示。

3.2 邏輯引擎程序設計

基于GJB6600 的編譯型邏輯引擎的程序流程圖如圖6所示。該程序首先加載XML 文檔,并將其轉化為DOM 樹,聲明全局字符串變量Str 以存儲整個模塊翻譯完成的代碼。然后對文檔節點進行遍歷,每當遍歷到一個節點,即調用相應的翻譯函數,將該節點的內容翻譯成可執行代碼,并以字符串的形式存儲。當文檔全部遍歷完成后,Str 變量值即為完整的程序代碼,調用eval()函數即可執行字符串中的代碼。

4 結束語

論述了GJB6600 標準中過程數據模塊的結構和作用,分析了IETM 邏輯引擎的運行機理,提出了邏輯引擎的2 種實現方案,即解釋型邏輯引擎和編譯型邏輯引擎。使用JavaScript 語言設計實現了基于GJB6600 標準的編譯型邏輯引擎。研究成果對IETM 邏輯引擎的設計與開發具有一定的參考價值。

圖6 邏輯引擎程序流程

[1]GJB6600,裝備交互式電子技術手冊[S].

[2]寇建華,左洪福,蘇艷.交互式電子技術手冊解析關鍵技術研究[J].電腦知識與技術,2009,5(28):7941-7942.

[3]劉雙雙,葉曉慧,王紅霞.嵌入故障診斷策略的IETM 的研究與實現[J].計算機測量與控制,2010,18(9):1964-1966.

[4]朱興動.武器裝備交互式電子技術手冊—IETM[M].北京:國防工業出版社,2009.

[5]張麗麗,暢峰.基于S1000D 的空空導彈系統IETM 的制作[J].四川兵工學報,2014,35(5):58- 61.

[6]徐宗昌,雷育生.裝備IETM 研制工程總論[M].北京:國防工業出版社.2012.1-44.

[7]徐宗昌,孫寒冰,朱偉成,等.基于IETM 的交互式故障診斷模式研究[J].計算機測量與控制,2013,21(10):2651- 2654.

[8]于大海,劉浩.基于故障模式的交互式電子手冊的設計與實現[J].四川兵工學報,2010,31(6):28- 30.

[9]崔建鋒.交互式電子技術手冊—IETM 綜述[J].航空制造技術,2011(12):105-107.

[10]劉松風,林志文,楊士元.基于IETM 驅動的智能化便攜診斷設備[J]. 計算機測量與控制,2009,17(6):1030- 1032.

[11]ASD S1000D,International Specification for Technical Publications Utilizing A Common Source DataBase,Issue 4. 0[S].

猜你喜歡
引擎
以學促干 挺膺擔當 激活砥礪前行的紅色引擎
江陰市“三個創新”打造危化品安全監管新引擎
新海珠,新引擎,新活力!
消費繼續發揮經濟增長第一引擎作用
消費導刊(2018年8期)2018-05-25 13:19:23
三生 三大引擎齊發力
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
休閑垂釣 傳統漁業新引擎
中國水產(2017年2期)2017-02-25 07:56:29
信息化,“盛京”加速的新引擎
中國衛生(2015年4期)2015-11-08 11:16:18
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
主站蜘蛛池模板: 亚洲午夜国产片在线观看| 国产91色在线| 日本人又色又爽的视频| 99久久免费精品特色大片| 黄色在线不卡| 久久国产V一级毛多内射| 无码高清专区| 日韩欧美视频第一区在线观看| 久久semm亚洲国产| 国产成人精品第一区二区| 99精品高清在线播放| 亚洲欧美一区二区三区图片 | 欧美成人日韩| 免费毛片a| 青青青国产在线播放| 久久五月天国产自| 欧美一级一级做性视频| 制服丝袜亚洲| 亚洲视频影院| 国产精品精品视频| av在线无码浏览| 久久久久久久久亚洲精品| 国产在线98福利播放视频免费| 国产成人高精品免费视频| 国产成人高清精品免费| 91久久精品日日躁夜夜躁欧美| 亚洲中文字幕国产av| 亚洲一区二区约美女探花| 国产视频一二三区| 1769国产精品视频免费观看| 亚洲男人天堂2018| 五月天福利视频| 国产熟女一级毛片| 男女精品视频| 色婷婷在线播放| 乱人伦视频中文字幕在线| 午夜日本永久乱码免费播放片| 亚洲 成人国产| 热热久久狠狠偷偷色男同| 日本一区中文字幕最新在线| 国产91丝袜在线观看| 日本一区中文字幕最新在线| 色哟哟国产精品一区二区| 亚洲视频在线网| 国产精品漂亮美女在线观看| 婷婷中文在线| 国产视频你懂得| 久久情精品国产品免费| 欧美一级一级做性视频| 久久99国产精品成人欧美| 2021精品国产自在现线看| 欧美日韩在线第一页| 91久久精品国产| 国产在线视频导航| 午夜视频日本| 国产丝袜无码精品| 波多野结衣一二三| 亚洲第一黄片大全| 国产成人超碰无码| 国产精品hd在线播放| 成人毛片免费观看| 国产精品美女免费视频大全| 国产爽歪歪免费视频在线观看| 欧美国产在线看| 美女毛片在线| 99久久无色码中文字幕| 天天躁夜夜躁狠狠躁图片| 亚洲一级无毛片无码在线免费视频 | 国产精品三级专区| 亚洲国产日韩在线成人蜜芽| 国产午夜精品一区二区三| 久久精品娱乐亚洲领先| 久操中文在线| 在线永久免费观看的毛片| 欧美亚洲一二三区| 丝袜高跟美脚国产1区| 欧美成人一区午夜福利在线| 精品一区二区三区波多野结衣| 亚洲欧美成aⅴ人在线观看| 日本成人福利视频| 欧美一区二区三区国产精品| 国产成人91精品免费网址在线|