王文浩, 畢文豪, 張 安, 范秋岑
(西北工業(yè)大學(xué)航空學(xué)院, 陜西 西安 710072)
民機(jī)研制是一個(gè)涉及多學(xué)科、多領(lǐng)域的高度集成復(fù)雜的系統(tǒng)工程[1]。傳統(tǒng)的民機(jī)研制都是基于文檔管理的,一方面由系統(tǒng)設(shè)計(jì)師人工鏈接設(shè)計(jì)成果與需求之間的關(guān)系,迭代開發(fā)周期長(zhǎng);另一方面,不同領(lǐng)域的設(shè)計(jì)人員從文檔中讀取信息很容易產(chǎn)生理解偏差,從而導(dǎo)致在設(shè)計(jì)過程中需要反復(fù)迭代修正,嚴(yán)重影響了復(fù)雜系統(tǒng)的開發(fā)效率[2-3]。
系統(tǒng)工程是一種自上而下的綜合、開發(fā)和運(yùn)行的一個(gè)真實(shí)系統(tǒng)的迭代過程,以接近于最優(yōu)的方式滿足系統(tǒng)的全部需求[4]。系統(tǒng)工程革新的推動(dòng)力來自克服已知缺陷和不利的需求,這些因素會(huì)對(duì)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)產(chǎn)生不利影響。近年來,在需求牽引和模型化技術(shù)的推動(dòng)下,基于模型的系統(tǒng)工程(model-based systems engineering, MBSE)應(yīng)運(yùn)而生[5-6]。2007年國(guó)際系統(tǒng)工程學(xué)會(huì)在《系統(tǒng)工程遠(yuǎn)景2020》中將MBSE定義為“支持以概念設(shè)計(jì)階段開始并持續(xù)貫穿開發(fā)和后期的生命周期階段的系統(tǒng)需求、設(shè)計(jì)、分析、驗(yàn)證和確認(rèn)活動(dòng)的正規(guī)化建模應(yīng)用”,用于解決具有跨平臺(tái)、跨領(lǐng)域、高綜合性等特點(diǎn)的復(fù)雜系統(tǒng)開發(fā)中遇到的系統(tǒng)問題,并聯(lián)合對(duì)象管理組織(object management group, OMG)在統(tǒng)一建模語言(unified modeling language, UML)的基礎(chǔ)上開發(fā)了用于描述大型復(fù)雜系統(tǒng)的系統(tǒng)建模語言(system modeling language, SysML)可以支持民機(jī)系統(tǒng)全壽命周期內(nèi)的需求分析與管理、功能設(shè)計(jì)與分配、模型架構(gòu)與管理、系統(tǒng)建模與仿真以及測(cè)試評(píng)估與計(jì)劃管理工作[4-7]。
敏捷系統(tǒng)工程的意義在于控制系統(tǒng)和流程所展示出來的不可預(yù)見性、不確定性和變化的條件下能夠保持有效的運(yùn)行。敏捷的價(jià)值主張是增量式的迭代和風(fēng)險(xiǎn)的管控,根據(jù)需求演進(jìn)的可能成本進(jìn)行權(quán)衡分析,并針對(duì)不同情形和變化做出適應(yīng)和響應(yīng),能夠在系統(tǒng)設(shè)計(jì)早期,推動(dòng)持續(xù)的驗(yàn)證和測(cè)試驅(qū)動(dòng)的開發(fā),從而降低系統(tǒng)研發(fā)的風(fēng)險(xiǎn)[8-9]。本文引入MBSE理論和敏捷系統(tǒng)工程設(shè)計(jì)方法,研究敏捷系統(tǒng)工程框架下的民機(jī)MBSE設(shè)計(jì)方法,針對(duì)關(guān)鍵子系統(tǒng)用例展開基于場(chǎng)景的用例分析,采用循環(huán)迭代的方式構(gòu)建描述子系統(tǒng)行為的活動(dòng)流和黑盒狀態(tài)機(jī),并將需求與場(chǎng)景交互請(qǐng)求即功能相鏈接。
基于系統(tǒng)工程方法論和敏捷系統(tǒng)相關(guān)概念[5-10],構(gòu)建基于敏捷系統(tǒng)工程的民機(jī)系統(tǒng)研制流程,如圖1所示。首先開展運(yùn)行分析,深入剖析民機(jī)市場(chǎng)運(yùn)行與系統(tǒng)概念設(shè)計(jì)的內(nèi)在機(jī)理,然后將捕獲到的需求定義進(jìn)行分析和管理,定義利益相關(guān)方需求。將其作為設(shè)計(jì)研發(fā)的目標(biāo)與約束,進(jìn)行利益相關(guān)方需求用例場(chǎng)景分析,提高利益相關(guān)方在系統(tǒng)設(shè)計(jì)早期的參與程度。在這一過程中,以文本需求和基于順序圖的場(chǎng)景來捕獲利益相關(guān)方需求,深入剖析需求與系統(tǒng)服務(wù)請(qǐng)求之間的鏈接關(guān)系,將需求聚集成相關(guān)集合,稱為用例,用以描述系統(tǒng)的運(yùn)行能力。
圖1 基于敏捷系統(tǒng)工程的民機(jī)系統(tǒng)研制流程Fig.1 Civil aircraft system development process based on agile system engineering
通過反復(fù)迭代將更新后的需求與相應(yīng)的系統(tǒng)設(shè)計(jì)參數(shù)相結(jié)合,定義系統(tǒng)需求并展開用例場(chǎng)景分析,建立描述系統(tǒng)黑盒視圖的活動(dòng)功能流和狀態(tài)機(jī)視圖。繼而開展系統(tǒng)架構(gòu)的分析與設(shè)計(jì),將選取的系統(tǒng)架構(gòu)方案與相應(yīng)的跨學(xué)科和子系統(tǒng)接口轉(zhuǎn)交下游工程,通過反復(fù)迭代最終得到符合客戶需求的產(chǎn)品。
MBSE的核心是采用模型驅(qū)動(dòng)的方式進(jìn)行系統(tǒng)設(shè)計(jì),對(duì)設(shè)計(jì)中每一階段的中間產(chǎn)出物進(jìn)行統(tǒng)一的模型化管理,提供可追溯性的連接,保持?jǐn)?shù)據(jù)在工作產(chǎn)品和工作活動(dòng)間的一致性[5-6]。如圖2所示,在基于模型的系統(tǒng)研發(fā)過程中,系統(tǒng)模型的中間產(chǎn)出物主要由功能模型(一系列可執(zhí)行的狀態(tài)機(jī)和活動(dòng)流)、架構(gòu)模型(系統(tǒng)及子系統(tǒng)模塊定義)、需求模型(用例場(chǎng)景)和參數(shù)模型(系統(tǒng)的設(shè)計(jì)約束)所構(gòu)成[4,11-12]。在正向設(shè)計(jì)和反向迭代的過程中,子系統(tǒng)模型的主要內(nèi)容也可以從這4個(gè)視角去描述。
圖2 MBSE設(shè)計(jì)中間產(chǎn)出物Fig.2 Intermediate output of MBSE design process
其中,功能模型是表達(dá)功能之間依賴關(guān)系的靜態(tài)描述和功能實(shí)現(xiàn)過程的動(dòng)態(tài)模擬,從SysML語言規(guī)范出發(fā),通過分析各種模型元素的特點(diǎn),構(gòu)建出可重用的SysML功能模型庫。需求模型則是以用例(以及相關(guān)案例敘述)的形式來代替?zhèn)鹘y(tǒng)基于文字的功能性描述,或者以SysML需求圖的形式來顯示系統(tǒng)需求和系統(tǒng)模型的依賴元素及追溯關(guān)系[13-14]。
值得注意的是,在利益相關(guān)方需求分析、系統(tǒng)需求分析和系統(tǒng)架構(gòu)階段,對(duì)于設(shè)計(jì)過程中需求演進(jìn)的可能成本進(jìn)行增量式的迭代更新,克服會(huì)對(duì)系統(tǒng)體系結(jié)構(gòu)產(chǎn)生不利影響的需求。同時(shí),項(xiàng)目的風(fēng)險(xiǎn)控制、研發(fā)的過程管理、需求與模型的變更管理和基線管理等將貫穿系統(tǒng)的整個(gè)開發(fā)過程。
作為民機(jī)系統(tǒng)研發(fā)的關(guān)鍵任務(wù),功能建模[15-18]是建立技術(shù)系統(tǒng)功能模型的設(shè)計(jì)活動(dòng)。1969年Simon在《人工科學(xué)》雜志中提出系統(tǒng)具有內(nèi)部和外部環(huán)境,而功能則視為是內(nèi)部環(huán)境的抽象,位于內(nèi)部和外部環(huán)境的接口處[19]。1998年Chakrabarti提出了行為和目的兩種函數(shù)視圖,將功能視為滿足目的所做的行為,并提出了本體論的目的論建模。2007年Gero建立功能-行為-結(jié)構(gòu)(function-behavior-structure,FBS)本體[16-17],從語義的角度介紹了功能、行為、結(jié)構(gòu)的概念及其與主觀和客觀領(lǐng)域需求之間的關(guān)系。國(guó)內(nèi)陳勇等人[20-21]在FBS本體理論的基礎(chǔ)上提出狀態(tài)-行為-功能(state-behavior-function, SBF)的觀念,旨在解決技術(shù)系統(tǒng)的多狀態(tài)分析問題,并將其用于機(jī)械系統(tǒng)的功能建模中。除此以外,IDEFO[22]和功能方法樹等方法也都分別用在系統(tǒng)功能建模中,但只有SysML被應(yīng)用于基于Harmony-SE的民機(jī)研制領(lǐng)域,并得到了廣泛驗(yàn)證[23-28]。
在功能建模的過程中,場(chǎng)景是特定條件下系統(tǒng)某一部分的執(zhí)行樣例[29],是執(zhí)行用例的系統(tǒng)與系統(tǒng)所在環(huán)境中參與者間的特定交互。而用例則是系統(tǒng)功能的頂層描述,是外部執(zhí)行者能夠直接觸發(fā)或者參與的系統(tǒng)行為[8,30]。通常情況下,用例與場(chǎng)景之間的關(guān)系是一對(duì)多的映射關(guān)系。如圖3所示,在系統(tǒng)運(yùn)行過程中,其功能體現(xiàn)在與系統(tǒng)交互的參與者與所感興趣之系統(tǒng)的交互請(qǐng)求,在特定的運(yùn)行環(huán)境中,通過按照特定值和特定時(shí)間順序執(zhí)行的請(qǐng)求集和響應(yīng)集來滿足系統(tǒng)設(shè)計(jì)需求。
圖3 系統(tǒng)運(yùn)行環(huán)境與服務(wù)請(qǐng)求Fig.3 System operating environment and service request
基于場(chǎng)景的功能建模方法就是以這種請(qǐng)求集和響應(yīng)集(場(chǎng)景流)為出發(fā)點(diǎn),模擬系統(tǒng)的實(shí)際運(yùn)行階段,對(duì)每一個(gè)用例構(gòu)建一個(gè)可執(zhí)行的模型,然后通過執(zhí)行或仿真,演示系統(tǒng)執(zhí)行用例的輸出結(jié)果是否滿足設(shè)計(jì)需求?;趫?chǎng)景的功能建模流程如圖4所示,主要分為以下5個(gè)步驟。
圖4 基于場(chǎng)景的功能建模流程Fig.4 Scenario-based function modeling process
(1) 識(shí)別系統(tǒng)用例
首先是識(shí)別系統(tǒng)用例,根據(jù)系統(tǒng)需求即復(fù)雜系統(tǒng)的功能描述建立頂層用例視圖,并將系統(tǒng)需求分配到對(duì)應(yīng)的用例中[31]。對(duì)于民機(jī)系統(tǒng)來說,其系統(tǒng)需求的類型主要由運(yùn)行需求、設(shè)計(jì)需求、服務(wù)品質(zhì)需求(quality of service,QoS)和后勤保障等需求構(gòu)成,如圖5所示。值得注意的是,將飛機(jī)置于其運(yùn)營(yíng)體系也就是航空運(yùn)輸系統(tǒng)中,其體系需求主要體現(xiàn)在與空中交通控制系統(tǒng)、燃油分配系統(tǒng)、機(jī)場(chǎng)系統(tǒng)和票務(wù)系統(tǒng)的交互過程中。根據(jù)飛機(jī)級(jí)需求種類構(gòu)建飛機(jī)級(jí)功能如圖6所示,在識(shí)別系統(tǒng)用例的過程中,需要考慮系統(tǒng)的狀態(tài)和模式、信息的一致性、產(chǎn)品的領(lǐng)域背景、技術(shù)的局限性等。需要注意的是,對(duì)于圖5中所列出的系統(tǒng)功能并不是都需要使用用例來描述,例如結(jié)構(gòu)完整性功能、升力和阻力控制等。用例是外部執(zhí)行者能夠直接觸發(fā)或者參與的系統(tǒng)行為,只有這部分行為(功能)才需要使用用例進(jìn)行建模。
圖5 民機(jī)系統(tǒng)需求種類Fig.5 Classification of civil aircraft system requirements
圖6 民機(jī)飛機(jī)級(jí)功能Fig.6 Aircraft level functions of civil aircraft
假設(shè)一個(gè)系統(tǒng)S一共包含n個(gè)系統(tǒng)需求,記為SR={R1,R2,…,Ri,…,Rn},1≤i≤n,建立l個(gè)用例SUC=(UC1,UC2,…,UCj,…,UCl),1≤j≤l,第j個(gè)用例包含的需求個(gè)數(shù)為tj,則滿足
(1)
理想情況下式(1)為等式,用例之間滿足獨(dú)立性原則的同時(shí)與系統(tǒng)行為緊密耦合,能夠單獨(dú)對(duì)系統(tǒng)行為進(jìn)行推斷。一般來說,用例包含用例名稱、目的、描述、前置條件和后置條件,如表1所示。
表1 用例的基本屬性Table 1 Basic attributes of use cases
對(duì)于民用飛機(jī)而言,根據(jù)飛機(jī)的任務(wù)剖面構(gòu)建其頂層用例如圖7所示,以下降用例為例,其使命表達(dá)式如圖8所示。
圖7 民機(jī)飛機(jī)級(jí)用例Fig.7 Aircraft level use cases of civil aircraft
圖8 下降用例使命表達(dá)式Fig.8 Mission expression of altitude descent use case
(2) 定義用例場(chǎng)景
其次是定義用例場(chǎng)景,對(duì)于上一階段定義的系統(tǒng)用例,結(jié)合用例的接口和端口以塊的形式描述參與者與用例之間的輸入輸出流數(shù)據(jù),使用順序圖展示特定條件下系統(tǒng)某一部分的執(zhí)行樣例(俗稱場(chǎng)景),通常單個(gè)順序圖表示單個(gè)場(chǎng)景,用例由多個(gè)場(chǎng)景所構(gòu)成,包括正常場(chǎng)景和雨天場(chǎng)景。
假設(shè)第j個(gè)用例包含m個(gè)場(chǎng)景,記為SCEj={Scej1,Scej2,…,Sceji,…,Scejm}。第k個(gè)場(chǎng)景中包含的需求個(gè)數(shù)為rk,則滿足
(2)
理想情況下式(2)為等式,用例滿足獨(dú)立性原則且需求在用例場(chǎng)景中唯一顯示,能夠單獨(dú)對(duì)系統(tǒng)的運(yùn)行場(chǎng)景進(jìn)行約束。一般來說,場(chǎng)景包含所屬用例、場(chǎng)景ID、描述、前置條件和后置條件。場(chǎng)景的意義在于識(shí)別對(duì)系統(tǒng)可能產(chǎn)生不利影響的需求,在圖4中場(chǎng)景分析的內(nèi)容是定義執(zhí)行用例的系統(tǒng)與系統(tǒng)所在環(huán)境中參與者間的特定交互,從中發(fā)現(xiàn)對(duì)系統(tǒng)產(chǎn)生不利影響的需求并最終導(dǎo)致需求變更。在這一過程中,敏捷系統(tǒng)工程體現(xiàn)在系統(tǒng)需求的反復(fù)迭代中,用例包含的每一個(gè)需求與參與者和所感興趣之系統(tǒng)的服務(wù)請(qǐng)求相關(guān)聯(lián),并按照時(shí)間的先后順序排列。
(3) 定義用例活動(dòng)功能流
活動(dòng)圖是描述系統(tǒng)功能的黑盒視圖,用來展示系統(tǒng)在有限范圍內(nèi)的行為和功能流(物質(zhì)、能量)[8,30]。在這一階段中,將主要場(chǎng)景作為備選流來添加(決策)或者合并(匯合)運(yùn)行,使用活動(dòng)圖對(duì)系統(tǒng)的行為特性進(jìn)行建模。通常用例與活動(dòng)圖一一對(duì)應(yīng),活動(dòng)圖中每一個(gè)平行的流構(gòu)成一個(gè)單獨(dú)的場(chǎng)景集,場(chǎng)景集內(nèi)決策點(diǎn)的每個(gè)流構(gòu)成一個(gè)不同的場(chǎng)景。
(4) 定義接口與端口
系統(tǒng)用例和參與者之間的服務(wù)請(qǐng)求是基于事件的,在這一過程中,根據(jù)迭代完成的場(chǎng)景時(shí)序圖和活動(dòng)圖中流的信息,迭代更新系統(tǒng)用例的端口和接口,用來導(dǎo)出用例的狀態(tài)機(jī)視圖。
(5) 導(dǎo)出用例狀態(tài)機(jī)
狀態(tài)機(jī)圖是一種行為圖,和活動(dòng)圖以及順序圖一樣是系統(tǒng)的一種動(dòng)態(tài)視圖,不同之處在于其關(guān)注的是系統(tǒng)如何根據(jù)隨時(shí)間發(fā)生的事件改變狀態(tài)[8,30]。在這一步驟中,根據(jù)所構(gòu)建的場(chǎng)景順序圖和活動(dòng)圖,逐步迭代構(gòu)建用例的完整狀態(tài)機(jī),用來描述系統(tǒng)隨事件的變化過程。通常情況下,狀態(tài)機(jī)由狀態(tài)、事件、守衛(wèi)和動(dòng)作集構(gòu)成,如圖9所示。狀態(tài)之間的轉(zhuǎn)移過程由事件觸發(fā),守衛(wèi)判斷是否滿足狀態(tài)轉(zhuǎn)移條件,如果滿足則執(zhí)行預(yù)設(shè)的動(dòng)作集,并完成系統(tǒng)狀態(tài)之間的轉(zhuǎn)移過程。
圖9 系統(tǒng)狀態(tài)之間的轉(zhuǎn)移Fig.9 Transition between system states
下面以民機(jī)自動(dòng)飛行控制系統(tǒng)(automatic flight control system, AFCS)為例,來驗(yàn)證上述基于場(chǎng)景的功能建模方法?,F(xiàn)代民機(jī)上的AFCS主要在飛行管理計(jì)算機(jī)的統(tǒng)一管理下,配合自動(dòng)油門系統(tǒng)實(shí)現(xiàn)飛機(jī)的自動(dòng)控制和對(duì)發(fā)動(dòng)機(jī)推力的控制,實(shí)現(xiàn)飛機(jī)的起飛、爬升、巡航、下降、進(jìn)近和著陸階段的自動(dòng)控制。本節(jié)針對(duì)民機(jī)AFCS的基本功能描述構(gòu)建其頂層用例視圖,使用黑盒順序圖、活動(dòng)流和狀態(tài)機(jī)對(duì)高度控制用例展開功能分析,迭代更新其系統(tǒng)需求。
AFCS的功能主要包含飛機(jī)的姿態(tài)控制、空速與馬赫數(shù)控制、航跡控制(結(jié)合飛行管理計(jì)算機(jī)系統(tǒng))、高度與側(cè)向偏離控制、協(xié)調(diào)轉(zhuǎn)彎控制、自動(dòng)油門控制和自動(dòng)配平。根據(jù)民機(jī)AFCS的功能描述,構(gòu)建其頂層用例視圖,如圖10所示。其中,馬赫數(shù)配平是為了防止跨音速飛行時(shí)飛機(jī)進(jìn)入馬赫下俯姿態(tài),系統(tǒng)應(yīng)在俯仰通道中設(shè)置自動(dòng)抬頭補(bǔ)償來克服這種危險(xiǎn)。當(dāng)縱向AFCS脫離對(duì)飛機(jī)的控制時(shí),為了減小或完全抵消舵機(jī)上產(chǎn)生的鉸鏈力矩,系統(tǒng)應(yīng)能夠進(jìn)行俯仰自動(dòng)桿力配平,維持飛機(jī)縱向力矩的平衡。
圖10 民機(jī)AFCS用例Fig.10 Use case of civil aircraft AFCS
以高度控制用例為例,根據(jù)中國(guó)民用航空規(guī)章CCAR-25-R4定義其部分系統(tǒng)需求如圖11所示,對(duì)其展開基于場(chǎng)景的用例分析,在分析過程中對(duì)需求進(jìn)行增量式的迭代更新,克服會(huì)對(duì)系統(tǒng)體系結(jié)構(gòu)產(chǎn)生不利影響的需求,降低系統(tǒng)研發(fā)的風(fēng)險(xiǎn)。
圖11 高度控制用例系統(tǒng)需求Fig.11 System requirements of altitude control use case
定義高度控制用例的接口與端口,表示參與者與系統(tǒng)用例之間的交互請(qǐng)求,如圖12所示。
圖12 高度控制用例的接口和端口Fig.12 Interface and port of altitude control use case
選擇正常飛行場(chǎng)景如圖13所示,飛行員選擇目標(biāo)爬升高度和爬升率,確認(rèn)后飛機(jī)開始爬升或下降至指定高度,由高度保持系統(tǒng)維持目標(biāo)高度巡航。在該場(chǎng)景中,前置條件是飛機(jī)處于巡航狀態(tài),自動(dòng)駕駛儀、自動(dòng)航向、自動(dòng)速度均已打開,后置條件是飛機(jī)到達(dá)指定高度,重新回到巡航狀態(tài)。
圖13 高度控制用例正常操作場(chǎng)景Fig.13 Normal operation scenario of altitude control use case
通過對(duì)該場(chǎng)景進(jìn)行分析,可以發(fā)現(xiàn)當(dāng)飛機(jī)處于爬升狀態(tài)或者巡航(高度保持)狀態(tài)時(shí),AFCS應(yīng)該具有相應(yīng)的指示燈提示駕駛員,所以AltitudeLight()和ClimbRateLight()又可以衍生出更多的合理系統(tǒng)需求。例如,在爬升過程中,爬升指示燈常亮、高度保持等熄滅,爬升結(jié)束后高度保持燈常亮、爬升指示燈熄滅。同時(shí),在飛行過程中,儀表盤需要顯示當(dāng)前的速度、航向和機(jī)內(nèi)自檢狀態(tài)等信息。對(duì)所有可能的場(chǎng)景進(jìn)行建模,逐步迭代構(gòu)建高度控制用例活動(dòng)流。在這一過程中,假設(shè)飛機(jī)高度調(diào)整精度為100 ft,如果飛行員對(duì)飛機(jī)高度進(jìn)行微調(diào),則采用內(nèi)置爬升率,每次高度變化為100 ft。如圖14所示,飛機(jī)從默認(rèn)高度的巡航狀態(tài)開始,飛行員選擇指定高度和爬升率,確認(rèn)爬升后自動(dòng)飛行控制系統(tǒng)產(chǎn)生高度控制指令,從而改變飛行高度。
圖14 高度控制用例活動(dòng)流Fig.14 Activity flow of altitude control use case
圖15 高度控制用例狀態(tài)機(jī)Fig.15 State machine of altitude control use case event[guard]/action_list
從高度控制用例的場(chǎng)景活動(dòng)流模型中可以看出,AFCS在實(shí)現(xiàn)高度控制的過程中有3種狀態(tài):飛行狀態(tài)(高度保持)、爬升狀態(tài)和選擇狀態(tài)。高度控制用例的狀態(tài)機(jī)如圖15所示,飛機(jī)的默認(rèn)狀態(tài)就是在當(dāng)前高度的飛行狀態(tài),由飛行狀態(tài)到選擇狀態(tài)的遷移,由事件“選擇高度和爬升率”觸發(fā),存在最大爬升率和最大爬升高度限制,執(zhí)行的動(dòng)作集為儀表盤上顯示的預(yù)選高度和爬升率的變化。從選擇狀態(tài)到爬升狀態(tài)的遷移,由事件“確認(rèn)爬升計(jì)劃”觸發(fā),執(zhí)行高度控制指令。由爬升狀態(tài)到飛行狀態(tài)的遷移由事件“爬升正常結(jié)束或中止爬升計(jì)劃”觸發(fā),更新之后的用例接口和端口如圖16所示。
圖16 高度控制用例接口與端口(建模后)Fig.16 Interface and port of altitude control use case
在圖15所示的狀態(tài)機(jī)中,3個(gè)關(guān)鍵的狀態(tài)特性是進(jìn)入動(dòng)作(entry)、內(nèi)部執(zhí)行(do)和退出動(dòng)作(exit)。進(jìn)入動(dòng)作是每當(dāng)進(jìn)入一種狀態(tài)時(shí)執(zhí)行的動(dòng)作列表;內(nèi)部執(zhí)行是在該狀態(tài)內(nèi)執(zhí)行的動(dòng)作集;退出動(dòng)作是每當(dāng)離開這一狀態(tài)時(shí)采取的動(dòng)作。帶箭頭的實(shí)線是轉(zhuǎn)移,表示系統(tǒng)處于前一狀態(tài)且觸發(fā)轉(zhuǎn)移的事件發(fā)生時(shí),通過該路徑進(jìn)入新狀態(tài)。轉(zhuǎn)移的語法如下所示:
event [ guard ]/ action _ list
其中,事件event是在狀態(tài)機(jī)中觸發(fā)狀態(tài)轉(zhuǎn)移的事件。轉(zhuǎn)移上的事件是可選的;若省略,則一進(jìn)入該狀態(tài)就會(huì)發(fā)生轉(zhuǎn)移。守衛(wèi)guard用來判斷是否滿足狀態(tài)轉(zhuǎn)移條件,若滿足則執(zhí)行動(dòng)作集action_list,并完成系統(tǒng)狀態(tài)之間的轉(zhuǎn)移過程。
至此,民機(jī)自動(dòng)飛行控制系統(tǒng)的高度控制用例建模已基本完成,得到可執(zhí)行的狀態(tài)機(jī)和對(duì)應(yīng)的接口與端口。由于篇幅有限,本文只選取了高度控制用例展開基于場(chǎng)景的用例分析建模,模擬系統(tǒng)的實(shí)際運(yùn)行過程,在系統(tǒng)開發(fā)早期識(shí)別系統(tǒng)缺陷,降低系統(tǒng)研發(fā)的風(fēng)險(xiǎn)。在實(shí)際的建模工作中,應(yīng)該對(duì)圖10中所示的所有用例展開建模分析工作,得到每一項(xiàng)能力的系統(tǒng)模型,將其整合成一個(gè)完整的飛機(jī)子系統(tǒng)接口模型,為后續(xù)的架構(gòu)設(shè)計(jì)工作提供支撐。
本文將敏捷系統(tǒng)工程概念引入到民機(jī)研制過程中,提出了敏捷框架下的民機(jī)研制流程,并結(jié)合系統(tǒng)建模語言定義了基于場(chǎng)景的功能建模方法,最后采用該方法對(duì)民機(jī)AFCS的高度控制用例展開基于場(chǎng)景的用例分析建模工作。在功能建模過程中,使用需求圖分配系統(tǒng)需求到目標(biāo)用例、使用順序圖和活動(dòng)圖定義場(chǎng)景活動(dòng)流、使用塊圖和狀態(tài)機(jī)構(gòu)建系統(tǒng)在實(shí)現(xiàn)目標(biāo)用例時(shí)的狀態(tài)轉(zhuǎn)移過程和接口控制。該方法模擬了系統(tǒng)的實(shí)際運(yùn)行過程,迭代更新了系統(tǒng)設(shè)計(jì)需求,提高了模型的可靠性和可信度,顯著降低了復(fù)雜系統(tǒng)的研發(fā)風(fēng)險(xiǎn)。