国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AltaRica 的故障自動化建模和分析*

2021-02-25 06:27:48吳夢杰
計算機與數(shù)字工程 2021年1期
關(guān)鍵詞:數(shù)組括號組件

吳夢杰 朱 兵 李 震 李 陽

(1.江蘇科技大學(xué)電信學(xué)院 鎮(zhèn)江 212003)(2.上海船舶設(shè)計研究院 上海 201203)

1 引言

隨著計算機與軟件技術(shù)的不斷發(fā)展,系統(tǒng)故障導(dǎo)致的安全性事故后果越來越嚴(yán)重,系統(tǒng)的安全性問題受到了高度重視,系統(tǒng)安全性建模和分析技術(shù)在關(guān)鍵安全系統(tǒng)中得到了廣泛應(yīng)用[1]。

AltaRica 語言是一門面向故障邏輯的建模語言,具有面向?qū)ο蟮目蓮?fù)用的特點,采用AltaRica模型可以真實反應(yīng)系統(tǒng)的功能結(jié)構(gòu)和系統(tǒng)運行機制。因此,國內(nèi)外學(xué)者對其做了大量深入的研究,文獻[2]主要介紹了基于AltaRica 的系統(tǒng)安全性評估方法,文中詳細介紹了AltaRica 的語法結(jié)構(gòu)和建模過程,體現(xiàn)了AltaRica 數(shù)據(jù)流在不犧牲評估算法效率的情況下能夠顯著提高模型設(shè)計功能的特點。文獻[3]介紹了如何使用AltaRica語言及相關(guān)工具對電氣和液壓系統(tǒng)建模并分析。文獻[4]介紹了AltaRica的關(guān)鍵,即衛(wèi)士轉(zhuǎn)換系統(tǒng)(Guarded Transition System,GTS),文中描述了從GTS 模型轉(zhuǎn)換為故障樹的過程??捎蒅TS模型生成相應(yīng)的故障樹,也就是由狀態(tài)/轉(zhuǎn)換模型轉(zhuǎn)換為一組布爾公式,從而利用故障分析工具進行相關(guān)的安全性驗證工作。AltaRica 自誕生以來一直在發(fā)展,目前已經(jīng)發(fā)展到第三個版本AltaRica3.0。文獻[5]詳細描述了AltaRica3.0 的新特性,與前兩個版本的區(qū)別,以及AltaRica 的語法。關(guān)于AltaRica 模型向其它模型轉(zhuǎn)換,文獻[6]詳細介紹了AltaRica 數(shù)據(jù)流模型向NuSMV 模型的轉(zhuǎn)換,并且給出了詳細的形式化證明。

但是AltaRica 代碼缺乏結(jié)構(gòu)層次,還不能直觀地展示系統(tǒng)的物理結(jié)構(gòu),以及功能和故障在系統(tǒng)物理結(jié)構(gòu)上的連接和傳播。計算機可視化建模技術(shù)可以很好地克服這一缺點,使用戶可以方便通過計算機界面對系統(tǒng)進行可視化的圖形建模,系統(tǒng)結(jié)構(gòu)描述清楚,系統(tǒng)建模過程展示清晰,系統(tǒng)建模和系統(tǒng)分析過程合二為一,方便模型和安全性分析的修改和維護,提高安全性工作的效率。

基于以上內(nèi)容,文章將AltaRica 語言與計算機可視化建模技術(shù)相結(jié)合,開發(fā)了支持AltaRica 語言的可視化建模工具原型,并基于此工具原型開展系統(tǒng)安全性建模和分析工作。

2 基本理論

AltaRica 模型屬于故障邏輯模型,它是對故障的傳播和轉(zhuǎn)移邏輯進行建模。文章首先介紹故障邏輯建模方法和AltaRica 語言的基本概念,然后介紹基于AltaRica 模型生成故障樹的方法,最后介紹了故障樹自動生成算法。

FPTN[7]是一種故障邏輯的圖形化表示方法(graphical notation),雖然它是一種非形式化方法,但它使用圖形化的語言直觀、清楚地描述了組件或系統(tǒng)的故障邏輯,本文將這種圖形化方法簡化(刪除其中不具有通用意義的特征,如關(guān)鍵度、異常處理),形成如圖1所示的簡化FPTN圖。

圖1 簡化的FPTN 圖

FPTN左側(cè)箭頭所示變量表示模塊的輸入故障模式(故障MF 和SF),圖右側(cè)的箭頭表示模塊的輸出故障模式(故障PF)。

3 基于AltaRica 模型的故障樹生成方法

