李浩敏 /
(上海飛機設計研究院,上海201210)
現代大型民機設計是高度復雜的多系統綜合集成設計,具有技術密集、學科交叉、綜合集成、適航驗證等復雜的技術特征,研制過程投入巨大、管理復雜、時間緊、任務重。需求作為支持整個研制過程的公共基礎[1],基于需求的工程(Requirements Based Engineering,簡稱RBE)即是民機研制中面向安全性、面向適航建立置信度和過程保證的重要手段。
如圖1所示的“雙V”(Validation & Verification)研制流程,正向的民機設計過程是頂層需求不斷向下分解的過程,飛機頂層需求到飛機級功能需求,再分配到系統需求及產品需求,并在整個過程中不斷地確認和驗證需求[2]。

圖1 民機研制的“雙V”流程
對于高度復雜系統的研制,需求作為整個研制過程的基礎,產品開發過程中會遇到如下問題:
1) 如何保證這些海量需求的正確性與完整性;
2) 如何保證各方對于需求理解的一致性;
3) 如何解決系統間接口不清的問題;
4) 需求的確認和驗證缺乏手段。
這些成為了急需設計人員解決的問題,設計需求源自功能,為解決以上問題,下文將探討功能分析方法。
功能分析是功能在預期場景中的行為分析,通過定義功能的運行特性,解析系統的主要工作內容和工作機理,將上層功能逐級分解成各個層級的功能,并將相應功能需求分配到這些功能層級,把相關方的需要轉換成功能邏輯架構的過程,由此提出功能性需求和內部、外部功能接口。值得注意的是,功能分析描述的行為不涉及物理層次,不會提出具體的系統解決方法[3]。
功能分析的主要工作包括:(1)確定系統工作的邊界,描述系統的任務、運行場景;(2)定義頂層功能;(3)根據運營狀態組織功能邏輯關系;(4)把高層級功能分解成低層級功能;(5)評估多種功能向下分解的方式;(6)形成功能分析的基線,記錄形成功能架構及功能描述文檔。
基于模型的功能分析方法是基于模型的系統工程(Model-Based Systems Engineering,簡稱MBSE)的重要組成部分,設計者之間通過易于理解的圖形交流系統設計方案,減少因誤解造成的隱患。可執行的功能模型使得在設計的各個階段都能分析系統對功能性需求的符合性,并驗證系統需求是否符合利益相關方的原始需求,能加速復雜系統開發過程,減少研制錯誤。
建模語言、建模方法和建模工具是基于模型的功能分析過程的三大支柱。
在特定的建模語言中定義的規則會使得模型的元素和關系更加清晰。UML(Unified Modeling Language)是針對軟件工程領域的標準化建模語言,SysML (Systems Modeling Language)是UML的一種擴展,通過圖形化的語言描述系統運行的過程,它是系統工程的標準建模語言,為系統的行為模型、結構模型、需求模型和參數模型定義語義。
SysML語言定義了九種基本圖形來表示模型的各個方面。從模型的不同描述角度來劃分,這九種基本圖形分成三類:行為圖、需求圖和結構圖。行為圖包括用例圖、活動圖、時序圖和狀態機圖[4-5],結構圖包括包圖、內部模塊圖和模塊定義圖。如圖2所示。

圖2 SysML框圖組成
建模方法是建模團隊創建系統模型要執行的以系統設計任務的合集,它確保團隊中所有人按一致的方式構建模型,沒有這樣的指導,團隊中每個成員建模的模型深度、廣度和準確度方面就會有很大差別。
本文介紹基于Harmony的系統工程方法,一般來說,Harmony將系統設計分為3個階段,需求分析、功能分析(黑盒)和設計綜合(白盒),在功能分析階段按圖3所示的方法進行建模。

