0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

形式化建模(一)

上??匕?/a> ? 來(lái)源:上海控安 ? 作者:上??匕?/span> ? 2022-10-21 13:48 ? 次閱讀

作者 |鄭寒月上??匕部尚跑浖?chuàng)新研究院工程師

版塊 |鑒源論壇 · 觀模

01什么是建模

對(duì)系統(tǒng)進(jìn)行建模是一個(gè)采用表格化、圖形化、公式化的方式,將系統(tǒng)的構(gòu)成及其構(gòu)成間的關(guān)系呈現(xiàn)給人們的一種技術(shù)方法,也就是將系統(tǒng)進(jìn)行抽象化處理的過(guò)程。對(duì)系統(tǒng)的抽象可以從多個(gè)層面進(jìn)行,即可以從多維度進(jìn)行建模。在建模過(guò)程中,系統(tǒng)逐漸實(shí)現(xiàn)無(wú)歧義化的過(guò)程。

數(shù)據(jù)層面的建模通常在數(shù)據(jù)流的基礎(chǔ)上進(jìn)行。數(shù)據(jù)流是一組有序、有起點(diǎn)和終點(diǎn)的數(shù)據(jù)序列。數(shù)據(jù)流圖(Data Flow Diagram)描述數(shù)據(jù)如何在軟件功能模塊之間“流動(dòng)”,主要從功能之間的數(shù)據(jù)信息傳遞關(guān)系層面來(lái)刻畫(huà)系統(tǒng),可對(duì)系統(tǒng)功能進(jìn)行層次化的組合描述。其主要描述對(duì)象為:處理數(shù)據(jù)的功能(Process),數(shù)據(jù)資源的集合(Data Store)和數(shù)據(jù)的流動(dòng)(Data Flow)。

另一種常用的建模方式是使用有限狀態(tài)機(jī)(Finite-state Machine)進(jìn)行建模。狀態(tài)機(jī)模型中包含四個(gè)基本要素,分別為現(xiàn)態(tài)、條件、動(dòng)作和次態(tài)?,F(xiàn)態(tài)指當(dāng)前周期所處的狀態(tài)。條件指當(dāng)某個(gè)狀態(tài)滿足一定條件時(shí),會(huì)觸發(fā)一次動(dòng)作,或執(zhí)行一次遷移。動(dòng)作執(zhí)行完畢后,可以遷移到新的狀態(tài),或者保持原狀態(tài)。次態(tài)指基于當(dāng)前所處狀態(tài),條件滿足后需要遷往的新?tīng)顟B(tài)。若基于狀態(tài)機(jī)模型進(jìn)行模擬仿真,需首先通過(guò)輸入端口確定現(xiàn)態(tài),執(zhí)行一次動(dòng)作后判斷現(xiàn)態(tài)的所有遷移條件是否滿足,若滿足遷移條件則發(fā)生跳轉(zhuǎn),若不滿足則仍保持現(xiàn)態(tài),同時(shí)傳出輸出變量;若滿足遷移條件則發(fā)生跳轉(zhuǎn),并執(zhí)行一次動(dòng)作。

下面給出一個(gè)狀態(tài)機(jī)建模的實(shí)例。

在軌道交通領(lǐng)域,由于慣性,每次停車(chē)可能發(fā)生車(chē)輪與軌道的“打滑”,使得軟件記錄的車(chē)輪運(yùn)行圈數(shù)和實(shí)際運(yùn)行圈數(shù)不一致,累計(jì)以后容易導(dǎo)致錯(cuò)誤計(jì)算。為確保安全,需要監(jiān)控打滑的距離等數(shù)值,計(jì)算一個(gè)補(bǔ)償數(shù)值,使得車(chē)輪實(shí)際運(yùn)行圈數(shù)與計(jì)算值一致。對(duì)于如表1所示的描述進(jìn)行狀態(tài)機(jī)建模,可知空轉(zhuǎn)補(bǔ)償狀態(tài)有COASTING、BRAKING、SLIDING、SKIDDING等四個(gè)狀態(tài),關(guān)注列車(chē)車(chē)輪打滑監(jiān)控模塊,抽取出狀態(tài)和遷移條件進(jìn)行狀態(tài)機(jī)建模。狀態(tài)機(jī)建模結(jié)果如圖1所示,其中COASTING、BRAKING、SLIDING、SKIDDING為狀態(tài),箭頭表示遷移,遷移條件表示在遷移箭頭上,數(shù)字代表遷移條件數(shù)量。

pYYBAGNSMSOAIJ1CAABszTrtqBo369.png