AltaRica 模型能夠全面描述系統(tǒng)故障邏輯信息[9],而故障樹是對系統(tǒng)故障邏輯的分析結(jié)果[10]。因此,在明確AltaRica 與故障樹轉(zhuǎn)化方法前,應(yīng)首先確定兩種模型對應(yīng)的故障邏輯,然后基于同一故障邏輯比較兩種模型的對應(yīng)關(guān)系,從而確定兩種模型的轉(zhuǎn)化方法。

文章首先使用簡化FPTN 圖建立起故障邏輯,再說明AltaRica 數(shù)據(jù)流語言對該故障邏輯的描述方式以及依據(jù)該故障邏輯人工形成的故障樹,最后將AltaRica 代碼與人工繪制的故障樹進行比較,進而明確針對同一故障邏輯,AltaRica 語言模型與故障樹的轉(zhuǎn)化關(guān)系[11]。底層組件是指在建模過程中不能進一步分解的組件,它是構(gòu)成系統(tǒng)的最底層的單元。以圖1為例,組件M1輸入故障模式為MF和SF(為簡化描述,本文故障模式僅包含正常和失效兩種取值)[12],輸出故障模式為 PF。當(dāng)MF 和SF 故障模式任一發(fā)生時(即MF、SF 取值為F),組件M1會輸出故障PF。

在社會生活中音樂的發(fā)展離不開對各種民族文化的基礎(chǔ)和發(fā)揚,音樂文化更是民族文化的一個重要組成部分,在初中教學(xué)中進行對學(xué)生的音樂教育,就是需要結(jié)合民族文化進行教學(xué),引導(dǎo)學(xué)生進行對民族文化的學(xué)習(xí)和教育,實現(xiàn)民族文化的傳承。

圖2 FPTN故障邏輯圖

1)AltaRica代碼[13]描述

從上述代碼可以看出,AltaRica 代碼的flow 分句描述了M1 的輸入故障模式和輸出故障模式,描述方式為:“故障模式變量名稱:變量類型:流向”,Assert 分句描述了輸出故障模式與輸入故障間的故障轉(zhuǎn)化關(guān)系。

2)故障樹

選取PF.failed 作為頂事件,該組件故障邏輯可以轉(zhuǎn)化為如圖3所示的故障樹。

從圖3 中可以看出,故障樹的底事件是由輸入故障和(或)組件自身故障形成的。

3)Altarica組件節(jié)點的故障樹生成方法

比較Altarica 代碼與圖2 可以發(fā)現(xiàn),故障樹頂事件是由flow 分句中輸出變量決定的,底事件是由輸入變量決定的,邏輯門關(guān)系是由assert 分句來描述的。由組件節(jié)點生成故障樹的步驟如下。

圖3 故障邏輯關(guān)系

(1)設(shè)定頂事件。底層組件故障樹頂事件是由組件節(jié)點flow 語句中的輸出變量決定的,任一輸出故障模式變量取異常值即可形成一個故障樹頂事件。

(2)確定頂事件對應(yīng)的底事件。對于底層組件,flow 分句中的輸入變量取異常值即構(gòu)成了故障樹的底事件。依據(jù)Assert 分句中與頂事件相關(guān)的斷言,可以確定與頂事件相關(guān)的底事件。

(3)確定邏輯門關(guān)系。頂事件與底事件的邏輯門關(guān)系是由assert 分句來描述的,其中,與門、或門以及表決門分別對應(yīng)and、or 邏輯連接詞以及rn()短語。

4 故障樹自動生成算法

文章以上述內(nèi)容為基礎(chǔ),提出了基于AltaRica的故障樹自動生成算法,主要由兩個步驟組成。

1)掃描斷言字符串,切割和記錄字符,并記錄下各個字符的括號深度,添加到AssertionNode 數(shù)組,由 CAltaRicaAnalyser::MakeAssertionToAssertionArray()實現(xiàn);

2)掃描AssertionNode 數(shù)組,根據(jù)括號深度,遞歸生成故障樹各個節(jié)點的前后位置關(guān)系,用于繪制故障樹,由 CAltaRicaAnalyser::MakeAssertionArrayToFaultTree(CArray &NodeArray,int prePositon)實現(xiàn)。

以上兩個步驟的具體算法描述,如下所示。

步驟1 MakeAssertionToAssertionArray(),算法描述如下所示。

第1 步:將斷言賦值到字符數(shù)組,level 用于計算深度,strTemp 用于記錄有效字符串,開始掃描,直至掃描結(jié)束;

