浦樂,王西超,楊藝
1.中國空空導(dǎo)彈研究院,河南洛陽471000
2.上海電機(jī)學(xué)院電氣學(xué)院,上海201306
3.江蘇理工學(xué)院,江蘇常州213000
空空導(dǎo)彈系統(tǒng)是一個(gè)涉及機(jī)械、控制、電子、液壓和軟件等多種領(lǐng)域的復(fù)雜大系統(tǒng)[1,2]。傳統(tǒng)的空空導(dǎo)彈設(shè)計(jì)方法是一種文檔驅(qū)動(dòng)式設(shè)計(jì)方法,主要包括系統(tǒng)方案設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)、系統(tǒng)軟硬件聯(lián)調(diào)、系統(tǒng)驗(yàn)證分析等多個(gè)步驟。隨著航空技術(shù)的發(fā)展,當(dāng)前空空導(dǎo)彈設(shè)計(jì)方法轉(zhuǎn)變?yōu)榛谖臋n和數(shù)字化模型混合的設(shè)計(jì)方法,但其本質(zhì)上還是文檔驅(qū)動(dòng)式的設(shè)計(jì)方法。該方法各階段的設(shè)計(jì)成果均為文字、圖表等文檔,導(dǎo)致在各階段之間傳遞的信息也是各種文檔,造成了設(shè)計(jì)方案表達(dá)不充分、信息表達(dá)的二義性、領(lǐng)域設(shè)計(jì)之間存在鴻溝、文檔的不可執(zhí)行性以及軟件測(cè)試工作量大等缺點(diǎn)。近年來,基于模型的系統(tǒng)工程(MBSE)技術(shù)越來越得到工業(yè)界的認(rèn)可[3-5],MBSE 是系統(tǒng)設(shè)計(jì)工作通過數(shù)字化設(shè)計(jì)手段的實(shí)現(xiàn),因此在工作流程上與傳統(tǒng)系統(tǒng)工程并無太大差異,仍然分為需求分析、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)三個(gè)步驟[6-8]。MBSE與傳統(tǒng)系統(tǒng)工程方法主要的區(qū)別是利用模型代替?zhèn)鹘y(tǒng)的文檔方式,模型具有的唯一性和可執(zhí)行性是其最大的特點(diǎn)?;诖?,本文引入基于SysML的系統(tǒng)架構(gòu)建模方法[9,10],在方案設(shè)計(jì)階段利用基于MBSE的設(shè)計(jì)方法對(duì)空空導(dǎo)彈系統(tǒng)架構(gòu)進(jìn)行建模,并對(duì)不同系統(tǒng)架構(gòu)進(jìn)行仿真分析,最終獲得最優(yōu)系統(tǒng)架構(gòu),實(shí)現(xiàn)在方案論證階段減少甚至消除設(shè)計(jì)中的邏輯錯(cuò)誤,避免到設(shè)計(jì)后期才發(fā)現(xiàn)由于邏輯錯(cuò)誤而造成循環(huán)設(shè)計(jì)[11-13]。
本文展開基于MBSE 的空空導(dǎo)彈系統(tǒng)架構(gòu)設(shè)計(jì)工作。從需求分析和用例出發(fā),利用RHAPSODY 建模工具,基于MBSE 方法和SysML建模語言,對(duì)空空導(dǎo)彈系統(tǒng)架構(gòu)進(jìn)行建模與仿真,主要包括基于SysML 的需求分析、系統(tǒng)分析和系統(tǒng)設(shè)計(jì)三個(gè)部分,最終實(shí)現(xiàn)在空空導(dǎo)彈系統(tǒng)方案設(shè)計(jì)階段對(duì)其架構(gòu)進(jìn)行仿真,獲得最優(yōu)系統(tǒng)架構(gòu)。
該階段目的是將軍方原始需求轉(zhuǎn)化為系統(tǒng)需求,同時(shí)依據(jù)需求定義空空導(dǎo)彈用例,詳細(xì)描述系統(tǒng)的行為,主要通過SysML的需求圖和用例圖表達(dá)。
該階段主要是把系統(tǒng)需求分解為功能性需求和非功能性需求,同時(shí)將系統(tǒng)功能性需求轉(zhuǎn)化為若干個(gè)可執(zhí)行模型,利用SysML 的順序圖、活動(dòng)圖和狀態(tài)來實(shí)現(xiàn)每一個(gè)用例的分析。
該階段分為架構(gòu)分析與架構(gòu)設(shè)計(jì)兩個(gè)階段。架構(gòu)分析階段是利用順序圖、活動(dòng)圖和狀態(tài)圖對(duì)不同的系統(tǒng)架構(gòu)進(jìn)行評(píng)估分析,獲得最佳系統(tǒng)架構(gòu)。架構(gòu)設(shè)計(jì)階段功能性需求分配到系統(tǒng)架構(gòu)的結(jié)構(gòu)中,從而完成系統(tǒng)設(shè)計(jì)。
需求分析是指對(duì)空空導(dǎo)彈進(jìn)行詳細(xì)的分析,弄清楚空空導(dǎo)彈的戰(zhàn)術(shù)要求,包括需要輸入什么命令、什么數(shù)據(jù),最后應(yīng)該輸出什么、做出什么機(jī)動(dòng)動(dòng)作。具體的需求分析包括功能需求、性能需求、接口需求和約束需求等。首先將DOORS中條目化的軍方需求和量化的性能需求逐條轉(zhuǎn)化為SysML的需求圖,使得每條細(xì)化后的需求都能夠以用例圖來進(jìn)行動(dòng)態(tài)行為分析。需求模型的功能主要是將軍方提出的戰(zhàn)術(shù)需求轉(zhuǎn)換為系統(tǒng)需求,軍方需求是以自然語言表達(dá)的,如飛行速度達(dá)到馬赫數(shù)5等,其中系統(tǒng)需求的表達(dá)形式要符合空空導(dǎo)彈領(lǐng)域?qū)I(yè)術(shù)語規(guī)范。需求模型既包含軍方對(duì)空空導(dǎo)彈提出的各種需求,如空空導(dǎo)彈的功能需求和非功能性需求等,還包含相關(guān)的空空導(dǎo)彈設(shè)計(jì)規(guī)范和空空導(dǎo)彈設(shè)計(jì)相關(guān)的國軍標(biāo)。SysML設(shè)計(jì)的空空導(dǎo)彈需求模型可以逐層分解為多個(gè)具體的需求圖,圖1為其中一幅空空導(dǎo)彈需求圖,圖中軍方需求ID 用“ARMY”開頭,系統(tǒng)需求ID 用“SYS”開頭。其中“ARMY_GJB1”和“ARMY_GJB2”表示相關(guān)的國軍標(biāo)軍方需求,其余的9個(gè)需求均是由這兩個(gè)軍方需求進(jìn)行內(nèi)部具體分析獲得?!埃迹紅race>>”由系統(tǒng)需求指向軍方需求,表示該系統(tǒng)需求是由所連接的軍方需求進(jìn)一步分析獲得。另外要注意的是,軍方需求和系統(tǒng)需求不是一一對(duì)應(yīng)的關(guān)系,如系統(tǒng)需求“SYS4”是由兩個(gè)軍方需求共同具體分析后獲得的,系統(tǒng)需求本身之間也存在層次性關(guān)聯(lián),如系統(tǒng)需求“SYS2.1”和“SYS2.2”均是由“SYS2”進(jìn)一步細(xì)化而來。
系統(tǒng)分析主要運(yùn)用SysML 的行為圖,包括用例圖、活動(dòng)圖、狀態(tài)圖和順序圖。其中用例圖用來描述系統(tǒng)的功能性需求行為,并確定系統(tǒng)邊界和參與者;活動(dòng)圖描述系統(tǒng)的工作流程;狀態(tài)圖描述單個(gè)對(duì)象的內(nèi)部狀態(tài)變化;順序圖描述不同對(duì)象之間的順序交互。
圖1 空空導(dǎo)彈頂層需求圖Fig.1 Requirements diagram of air-to-air missile
在軍方需求模型設(shè)計(jì)完成后,空空導(dǎo)彈設(shè)計(jì)師需要將需求模型分為功能性需求和非功能性需求,其中功能性需求主要包含空空導(dǎo)彈本身需要做的事情以及軍方期望空空導(dǎo)彈將來要做的事情。非功能性需求主要包含空空導(dǎo)彈的性能、可靠性和安全性等。其中,功能性需求能夠使用用例圖進(jìn)行建模??湛諏?dǎo)彈用例模型建模的基本方法是:首先依據(jù)功能性需求劃定空空導(dǎo)彈系統(tǒng)邊界,然后根據(jù)空空導(dǎo)彈的典型使用方式挖掘出在系統(tǒng)邊界以外直接與空空導(dǎo)彈進(jìn)行交互的各種參與者,最后針對(duì)功能性需求所期望的空空導(dǎo)彈應(yīng)該提供的每一項(xiàng)功能定義一個(gè)用例。圖2為空空導(dǎo)彈主用例圖,主要包含初制導(dǎo)、中制導(dǎo)、末制導(dǎo)、彈道解算和攻擊區(qū)解算5個(gè)子用例。彈道解算用于實(shí)時(shí)解算攻擊過程中被攻擊目標(biāo)的位置、速度和姿態(tài)信息,初制導(dǎo)、中制導(dǎo)和末制導(dǎo)均包含彈道解算用例;攻擊區(qū)計(jì)算用例是計(jì)算空空導(dǎo)彈的攻擊覆蓋范圍,其方法是利用空空導(dǎo)彈載機(jī)和被攻擊目標(biāo)的相對(duì)態(tài)勢(shì)進(jìn)行計(jì)算,根據(jù)計(jì)算結(jié)果判斷空空導(dǎo)彈是否滿足發(fā)射條件,初制導(dǎo)包含攻擊區(qū)計(jì)算用例。
按照以上方法,對(duì)每個(gè)功能性需求都進(jìn)行層次性的用例分解,直至將所有的功能性需求全部用相關(guān)用例表達(dá)出來,完成空空導(dǎo)彈的需求分析。圖3 對(duì)導(dǎo)彈典型飛行狀態(tài)進(jìn)行系統(tǒng)分析,獲得傳感器、制導(dǎo)計(jì)算機(jī)、飛控計(jì)算機(jī)、發(fā)動(dòng)機(jī)和空空導(dǎo)彈本體這五者之間的順序交互行為,慣導(dǎo)等多種傳感器將采集到的空空導(dǎo)彈飛行狀態(tài)信息發(fā)送給制導(dǎo)計(jì)算機(jī),制導(dǎo)計(jì)算機(jī)依據(jù)導(dǎo)彈飛行狀態(tài)進(jìn)行制導(dǎo)律解算,并發(fā)送制導(dǎo)指令給飛控計(jì)算機(jī),飛控計(jì)算機(jī)依據(jù)制導(dǎo)指令向發(fā)動(dòng)機(jī)和導(dǎo)彈本體的執(zhí)行部件發(fā)送發(fā)動(dòng)機(jī)控制命令和姿態(tài)控制命令。
圖2 空空導(dǎo)彈頂層用例圖Fig.2 Use case diagram of air to air missile
圖3 空空導(dǎo)彈飛行狀態(tài)順序圖Fig.3 Sequence diagram of air-to-air missile
至此,經(jīng)系統(tǒng)分析可以得到空空導(dǎo)彈系統(tǒng)的外圍參與者,交互對(duì)象傳感器、制導(dǎo)計(jì)算機(jī)、飛控計(jì)算機(jī)、發(fā)動(dòng)機(jī)和空空導(dǎo)彈本體模塊的部分輸入輸出事件、屬性、操作、狀態(tài)以及模塊間的事件、數(shù)據(jù)傳遞等信息均已獲得。
系統(tǒng)設(shè)計(jì)依照特定的系統(tǒng)設(shè)計(jì)邏輯方法,完成系統(tǒng)功能、結(jié)構(gòu)設(shè)計(jì),以及參數(shù)化表征,即對(duì)上述系統(tǒng)分析獲得的系統(tǒng)信息,設(shè)計(jì)空空導(dǎo)彈架構(gòu)模型,包括靜態(tài)結(jié)構(gòu)建模、動(dòng)態(tài)行為建模以及約束關(guān)系建模三個(gè)部分。
其中靜態(tài)結(jié)構(gòu)模型由包圖、塊定義圖、對(duì)象圖、內(nèi)部塊圖構(gòu)成。包圖的主要功能是對(duì)SysML 的各種圖按性質(zhì)進(jìn)行分類;塊定義圖顯示了使用“塊”的組件進(jìn)行系統(tǒng)靜態(tài)結(jié)構(gòu)建模的基本構(gòu)成,這些組件可以通過接口與其他組件進(jìn)行連接,“塊”可以代表硬件,也可以代表軟件,還可以代表其他類型的組件;內(nèi)部塊圖則是顯示組件內(nèi)部的組成,其中連接器顯示內(nèi)部“零件”如何連接到外部接口以及彼此之間是如何連接的;對(duì)象圖是組成系統(tǒng)的各個(gè)“塊”的實(shí)例化模型,可以進(jìn)行仿真運(yùn)行。圖4 給出了由塊定義圖建模的空空導(dǎo)彈靜態(tài)結(jié)構(gòu)模型,空空導(dǎo)彈模型(AtAM)由制導(dǎo)系統(tǒng)模型(Guidance)、控制系統(tǒng)模型(Control)、傳感器模型(Sensor)、推力系統(tǒng)模型(Thrust)和導(dǎo)引頭模型(Seeker)構(gòu)成。塊定義圖采用自頂向下的分解模式,將空空導(dǎo)彈的功能分解到不同的子系統(tǒng),各個(gè)子系統(tǒng)分別進(jìn)行建模,子系統(tǒng)間通過接口進(jìn)行數(shù)據(jù)和信息的傳遞。
圖4 空空導(dǎo)彈靜態(tài)結(jié)構(gòu)模型Fig.4 Static structure model of air-to-air missile
動(dòng)態(tài)行為模型由順序圖、狀態(tài)圖和活動(dòng)圖組成,其中順序圖用來描述組成空空導(dǎo)彈的各個(gè)組件之間的交互順序;活動(dòng)圖是整個(gè)空空導(dǎo)彈各個(gè)組件間的功能流程;活動(dòng)圖用來描述單個(gè)組件內(nèi)部的狀態(tài)變化。狀態(tài)圖是描述一個(gè)對(duì)象基于事件或者守衛(wèi)條件反應(yīng)的動(dòng)態(tài)變化行為,描述了對(duì)象自身是如何依據(jù)當(dāng)前狀態(tài)對(duì)不同條件和不同事件做出反應(yīng)的。
圖5 為空空導(dǎo)彈典型作戰(zhàn)過程狀態(tài)圖描述,將整個(gè)導(dǎo)彈作戰(zhàn)過程分解為隨載機(jī)飛行、導(dǎo)彈加電、自檢、對(duì)準(zhǔn)、準(zhǔn)備、發(fā)射、自主飛行和擊中目標(biāo)8 個(gè)狀態(tài),各個(gè)狀態(tài)間以飛行員操作、載機(jī)飛行參數(shù)條件和導(dǎo)彈自身狀態(tài)作為狀態(tài)遷移條件,建立空空導(dǎo)彈典型作戰(zhàn)過程描述。
圖5 空空導(dǎo)彈動(dòng)態(tài)行為模型Fig.5 Dynamic behavior model of air to air missile
空空導(dǎo)彈的約束關(guān)系眾多,如彈體、制導(dǎo)設(shè)備、導(dǎo)引頭等部件之間的質(zhì)量約束關(guān)系,空空導(dǎo)彈氣動(dòng)力、空氣阻力間的約束關(guān)系等,約束關(guān)系建模由需求圖和simulink擴(kuò)展圖構(gòu)成。參數(shù)圖是SysML的一種內(nèi)部塊圖,描述了“塊”及其內(nèi)部屬性和零件之間的約束關(guān)系,參數(shù)圖描述了一種系統(tǒng)結(jié)構(gòu)參數(shù)的變化如何影響其他結(jié)構(gòu)參數(shù)的變化。圖6為空空導(dǎo)彈力和力矩的參數(shù)約束關(guān)系模型,空空導(dǎo)彈模塊的各個(gè)屬性通過約束參數(shù)端口傳遞給約束屬性模塊(Constrant Property),圖中“Fxyz_and_Txyz”約束屬性模塊表示空間三軸方向上的力和力矩計(jì)算;“DynamicModel”約束屬性模塊表示空空導(dǎo)彈所受力、力矩與線速度、角速度之間的約束關(guān)系。
系統(tǒng)驗(yàn)證主要為經(jīng)過靜態(tài)結(jié)構(gòu)圖、動(dòng)態(tài)行為圖和參數(shù)圖的協(xié)同仿真,驗(yàn)證系統(tǒng)設(shè)計(jì)是否滿足需求。圖7為“自主飛行”狀態(tài)的仿真圖,可以看出RHAPSODY中“AutoFlight”模態(tài)變?yōu)榧t色,表明目前空空導(dǎo)彈狀態(tài)為“自主飛行”狀態(tài),滿足設(shè)計(jì)要求。
圖6 空空導(dǎo)彈參數(shù)圖Fig.6 Parameter diagram of air to air missile
圖7 自主飛行狀態(tài)驗(yàn)證Fig.7 Autonomous flight status verification
本文采用MBSE 和SysML 對(duì)空空導(dǎo)彈系統(tǒng)進(jìn)行可視化建模,通過SysML 的需求圖、用例圖、塊定義圖、內(nèi)部塊圖、順序圖、狀態(tài)圖和參數(shù)圖對(duì)空空導(dǎo)彈的軍方需求、架構(gòu)模型和約束關(guān)系進(jìn)行了分析。建立了空空導(dǎo)彈從隨載機(jī)飛行到擊中目標(biāo)全過程的狀態(tài)遷移模型,并結(jié)合參數(shù)約束關(guān)系模型,實(shí)現(xiàn)了空空導(dǎo)彈架構(gòu)離散狀態(tài)行為和連續(xù)動(dòng)態(tài)行為的完整描述。應(yīng)用實(shí)例表明,利用SysML 是實(shí)現(xiàn)MBSE方法的最優(yōu)選擇,并可有效提高空空導(dǎo)彈系統(tǒng)開發(fā)的進(jìn)度與質(zhì)量。