圖3 基于SysML語言的行為建模方法
1)根據需求分析的結果構建用例圖
用例圖一般會在系統周期的早期創建,它定義系統的邊界和外部執行者,并將外部執行者和用例關聯。
用例圖是系統的一種黑盒視圖,所以適合展示飛機的運行場景。對于一個給定功能/系統,可能需要考慮各種不同的場景,用來描述在不同環境和操作模式下的情況。用例可以作為需求表達的重要組織形式,可以在需求開發過程中,保證需求的正確性與完整性,同時也是基于需求測試和驗證的基礎。能建立完整的飛機功能用例和運行場景,對飛機系統開發有重要意義。
2)針對每個用例,建立系統活動圖
活動圖描述某個用例下的功能流,包括功能運行活動、層級結構規劃、決策跳轉邏輯、狀態條件監控、外部交互響應定義以及中斷應急措施等。應對各個活動的顆粒度應充分地進行把控,應基于功能層次的考慮作出適當的抽象概括,避開物理實現和軟硬件層次的具體設計。頂層活動的顆粒度應以清晰明確的方式概括性地表明系統的主要活動,底層活動的顆粒度應細化到可以滿足建模的分析要求,以支持功能分配、交聯分析等。
在上述兩個階段可以建立需求矩陣,反映需求與用例之間的追溯關系以及需求與系統活動的滿足關系,并進行需求覆蓋率的統計。
3)對于每個活動圖,生成時序圖和內部塊圖
時序圖是采用時間序列的方式,對并排分列的目標系統和外部對象之間的信息交互關系進行描述,并對信息的內容進行確認和反饋。內部接口模塊圖能清晰地表征研究對象與外部交互對象的交互信息,反映功能接口信息,體現功能架構。
4)建立狀態圖,運行并驗證模型
狀態圖是根據活動圖和時序圖,用基于相互跳轉的狀態的方式來描述系統功能的模型。狀態圖可以進行執行運算,通過運行各個狀態檢驗系統功能運轉是否符合預期。狀態圖可以對功能邏輯和設計需求進行驗證,確保設計早期發現問題,減少后期的迭代。
功能建模的工具軟件有很多,如Enterprise Architecture、IBM Rational Raphsody、Magic Draw等,建模工具間的通用性非常重要,可以通過中間格式或軟件接口實現模型的共享,擺脫對某一種工具的依賴。
首先,根據自動飛行系統的涉眾需求確定系統的用例,確定系統的邊界和外部交互對象,圖4展示了自動著陸用例,該用例包括多個外部相關的交互對象,具體的接口信息將在下文中體現。

圖4 自動飛行系統的用例分析
針對每一用例,通過活動圖可以直觀地展示功能流的運轉情況,表征自動飛行系統在自動著陸過程中的功能運行活動、層級結構規劃、決策跳轉邏輯、狀態條件監控和外部交互響應等,如圖5所示。

圖5 自動飛行系統的活動圖
在用例圖和活動圖完成后,可以對模型進行需求覆蓋率分析,需求覆蓋率分析包含關聯關系分析和滿足關系分析。關聯關系相對簡單,只需把所有功能性需求關聯到對應的用例即可,滿足關系則需要把每條功能性需求鏈接到模型中相應的活動、事件和屬性參數上,再建立需求矩陣。
圖形化的顯示可以直觀地反映需求的覆蓋率,如圖6所示,導入的431條需求中有353條關聯到了自動著陸用例,覆蓋到該用例的需求比例為82%。

圖6 自動飛行系統的需求覆蓋率分析
基于活動圖,可以用生命線的方式建立自動飛行系統和各相關系統的交互關系,形成時序圖。它一般反映了系統在活動圖中沿著某一條或者多條特定的路徑下的各種內外部運行活動。如圖7所示。

圖7 自動飛行系統的時序分析
在黑盒階段可以根據創建好的用例圖、時序圖自動生成內部模塊圖,它反映的是系統和外部交互對象間的接口關系,此時,時序圖中的交互信息已經在接口中體現。如圖8所示。

圖8 自動飛行系統的內部模塊圖
最后,用狀態機圖從機器運轉的角度對系統進行闡述,如圖9所示,可執行的狀態機圖可以有效地對功能邏輯、功能接口進行虛擬驗證,以便在設計初期及早發現問題,減少后期的更改。

圖9 自動飛行系統的狀態機分析
此外,在后續的設計和架構綜合中,還可以按需采用參數圖、模塊定義圖來進行系統的約束和架構的分析。
針對民用飛機研制特點與研制需求,闡述了大型客機中的功能分析工作,詳細介紹了功能分析、基于模型的功能分析等內容,及其在大型客機研制過程中的應用情況。實踐表明,功能分析為復雜產品的自上而下的正向設計提供了很好的基礎,保證了民機研制過程中需求的正確性和完整性、各方對需求理解的一致性以及系統間接口完整清晰,對大型客機項目取得研制、市場和商業成功具有重要意義。