表1打滑補(bǔ)償

pYYBAGNSMZaAHakpAAFo9OiWuFM759.png

圖1狀態(tài)機(jī)建模結(jié)果

02什么是形式化建模

形式化方法(Formal Method)是一種基于數(shù)學(xué)基礎(chǔ),經(jīng)過(guò)嚴(yán)格的數(shù)學(xué)證明的分析技術(shù)的應(yīng)用方法,常用于軟件和硬件系統(tǒng)的描述、開(kāi)發(fā)和驗(yàn)證過(guò)程中。形式化建模則將形式化方法應(yīng)用于建模過(guò)程中,它以無(wú)歧義的形式化規(guī)格說(shuō)明語(yǔ)言為基礎(chǔ),使用精確定義的形式語(yǔ)言進(jìn)行系統(tǒng)功能的描述,利用一些已知特性的數(shù)學(xué)抽象來(lái)為目標(biāo)軟件系統(tǒng)的狀態(tài)特征和行為特征構(gòu)造模型,從而完成形式化建模過(guò)程。形式化模型應(yīng)介于程序設(shè)計(jì)語(yǔ)言和高層需求之間,具有精確、無(wú)歧義的特點(diǎn),但并不呈現(xiàn)過(guò)多細(xì)節(jié)。

一些經(jīng)典的形式化語(yǔ)言,如Z語(yǔ)言、B語(yǔ)言、Event-B語(yǔ)言、VDM等均具有各自的形式語(yǔ)義,使用形式化語(yǔ)言遵循建模規(guī)范得到的形式化模型可以對(duì)系統(tǒng)進(jìn)行精確描述,便于進(jìn)行后續(xù)的形式化分析和驗(yàn)證。

03航空發(fā)動(dòng)機(jī)控制軟件建模實(shí)例

因?yàn)榘踩P(guān)領(lǐng)域嵌入式控制軟件研制具有領(lǐng)域?qū)<覅⑴c度高、功能安全性要求高、規(guī)范與標(biāo)準(zhǔn)約束嚴(yán)格等特點(diǎn),所以為符合研制要求,保證系統(tǒng)安全,形式化建模廣泛運(yùn)用于航空航天、軌道交通等安全攸關(guān)領(lǐng)域。

接下來(lái)將以航空發(fā)動(dòng)機(jī)控制系統(tǒng)為例,介紹形式化建模在工程上的運(yùn)用。

航空發(fā)動(dòng)機(jī)控制軟件是實(shí)時(shí)嵌入式軟件,運(yùn)行于電子控制器平臺(tái)(EEC)中實(shí)現(xiàn)發(fā)動(dòng)機(jī)的運(yùn)行控制,主要功能是按照飛機(jī)的指令實(shí)現(xiàn)發(fā)動(dòng)機(jī)的啟動(dòng)、停車(chē)、推力控制、限制保護(hù)、作動(dòng)部件控制、故障診斷及處理等。

通過(guò)系統(tǒng)調(diào)研,可以提取出航空發(fā)動(dòng)機(jī)控制系統(tǒng)的如下特征:

(1)控制軟件輸入為各傳感器變量。

(2)控制軟件的輸出為經(jīng)過(guò)復(fù)雜算法計(jì)算之后的數(shù)值結(jié)果,通過(guò)計(jì)算的方式實(shí)現(xiàn)控制行為。

(3)控制軟件的基本時(shí)間單元為周期。因?yàn)閷?shí)時(shí)性的要求,控制算法需要在給定周期內(nèi)完成相應(yīng)的算法計(jì)算。整個(gè)系統(tǒng)中有兩個(gè)周期概念,按照?qǐng)?zhí)行功能的實(shí)時(shí)性分為了大閉環(huán)周期和小閉環(huán)周期,大閉環(huán)的周期值是小閉環(huán)周期的固定倍數(shù)。

(4)控制軟件的核心是控制規(guī)律,控制軟件在特定的狀態(tài)下有其固有的控制規(guī)律。

(5)控制軟件的主導(dǎo)因素是其當(dāng)前所處的狀態(tài)。系統(tǒng)在整個(gè)生命周期內(nèi)在不同的狀態(tài)下執(zhí)行不同的控制算法,具體調(diào)用的控制算法種類(lèi)及其執(zhí)行順序由當(dāng)前時(shí)刻其所處的狀態(tài)決定。特別地,在每個(gè)周期的計(jì)算任務(wù)完成后,系統(tǒng)會(huì)檢測(cè)是否滿足狀態(tài)遷移條件。當(dāng)且僅當(dāng)滿足遷移條件時(shí),系統(tǒng)的狀態(tài)會(huì)發(fā)生遷移。

