張賀 魏強 陳余軍 林驍雄
摘 要:本文首先論述了功能架構的必要性,然后對功能架構的建模和分析過程進行了總結。通過對MBSE 方法論、功能建模語言和功能建模工具的分析,確定了衛星各級系統功能架構設計流程,探討了基于模型的衛星系統功能架構實現途徑。
關鍵詞:功能架構 基于模型的系統工程 流程設計 衛星系統
中圖分類號:N945 文獻標識碼:A 文章編號:1674-098X(2019)03(b)-0015-05
Abstract:In this paper, the necessity of functional architecture is discussed,and the process of modeling and analysis is summarized. After the review of the related MBSE (Model-Based Systems Engineering) methodology, the functional modeling language and tools, the functional architecture design process of satellite systems is determined, and the realization approach of model-based functional architecture of satellite systems is discussed.
Key Words: Functional architecture; MBSE; Process design; Satellite system
基于模型的系統工程(Model-Based Systems Engineering,MBSE)是適應航天器未來研制發展的有效解決方案。MBSE是系統工程領域的一個重要方向,它通過形式化的建模手段,從概念設計階段開始就能夠支持系統需求、設計、分析、驗證和確認等活動,并持續貫穿整個開發過程和后續的生命周期階段[1]。MBSE作為一種新的范式,NASA、美國國防部、歐空局等組織和相關承包商積極在項目中探索和應用[2],國內MBSE的應用也在研究和探索階段[3-4],利用系統工程的思維方式,建立基于模型的系統正向設計流程與設計方法是未來航空航天領域發展的重要方向。
MBSE遵循系統工程V模型,貫穿產品的全生命周期,狹義的MBSE側重于產品的前端系統設計階段,分析用戶需求、分解系統功能、定義系統架構直到實現系統物理設計。在這一過程中,利用圖形化、結構化的方式將系統需求、功能架構、邏輯架構等描述為需求模型、功能架構模型、邏輯架構模型等。其中,功能架構模型是連接頂層需求、約束和后續詳細系統開發和實施的橋梁,有助于理清系統間的關系、完善復雜系統的需求,還可以通過前期功能模型的仿真,驗證需求的滿足性和可追溯性。
功能架構描述的是系統詳細的功能、接口和時序特征,覆蓋系統級、分系統級和單機各層級的功能實現、性能分析、內在關聯與接口分析,是完成既定任務目標所需要的全部功能集合,對應于系統級、分系統級、產品級,甚至更小單元的功能、性能和相互間的邏輯關系,對系統的理解和交流具有重要意義,為保證功能和接口的準確,功能架構隨著系統需求的演進而被進一步定義[5]。
1 主流的MBSE方法論及其功能架構建模過程
1.1 OOSEM
面向對象的系統工程方法(Object-Oriented Systems Engineering Method,OOSEM)是一種自頂向下、場景驅動建模過程的方法,并通過一系列的視圖來保證系統描述的一致性,用于支撐系統的分析、定義、設計和驗證[6]。OOSEM功能架構通過分析系統的用例、確定系統的任務目標、詳細系統的任務場景、確定系統內部功能活動之間的關系、分析系統內部功能活動之間的時序關系以及系統狀態切換等一系列活動確定。
國際系統工程學會(International Council on Systems Engineering,INCOSE)在2011年開始的CubeSat項目中利用OOSEM方法論開發了一般CubeSat的功能架構模型,并建造了一個集建模工具、分析/仿真工具以及模型庫一體的模型環境,使得功能架構模型可執行,以達到描述系統動態行為、分析和優化系統性能的目的[7-9]。
1.2 Harmony-SE
Harmony-SE是IBM公司一種大型的集成系統和軟件開發流程Harmony的一個子集,在MBSE的需求分析、系統功能分析以及設計綜合三個階段迭代循環。Harmony-SE功能分析通過功能分解輸出用例模型、系統與外界交互的邏輯和接口規范,同時將分析得到的功能與需求進行匹配,確保每一項需求都有功能與之對應追溯,并對需求進行更新和補充。
Harmony-SE方法論結合IBM Rhapsody工具在系統設計以及嵌入式開發上有很大優勢,因此我國航空航天展開其對控制系統的實踐和應用,如在飛控系統設計中,通過方法論設計驗證控制邏輯,最后通過Rhapsody實現軟件代碼自動生成,提高軟件系統的可靠性,并提升了開發效率。
1.3 SYSMOD
SYSMOD(Systems Modeling Process)是構建需求、功能和物理架構很實用的方法,包括描述項目環境、總結需求、系統環境建模、系統用例及過程建模、系統結構及狀態建模和總結領域知識等。SYSMOD方法從產品、方法和角色三個特征展開復雜系統的設計,其中方法包括分析流程和架構流程[10]。
SYSMOD的功能分析活動是基于FAS(Functional Architecture for Systems)方法來進行。FAS從用例入手,通過使用啟發式方法對功能分組,生成功能架構,但FAS的局限在于它更適用在較高的系統層級上,在低層級系統中,系統功能可能有復雜的交互,系統行為難以把握。
1.4 MagicGrid
MagicGrid方法源于No Magic公司在軟件工程和系統工程領域的應用實踐,基于矩陣式的結構流程,將功能架構建模過程從行為和參數兩個角度分為問題域和解決域兩個層次進行,其中問題域功能架構模型在需求模型的基礎上,通過系統功能分解得到;解決域功能架構模型則是在邏輯架構模型基礎上,通過系統功能分配得到。
2 支持功能架構建模的語言及相關建模工具
2.1 FFBDs
功能流圖(Functional Flow Block Diagrams,FFBDs)提供了一種直觀的圖形方法來表示復雜層次系統的行為,FFBD由標記的功能塊組成,如圖1所示,功能塊由定義功能執行順序的單向箭頭連接,FFBDs本質上是一個表示控制流的功能架構,描述了功能、功能的執行順序以及可選的執行路徑。支持FFBDs工具有RDD-100和CORE等[11]。FFBDs可以在圖的層次結構中分層,沿著層次結構向下時,這些圖提供了對單個系統行為更詳細的描述,使系統和每個功能更容易理解。但FFBDs不能捕獲系統功能之間的數據流,而系統功能的完整描述應同時需要數據流和控制流的信息,因此一些系統工程師在FFBDs基礎上直接用箭頭和注釋來表示數據流,進而逐漸演化為EFFBDs(Enhanced FFBDs)[12]。
FFBDs是功能建模的一種傳統手段,在航天領域很流行,如在NASA J-2X液體推力器上的應用[13]。J-2X計劃使用新的材料和制造技術將阿波羅時代的J-2發動機升級到更高的功率級別,工程師們對發動機進行了功能分析,建立了功能架構,定義了一個與系統模型逼真度一致的功能引擎示意圖,最后得到J-2X分解到組件并映射到所有功能需求的FFBDs。
2.2 SysML
SysML是INCOSE和OMG(Object Management Group,對象管理組織)為支持MBSE方法而推出的一種標準化系統建模語言[14],如圖2所示。SysML是一種圖形化的語言,通過維護九種視圖的一致性實現對各種復雜系統的詳細說明、分析、設計、驗證和確認。
SysML建立的功能架構模型可分為結構模型、需求模型、行為模型和參數模型,如圖3所示,其中結構模型通過包圖(package diagram,pkg)、模塊定義圖(block definition diagram,bdd)和內部模塊圖(internal block diagram,ibd)反映系統功能的層級關系;需求模型通過需求圖(requirement diagram,req)描述功能與需求的追溯關系;行為模型通過活動圖(activity diagram,act)、序列圖(sequence diagram,sd)、狀態機圖(state machine diagram,stm)和用例圖(use case diagram,uc)突出功能之間的數據流和控制流信息以及功能接口;參數模型通過參數圖(parametric diagram,par)體現功能參數及其約束關系。
基于SysML開發了多種支持MBSE方法的軟件,如EA、Rhapsody、CSM等,都支持建模、仿真、文檔生成、程序開發、測試和管理,就目前在航空航天應用而言,Rhapsody多用在航空領域[15],CSM多用于航天領域。
2.3 OPM
復雜系統功能架構的描述包含著巨量的信息,其信息量遠遠超過了人的理解能力。目前主要有兩種辦法展示這些信息:一種是維護一個集成的模型,并根據需要對其進行投射;另一種是在模型中維護多個視圖。前者如對象過程方法(Object Process Methodology,OPM),采用集成模型把形式、功能、實體和關系有關的信息全都融入同一個模型中,通過實體的不斷分解來建立復雜系統的層次模型并管理系統復雜性;后者即如SysML語言,采用不同的視圖描述系統的不同視角,建立復雜系統在各個視圖的模型,并保證這些信息的一致,綜合涌現描述[16]。
OPM主要的建模元素是實體和連接關系,實體包括狀態、對象和過程的總稱,如圖4所示,其中對象描述系統中以物理或信息形式存在的事物,并具有過程可改變的狀態;過程描述系統動態層面,能夠產生、消耗對象并通過改變狀態影響對象;狀態描述系統靜態層面,是對象在特定時間點可能處于的情形,是隸屬于對象的實體。連接包含結構性連接和過程性連接:結構性連接表示對象之間或過程之間靜態的持續關系;過程性連接表示對象和過程之間的關系,描述系統的動態行為。對象過程實例工具(OPCAT)[17]是支持使用OPM進行系統開發的軟件環境。
3 衛星系統功能架構設計
衛星總體設計涉及任務軌道設計、工作模式與飛行程序設計、系統設計以及姿軌控、供配電、推進等分系統設計,其設計要素不僅涉及多專業、多領域,又相互耦合關聯。因此,需要根據項目需求在不同的設計階段使用不同的方法、語言、工具進行建模和分析,對不同系統的功能架構模型進行綜合,實現產品的快速方案驗證。
3.1 衛星系統功能架構設計流程
衛星系統功能架構設計是一個分解與綜合的迭代過程,以任務目標為輸入,對整個任務過程的飛行事件進行梳理,將任務需求轉化為功能活動,進行任務級功能架構設計,進而識別出衛星系統的設計要求和性能指標,具體設計流程如圖5所示。低層級系統功能架構設計是高層級系統功能架構的詳細化過程,通過架構綜合和功能仿真,驗證高層級系統功能架構的接口、功能關系、性能指標,確保其功能性能滿足需求。
3.2 基于模型的衛星系統功能架構設計
基于衛星系統功能架構設計流程,以及根據對功能架構建模方法、語言、工具的分析,探索了基于模型的衛星系統功能架構設計方案(如圖6所示)。設計方案以SysML視圖建立的功能架構為主體,融合各分系統的FFBDs模型、OPM模型以及仿真模型,通過SysML模型維護數據的一致性,實現功能到需求的閉環驗證,最終形成分析報告,明確可實現性和基本的實現途徑,形成覆蓋所有層級和場景的功能體系結構。
4 啟示與建議
基于模型的衛星設計模式是未來航天器研制模型轉型的必然趨勢,需要借助研制需求來牽引MBSE在衛星研制中應用實施發展。未來航天器產品將面臨市場需求越來越旺盛、功能越來越復雜、性能要求越來越高等挑戰,需要采取基于模型的正向設計手段,在系統設計的早期階段,通過模型的建立能夠清晰明確地表達系統的功能,理清系統間的關系,完善復雜系統的需求,并通過系統層級的遞進,實現產品的系統設計。現階段的衛星研制過程對功能架構重視程度不高、需求追溯性不完善,建議加強對功能架構的研究。研究方向可以從以下幾個方面開展:
(1)原有基于文檔的接口傳遞方式已經不能滿足信息量增長等要求,亟需完善MBSE在衛星產品設計上的方法論,并確定功能架構建模的一系列工具。為了避免異構模型集成中出現的種種問題,最好選用一種兼容XML數據交換(XMI)規范的建模工具。
(2)充分利用新型航天器研制契機,完善衛星系統功能架構設計流程。首先基于保真度較低的模型驗證功能架構或者系統架構各模塊的輸入輸出、需求的可追溯性;隨著設計的深入迭代,這些低保真度的模型可以被更加詳細的模型替代,而無需更改已驗證過的功能架構以及追溯關系。同時建立各層級系統的功能模型庫,提高模型的重用性,實現新產品的快速方案設計。
(3)針對全新的衛星產品設計,有必要將功能架構和設計結構矩陣(Design Structure Metrics,DSM)結合,明確約束目標,對系統功能架構進行優化。
參考文獻
[1] 韓鳳宇,林益明,范海濤.基于模型的系統工程在航天器研制中的研究與實踐[J].航天器工程,2014,23(3):119-125.
[2] 王崑聲,袁建華,陳紅濤,等.國外基于模型的系統工程方法研究與實踐[J].中國航天,2012(11):52-57.
[3] 賈晨曦,王林峰.國內基于模型的系統工程面臨的挑戰及發展建議[J].系統科學學報,2016,24(4):100-104.
[4] 張有山,楊雷,王平,等.基于模型的系統工程方法在載人航天任務中的應用探討[J].航天器工程,2014,23(5):121-128.
[5] Lamm, J. G. and Weilkiens, T., Funktionale Architekturen in SysML. In M. Maurer and S.-O. Schulze (eds.), Tagdes Systems Engineering 2010, pp. 109–118. Carl Hanser Verlag, München, Germany, November 2010. English translation by J. Lamm.
[6] Friedenthal S, Moore A, Steiner R. A Practical Guide to SysML: The Systems Modeling Language[M]. Morgan Kaufmann, 2015.
[7] Spangelo S C, Kaslow D, Delp C, et al. Applying Model Based Systems Engineering (MBSE) to a standard CubeSat[C]// Aerospace Conference. IEEE, 2012:1-20.
[8] Spangelo S C, Cutler J, Anderson L, et al. Model based systems engineering (MBSE) applied to Radio Aurora Explorer (RAX) CubeSat mission operational scenarios[C]// Aerospace Conference. IEEE, 2013:1-18.
[9] Kaslow D, Anderson L, Asundi S, et al. Developing a CubeSat Model-Based System Engineering (MBSE) Reference Model - interim status[C]// Aerospace Conference. IEEE, 2015:1-16.
[10]Tim Weilkiens. SYSMOD - The Systems Modeling Toolbox - Pragmatic MBSE with SysML[M]. MBSE4U, 2016.
[11]Seidner C , Roux O H. Formal Methods for Systems Engineering Behavior Models[J]. IEEE Transactions on Industrial Informatics, 2008,4(4):280-291.
[12]Mcinnes A I , Eames B K , Grover R . Formalizing Functional Flow Block Diagrams Using Process Algebra and Metamodels[J]. IEEE Transactions on Systems, Man and Cybernetics, Part A (Systems and Humans), 2011, 41(1):34-49.
[13]White, Thomas, Stoller, et al. Development of the Functional Flow Block Diagram for the J-2X Rocket Engine System[R]. NASA,2007.
[14]Delligatti L. SysML Distilled: A Brief Guide to the Systems Modeling Language[M]. 2013.
[15]遲玥,單棟,閻振鑫,等.基于模型的仿真設計在某飛控系統中的應用[J]. 系統仿真學報,2017,29(10):2556-2566.
[16]Crawley E, Cameron B, Selva D. System Architecture: Strategy and Product Development for Complex Systems[M]. Prentice Hall Press, 2015.
[17]Dori D, Reinhartz-Berger I, Sturm A. Developing Complex Systems with Object-Process Methodology Using OPCAT[J]. Lecture Notes in Computer Science,2003(2813):570-572.