第2 步:如果掃描到左括號,level++;如果掃描到右括號,level--;轉(zhuǎn)第3步;

第3 步:如果當(dāng)前掃描到的字符為左右括號、空格、或者字符串的結(jié)束記號,當(dāng)strTemp 不為空時,如果為右括號,level++,如果為左括號,level--,并連同strTemp 記錄到AssertionNode 類型的node中,同時清空strTemp,將node 添加到AssertionNodeArray 數(shù)組中,用于步驟2;若當(dāng)前掃描的不是左右括號、空格、或者字符串的結(jié)束記號,則轉(zhuǎn)第4步;

第4 步:如果掃描的是其他有效字符,則插入到strTemp中,轉(zhuǎn)第1步,繼續(xù)掃描。

步驟2:MakeAssertionArrayToFaultTree(CArray & NodeArray,int prePositon),算法描述如下所示:

第1 步:獲取NodeArray 中括號最小深度的位置,同時將NodeArray切割成左右兩個子數(shù)組;

第2 步:如果左側(cè)的子數(shù)組只有一個元素,則記錄該元素的前驅(qū)位置,并添加到AssertionNode-TreeArray 中;如果左側(cè)的子數(shù)組超過一個元素,則遞歸MakeAssertionArrayToFaultTree 處理左側(cè)的子數(shù)組;

第3 步:如果右側(cè)的子數(shù)組只有一個元素,則記錄該元素的前驅(qū)位置,并添加到AssertionNode-TreeArray 中;如果右側(cè)的子數(shù)組超過一個元素,則遞歸MakeAssertionArrayToFaultTree 處理右側(cè)的子數(shù)組;

第4 步:直至遞歸結(jié)束,生成完整的Assertion-NodeTreeArray數(shù)組,用于繪制故障樹。

5 實例驗證

文章對AltaRica 語言的故障建模和分析進行了研究,并在 VC++環(huán)境下基于 ToolKit[14]開發(fā)了友好的人機交互界面,基于AddFlow[15]開發(fā)了自動化拖放式建模環(huán)境,實現(xiàn)了基于AltaRica 語言的系統(tǒng)安全性建模和分析工具原型-SSMA。

文章以船用發(fā)電機并聯(lián)運行時發(fā)生故障(PF)為例,引起其故障的原因主要有兩種,一種是機械故障(MF),另一種是停車保護發(fā)生的故障(SF)。MF 的故障原因有三種:原動機故障(PM)、調(diào)速器故障(GF)和傳動器故障(DF)。對SSMA 的建模和分析的過程主要包括以下幾個步驟。

第一步:新建并聯(lián)故障(PF)的故障樹,如圖4所示。

圖4 PF故障樹

第二步:新建MF故障樹,如圖5所示。

圖5 MF故障樹

第三步:將MF 故障樹嵌套進PF 故障樹中,如圖6所示。

圖6 MF-PF嵌套故障樹

6 結(jié)語

首先將故障邏輯圖3 中的輸出故障PF 作為頂事件,并依據(jù)圖3 中所示的故障邏輯關(guān)系建立故障樹。同時,對引起頂事件故障樹的中間事件進行故障分析,建立中間事件故障樹。最后將中間事件的故障樹嵌套進上一層故障樹中,建立系統(tǒng)故障樹。這說明了文章提出的基于AltaRica 的自動化建模、分析和故障樹自動生成算法的正確性,同時工具原型具有良好的可操作性。

猜你喜歡
數(shù)組括號組件
無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
能源工程(2022年2期)2022-05-23 13:51:50
JAVA稀疏矩陣算法
電腦報(2022年13期)2022-04-12 00:32:38
括號填數(shù)
我曾丟失過半個括號
新型碎邊剪刀盤組件
重型機械(2020年2期)2020-07-24 08:16:16
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
電腦報(2020年24期)2020-07-15 06:12:41
“入”與“人”
U盾外殼組件注塑模具設(shè)計
漏寫括號鬧出的笑話
尋找勾股數(shù)組的歷程
屏东县| 犍为县| 江华| 亚东县| 贵定县| 安化县| 法库县| 简阳市| 武川县| 厦门市| 开鲁县| 云霄县| 萨迦县| 清苑县| 原平市| 新郑市| 南澳县| 太和县| 逊克县| 阜新市| 桐乡市| 江源县| 容城县| 都匀市| 垦利县| 南京市| 视频| 青川县| 嘉兴市| 都匀市| 酒泉市| 金寨县| 岐山县| 临夏市| 西林县| 天门市| 教育| 嘉定区| 会同县| 阳朔县| 咸宁市|