因此,在建模過(guò)程中可以將航空發(fā)動(dòng)機(jī)控制軟件視為一個(gè)以周期為基本時(shí)間單元驅(qū)動(dòng)的具有多個(gè)不同發(fā)動(dòng)機(jī)狀態(tài)的控制系統(tǒng)。在發(fā)動(dòng)機(jī)處于每個(gè)特定狀態(tài)時(shí),它可以根據(jù)設(shè)定的時(shí)間周期,完成模式內(nèi)具體的采樣、計(jì)算任務(wù)和控制行為,并判斷給定的條件,完成可能的狀態(tài)切換或繼續(xù)處于當(dāng)前狀態(tài)的判定。

由于傳統(tǒng)的形式化語(yǔ)言學(xué)習(xí)成本高、難以用于描述上述航空發(fā)動(dòng)機(jī)控制系統(tǒng)特征等原因,本例采用了航空領(lǐng)域適用的具有以計(jì)算任務(wù)為核心、以模式為基礎(chǔ)、以周期為基本時(shí)間單元、按重要程度劃分層級(jí)等特征的形式化建模語(yǔ)言AEDL進(jìn)行模型構(gòu)建。

遵循AEDL語(yǔ)義,使用AEDL語(yǔ)法構(gòu)建的航空發(fā)動(dòng)機(jī)控制系統(tǒng)模型具有模式流、計(jì)算任務(wù)、數(shù)據(jù)字典等三個(gè)部分,分別對(duì)系統(tǒng)狀態(tài)轉(zhuǎn)換、系統(tǒng)計(jì)算執(zhí)行和系統(tǒng)變量進(jìn)行了精確描述。

通過(guò)狀態(tài)轉(zhuǎn)換部分模型,可以對(duì)航空發(fā)動(dòng)機(jī)的行為模式進(jìn)行抽象,如圖2所示。

pYYBAGNSMiWAX0guAAIJuR94Xxs696.png

圖2航空發(fā)動(dòng)機(jī)控制系統(tǒng)狀態(tài)轉(zhuǎn)換

頂層的狀態(tài)代表航空發(fā)動(dòng)機(jī)控制系統(tǒng)可能處于的狀態(tài),箭頭的方向從現(xiàn)態(tài)指向可進(jìn)行遷移的次態(tài),遷移條件對(duì)遷移是否合法進(jìn)行了限制。狀態(tài)轉(zhuǎn)換圖可以描述航空發(fā)動(dòng)機(jī)控制系統(tǒng)的整體行為,通過(guò)相應(yīng)的狀態(tài)轉(zhuǎn)換圖進(jìn)行研究,可以理解系統(tǒng)行為,分析出系統(tǒng)的部分特征。如:

(1)當(dāng)前航空發(fā)動(dòng)機(jī)系統(tǒng)具有10個(gè)合法模式;

(2)模式轉(zhuǎn)換需滿足相應(yīng)的條件;

(3)所有的模式均有可以到達(dá)的途徑;

(4)模式間的遷移條件可能由多個(gè)表達(dá)式組合而成;

......

具有經(jīng)驗(yàn)的工程師可以根據(jù)狀態(tài)模型快速判斷出系統(tǒng)狀態(tài)是否存在問(wèn)題。比如,如圖3所示的初始模式轉(zhuǎn)換,飛行控制人員可能根據(jù)其專(zhuān)業(yè)知識(shí),認(rèn)定“初始模式”不應(yīng)該以當(dāng)前條件直接轉(zhuǎn)換到“慢車(chē)以上模式”。任何一個(gè)模式,都不應(yīng)該同時(shí)滿足向兩個(gè)及以上模式轉(zhuǎn)換的條件,否則意味著系統(tǒng)可能會(huì)出現(xiàn)不確定性,發(fā)生模式的隨意轉(zhuǎn)換。

poYBAGNSMmiAJfPdAAA_6FqUQxE265.png

圖3初始模式轉(zhuǎn)換

該形式化建模案例體現(xiàn)了航空發(fā)動(dòng)機(jī)控制系統(tǒng)周期控制、具有模式狀態(tài)遷移、以計(jì)算任務(wù)為主等行為特征?;谛问交P偷姆治鲵?yàn)證,我們將在后續(xù)文章中作更為深入和系統(tǒng)化的討論。

參考文獻(xiàn):

[1] EN50128、DO-333等工業(yè)標(biāo)準(zhǔn).

[2] 王政, 嵌入式周期控制系統(tǒng)的建模與分析, 2012, 華東師范大學(xué).

[3] Spivey, J.M., The Z notation: a reference manual. International, 1990. 15(2-3): p. 253-255.

[4] 蔡喁, 形式化方法在民機(jī)機(jī)載軟件中的應(yīng)用及適航考慮.

[5]Abrial, J.R., Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. 2010: DBLP. 428-430.

[6]Miao, W. and S. Liu, A Formal Engineering Framework for Service-Based Software Modeling. IEEE Transactions on Services Computing, 2013. 6(4): p. 536-550.

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 建模
    +關(guān)注

    關(guān)注

    1

    文章

    305

    瀏覽量

    60774
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27541
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于AUTOSAR的TTCAN通信協(xié)議的形式化建模與分析

    本文針對(duì)AUTOSAR的TTCAN協(xié)議進(jìn)行研究,并用Timed CSP(Timed Communication Sequential Processes)形式化語(yǔ)言對(duì)其進(jìn)行建模,通過(guò)LTL
    的頭像 發(fā)表于 12-30 13:23 ?2460次閱讀
    基于AUTOSAR的TTCAN通信協(xié)議的<b class='flag-5'>形式化</b><b class='flag-5'>建模</b>與分析

    形式化方法的工程

    驗(yàn)證工作作為典型的形式化方法的工程案例,應(yīng)用了形式化方法的需求分析、建模與驗(yàn)證,由此驗(yàn)證了形式化方法的可行性與有效性。
    的頭像 發(fā)表于 03-24 11:01 ?1484次閱讀
    <b class='flag-5'>形式化</b>方法的工程<b class='flag-5'>化</b>

    形式化方法的工業(yè)應(yīng)用:航空領(lǐng)域

    本文主要探討了形式化方法在航空領(lǐng)域中的工業(yè)應(yīng)用。航空領(lǐng)域作為安全攸關(guān)領(lǐng)域,其機(jī)載系統(tǒng)軟件的開(kāi)發(fā)有著高度復(fù)雜和嚴(yán)格的安全標(biāo)準(zhǔn)要求,以確保其安全可靠性。
    的頭像 發(fā)表于 08-21 15:45 ?1099次閱讀
    <b class='flag-5'>形式化</b>方法的工業(yè)應(yīng)用:航空領(lǐng)域

    形式化方法和測(cè)試技術(shù)及其在安全中的應(yīng)用

    本文回顧和討論了形式化方法和測(cè)試技術(shù),以及形式規(guī)格說(shuō)明可以用于測(cè)試用例生成、測(cè)試順序確定的途徑;并提出了將形式化方法和測(cè)試技術(shù)應(yīng)用于安全保密設(shè)備。關(guān)鍵詞 形式
    發(fā)表于 06-11 10:49 ?25次下載

    種服務(wù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的形式化描述方法_陳鵬

    種服務(wù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的形式化描述方法_陳鵬
    發(fā)表于 03-14 17:10 ?2次下載

    形式化的學(xué)習(xí)過(guò)程建模_鐘偉平

    形式化的學(xué)習(xí)過(guò)程建模_鐘偉平
    發(fā)表于 03-19 11:45 ?0次下載

    Web服務(wù)系統(tǒng)的形式化的語(yǔ)義模型

    針對(duì)Web服務(wù)的組合與驗(yàn)證問(wèn)題,在范疇理論描述框架的基礎(chǔ)上,引入進(jìn)程代數(shù)描述服務(wù)組件的外部行為,為Web服務(wù)系統(tǒng)的架構(gòu)描述建立了形式化的語(yǔ)義模型。Web服務(wù)作為范疇理論中的對(duì)象節(jié)點(diǎn),服務(wù)間的交互
    發(fā)表于 01-09 15:14 ?0次下載
    Web服務(wù)系統(tǒng)的<b class='flag-5'>形式化</b>的語(yǔ)義模型

    基于幾何代數(shù)的高階邏輯形式化建模

    計(jì)算和建模分析的傳統(tǒng)方法,如數(shù)值計(jì)算方法和符號(hào)方法等,都存在計(jì)算不精確或者不完備等問(wèn)題,高階邏輯定理證明是驗(yàn)證系統(tǒng)正確的種嚴(yán)密的形式化方法.在高階邏輯證明工具HOL-Light中建立了幾何代數(shù)系統(tǒng)的
    發(fā)表于 01-16 18:09 ?0次下載

    面向航天嵌入式的形式化建模

    航天嵌入式軟件是航天型號(hào)任務(wù)成敗的關(guān)鍵之.航天嵌入式軟件是種周期性、多模式的軟件.軟件的每個(gè)模式表示系統(tǒng)處于定的狀態(tài),并進(jìn)行相應(yīng)的復(fù)雜計(jì)算.因此,提出了種名為SPARDL的
    發(fā)表于 02-06 16:25 ?1次下載

    如何使用形式化方法的3D虛擬祭祀場(chǎng)景建模語(yǔ)言與環(huán)境

    針對(duì)現(xiàn)有三維(3D)場(chǎng)景建模方法普遍存在著業(yè)務(wù)耦合度高,復(fù)雜場(chǎng)景對(duì)象屬性和特征描述能力不強(qiáng)、不豐富,不能很好地解決3D虛擬祭祀場(chǎng)景建模的問(wèn)題,提出了基于形式化方法的場(chǎng)景
    發(fā)表于 01-02 14:13 ?9次下載
    如何使用<b class='flag-5'>一</b>種<b class='flag-5'>形式化</b>方法的3D虛擬祭祀場(chǎng)景<b class='flag-5'>建模</b>語(yǔ)言與環(huán)境

    形式化方法背后的動(dòng)因和關(guān)鍵技術(shù)及行業(yè)應(yīng)用

    系列簡(jiǎn)介:形式化方法在計(jì)算機(jī)和軟件工程學(xué)科中作為個(gè)學(xué)科分支,正在越來(lái)越多地進(jìn)入工業(yè)界諸多實(shí)踐領(lǐng)域。以DO-333適航標(biāo)準(zhǔn)為代表的工業(yè)標(biāo)準(zhǔn),亦對(duì)軟件開(kāi)發(fā)過(guò)程明確提出了采用形式化方法的要求。為此,結(jié)合
    的頭像 發(fā)表于 06-10 10:49 ?1336次閱讀
    <b class='flag-5'>形式化</b>方法背后的動(dòng)因和關(guān)鍵技術(shù)及行業(yè)應(yīng)用

    鑒源論壇 · 觀模丨基于AUTOSAR的TTCAN通信協(xié)議的形式化建模與分析

    本文針對(duì)AUTOSAR的TTCAN協(xié)議進(jìn)行研究,并用Timed CSP(Timed Communication Sequential Processes)形式化語(yǔ)言對(duì)其進(jìn)行建模,通過(guò)LTL
    的頭像 發(fā)表于 01-04 16:12 ?1169次閱讀
    鑒源論壇 · 觀模丨基于AUTOSAR的TTCAN通信協(xié)議的<b class='flag-5'>形式化</b><b class='flag-5'>建模</b>與分析

    形式化方法基本原理初探

    形式化方法是基于嚴(yán)格的數(shù)學(xué)基礎(chǔ),通過(guò)采用數(shù)學(xué)邏輯證明來(lái)對(duì)計(jì)算機(jī)軟硬件系統(tǒng)進(jìn)行建模、規(guī)約、分析、推理和驗(yàn)證,是用于保證計(jì)算機(jī)軟硬件系統(tǒng)正確性以及安全性的種重要方法。
    的頭像 發(fā)表于 01-30 16:42 ?1199次閱讀
    <b class='flag-5'>形式化</b>方法基本原理初探

    TPT19新特性之形式化需求:自動(dòng)生成測(cè)試用例

    在測(cè)試形式化需求的主題上,我們又向前邁進(jìn)了步。 如今,已經(jīng)可以使用TPT自動(dòng)評(píng)估形式化需求。在TPT 19中,相應(yīng)的測(cè)試數(shù)據(jù)現(xiàn)在可以鍵生成。 ? 這還在測(cè)試中嗎?是的,但是完全自
    的頭像 發(fā)表于 04-23 16:48 ?522次閱讀
    TPT19新特性之<b class='flag-5'>形式化</b>需求:自動(dòng)生成測(cè)試用例

    形式化方法的工業(yè)應(yīng)用:軌交領(lǐng)域

    文將聚焦于軌交領(lǐng)域,從領(lǐng)域?qū)S玫男枨笞珜?xiě)與分析工具Prema入手,介紹形式化方法在工業(yè)中的實(shí)際應(yīng)用。
    的頭像 發(fā)表于 08-08 15:20 ?636次閱讀
    <b class='flag-5'>形式化</b>方法的工業(yè)應(yīng)用:軌交領(lǐng)域