張世聰,陳 波,張曉晉,王保民
(1.中國鐵道科學研究院 研究生部,北京 100081;2.中國鐵道科學研究院 機車車輛研究所,北京 100081)
動車組的整車設計具有系統(tǒng)復雜、研發(fā)周期長、人力和資金投入多、對安全性和可靠性要求嚴格等特點,因此需要利用系統(tǒng)工程方法來實現(xiàn)。目前傳統(tǒng)的基于文本的系統(tǒng)工程方法進行動車組設計時經(jīng)常會出現(xiàn)前后信息不一致、版本錯誤和可讀性差等問題,導致設計成本的增加乃至重大安全隱患,因此亟需一種新的設計方法。
基于模型的系統(tǒng)工程(Model Based System Engineering,MBSE)是一種使用模型表達設計的系統(tǒng)工程方法[1]。國外的一些大型公司和學術機構經(jīng)過探索和實踐,面向不同的工業(yè)領域并應用不同的建模語言、工具和流程,提出多種 MBSE 方法,如Harmony-SE方法[2],面向對象的系統(tǒng)工程方法(Object-Oriented Systems Engineering Method, OOSEM)[3],SYSMOD(Systems Modeling Process)方法[4]和IBM公司提出的RUP-SE方法[5]等。目前基于模型的系統(tǒng)工程概念已被工業(yè)界所接受[6-7],并成功應用于航天[8-9]、汽車[10]等領域。并且,為了對MBSE進行更好的支持,國際系統(tǒng)工程學會(International Council of Systems Engineering, INCOSE)和對象管理組織(Object Management Group,OMG)聯(lián)合開發(fā)了系統(tǒng)建模語言SysML[11],它是一種統(tǒng)一的、可擴展的、易于理解的系統(tǒng)工程通用建模語言。目前,國外的主機廠如阿爾斯通和龐巴迪等已開始探索MBSE在鐵道機車車輛設計領域的應用,而在國內還未有應用MBSE和使用SysML進行動車組整車和子系統(tǒng)建模分析的研究。
本文基于MBSE設計方法和思路進行動車組設計方法的研究,并以動車組車門控制系統(tǒng)的設計為例,進行MBSE過程的示范和SysML模型的示例。
基于MBSE的動車組設計過程包括總體需求分析、子系統(tǒng)需求細化與功能分解和架構生成3個設計階段,在設計過程中使用模型以保證系統(tǒng)需求、設計、分析和驗證信息之間的可追蹤性,前期模型能夠推動后續(xù)的設計細化,而后續(xù)模型又能對前期的設計結果進行驗證。基于MBSE的動車組設計過程如圖1所示。
圖1 基于MBSE的動車組設計過程
第1階段:總體需求分析階段?;陬I域知識、經(jīng)驗及各專業(yè)設計人員間的有效溝通,將需求文本整理為規(guī)范的條目化需求,并利用需求圖、用例圖和包圖分析需執(zhí)行的任務和運用環(huán)境,識別功能需求,把用戶需求和外部約束轉換成系統(tǒng)需求,據(jù)此建立系統(tǒng)的需求和用例模型。
第2階段:子系統(tǒng)需求細化和功能分解階段。在系統(tǒng)的總體需求確定后,進行各個子系統(tǒng)內部的需求細化和功能分解。系統(tǒng)總體用例圖中的每個用例體現(xiàn)了1個系統(tǒng)功能需求,分系統(tǒng)先在總體需求模型中挑選各自領域相關的功能需求。使用序列圖、活動圖、狀態(tài)機圖分析各子系統(tǒng)中的系統(tǒng)行為、執(zhí)行過程和設備狀態(tài)。
第3階段:架構生成階段。架構生成即定義邏輯結構并確定相應的物理架構。包括使用塊定義圖描述系統(tǒng)組件和結構;使用內部塊圖定義系統(tǒng)/子系統(tǒng)間的物理接口和配置方案,如設備連接結構、網(wǎng)絡結構和電氣結構等。系統(tǒng)邏輯和物理結構的確定,可以逆向修正和幫助進一步分析系統(tǒng)功能模型。同時,可以為系統(tǒng)選定測試用例,使用塊定義圖定義系統(tǒng)的約束條件,用參數(shù)圖定義仿真和驗證參數(shù),對系統(tǒng)進行性能驗證。目前,通用建模工具軟件支持在系統(tǒng)模型中進行一定程度的動態(tài)驗證,也可使用模型轉換[12]的方法將系統(tǒng)設計模型與仿真平臺進行集成并驗證。
從圖1還可以看出:基于MBSE的動車組設計方法中的3個階段由4個設計回路進行關聯(lián),它們分別是總體需求回路,即用建立的需求和用例模型對用戶需求進行一致性及覆蓋性檢驗,并對需求模型進行迭代修改;總體—分系統(tǒng)需求回路,是在上級系統(tǒng)和下一層的設計間的跟蹤反饋;分系統(tǒng)設計回路,對分系統(tǒng)自身的功能邏輯進行追溯管理;最后的驗證回路,對設計中的優(yōu)化和仿真結果是否滿足總體需求進行驗證。設計人員可以使用這4個設計回路進行反復迭代,直到所有的設計模型保持一致并覆蓋了需求。
上述設計過程的實現(xiàn)基于SysML語言,它是統(tǒng)一建模語言UML面向系統(tǒng)工程領域的擴展。SysML語言視圖分類如圖2所示。從圖2可以看出:SysML語言提供了對系統(tǒng)的結構、需求和行為進行描述的9種視圖,它們部分來自UML語言的直接集成或擴展,部分(需求圖和參數(shù)圖)是SysML語言面向系統(tǒng)工程的開發(fā)設計需求提出的新增視圖。
圖2 SysML語言視圖分類
下面將以動車組車門控制系統(tǒng)為案例(在建模過程中,車門簡稱為門,指動車組外門)進行MBSE過程的示范和SysML模型的示例。
2.1.1需求模型
不同于傳統(tǒng)的系統(tǒng)工程方法,設計者應用MBSE方法時,使用條目化需求和需求圖建立需求模型,對系統(tǒng)頂層需求進行捕獲和分解。按不同側重點,可將需求分為功能需求、性能需求、接口需求、可靠性需求、安全性需求、人因工程需求等。需求模型用于將系統(tǒng)設計過程中不清晰的期望和要求等、轉換成需要解決的具體問題,用于指導設計。對應于系統(tǒng)的不同層次,需求模型分為不同的層級結構,最頂層的需求來自用戶的使用要求、成本約束、研制周期約束及各利益相關方的期望等。
實例中的需求來自某型動車組的《車門控制系統(tǒng)接口與功能需求規(guī)范》。通過對需求規(guī)范的初步理解,并參考相關行業(yè)標準和技術條件,可以整理出車門控制系統(tǒng)的頂層需求圖如圖3所示。在需求模型中,帶十字圓形端點的連線表現(xiàn)了低層級需求和高層級需求間的組成/分解關系,所有需求的定義和詳述都被包括在“車門控制系統(tǒng)接口與功能需求規(guī)范”包中。
圖3 車門控制系統(tǒng)的頂層需求圖
車門控制系統(tǒng)的基本功能需求并非是一個全新的原始設計,所給出的需求規(guī)范包括對部分功能行為邏輯和物理實現(xiàn)方案的具體描述。對這些詳細的具體需求,按照系統(tǒng)需求的層次和分類進行劃分整理,得到條目化需求。劃分整理的原則為1個敘述規(guī)范的需求條目描述1個待解決的問題或1個單一的約束。需求條目間也存在著層級關系,并可以建立如分解、細化、擴展等關聯(lián)關系,以維護需求間的追溯關系?!伴T動作執(zhí)行功能”的條目化需求示例見表1。
表1 條目化需求示例
之后,使用需求圖建立需求間的細化層級關系。需求圖不是對條目化需求的簡單重復,而是通過這種形式使需求的分解、歸類和追溯關系更具有可視性,便于使用用例圖等對需求進行具體的建模。門動作執(zhí)行功能的本地控制需求圖如圖4所示。對門的打開、門的關閉及門的隔離這3大需求進行分析,并為滿足系統(tǒng)的安全性和一些新的需求被派生出來。例如,實現(xiàn)“門的打開”需求時,除需考慮通過速度信號判別“門打開”有效和無效的需求,還需根據(jù)門的狀態(tài)和行為考慮音響報警裝置和按鈕激活與發(fā)光的需求。
2.1.2用例模型
在SysML語言中,采用用例圖可以從面向對象的角度,將文本化的需求描述具象化為系統(tǒng)的若干現(xiàn)實用例,并建立用例與需求、行為、物理結構間的關聯(lián)。每個用例從系統(tǒng)用戶的角度描述了系統(tǒng)的1個交互動作,明確了系統(tǒng)的目標功能。
將圖4中門動作執(zhí)行功能下的各個需求按照系統(tǒng)交互動作的層次,使用如圖5所示用例圖中的用例一一實現(xiàn)。從圖5可以看出:該用例圖描繪了本地對車門所有可能的控制場景,對車門的控制由乘務員或乘客通過本地門控進行,因此創(chuàng)建本地門控作為各項控制行為的用戶,建立了3個基本的系統(tǒng)目標級用例及其子用例和分支用例。
圖4 門動作執(zhí)行功能的需求圖
圖5 門動作執(zhí)行功能的目標級用例圖
圖5中的各個用例是為滿足圖4中的需求及其派生需求所進行的具體動作,即目標級的用例,如“門打開”用例對應圖4中“門的打開”需求等。針對其中的“門打開”這一目標級用例進行細化,將分解出具體的“任務級”用例,如圖6所示。在這個過程中,圖4的各項需求下的細節(jié)描述將被具象化為任務級用例加入進來,如“門隔離監(jiān)測”、“開到位信號監(jiān)測”、“速度監(jiān)測”和“門控供電監(jiān)測”等。而針對一輛設計中的真實動車組,將獲取“門打開”用例在具體應用場景下的變體,即“開左門”或“開右門”,而針對“門隔離監(jiān)測”和“開到位信號監(jiān)測”,也有考慮真實車門拓撲的相應變體與之對應。
用例幫助設計者理解實現(xiàn)“門的打開”過程中所涉及的一些輔助功能,包括對門狀態(tài)的檢測、不同控制命令下門的響應以及蜂鳴器的響應;用例間的關聯(lián)關系體現(xiàn)了用例實現(xiàn)、細化的路徑;每個用例僅代表了系統(tǒng)的任務,而實現(xiàn)這個任務時系統(tǒng)所執(zhí)行的具體控制、機械或電氣行為,將在后續(xù)設計過程中由活動圖,序列圖或狀態(tài)機圖進一步闡述。
功能模型是指系統(tǒng)完成既定任務目標所需要的全部功能的集合及功能之間的邏輯關系,用于指導系統(tǒng)邏輯架構的生成。在使用需求和用例模型對需求的分解過程中,只描述了用例中行為的發(fā)起者和參與者,而將系統(tǒng)的任務作為1個黑盒。而在細化用例時,則可以使用狀態(tài)圖分析系統(tǒng)組件在特定的工作場景中所有的可能狀態(tài)及其遷移情況;使用活動圖詳細描述系統(tǒng)執(zhí)行功能的控制流程;使用用列圖描述系統(tǒng)中各模塊之間動態(tài)的交互。
2.2.1門的狀態(tài)分析
對單個門工作時可能存在的狀態(tài)及狀態(tài)間的轉換規(guī)則和過程進行分析,將幫助設計者理解系統(tǒng)的行為,并設計出能使控制功能實現(xiàn)的邏輯結構。“門的狀態(tài)”的狀態(tài)機如圖7所示。從圖7可以看出:車門在通電時進入受控狀態(tài),通過對圖4中詳細需求的分類和總結,定義了門的5個可能的狀態(tài),并對這些狀態(tài)之間可能的轉換規(guī)則和過程進行分析?!翱煽刂啤焙汀案綦x”是相對的2個狀態(tài),門可以在“可控制”時進入到其他任意狀態(tài),并可以從除了“開到位”之外的任意狀態(tài)轉換到“隔離”狀態(tài),在該狀態(tài)下無法對車門執(zhí)行任何操作,僅當隔離開關解除后,車門才能回到可控制狀態(tài);車門控制系統(tǒng)通過“門打開”和“門關閉”操作進行門的“開到位”狀態(tài)和“關到位”狀態(tài)之間的切換,每當進入到這2個狀態(tài)時,都要向系統(tǒng)的中央控制單元發(fā)送“開到位”或“關到位”的信號;當車速大于15 km·h-1或有人為操作時,會觸發(fā)門的閉鎖,使其進入閉鎖狀態(tài),且無法直接對處于閉鎖狀態(tài)的車門執(zhí)行開門操作,需要滿足一定條件(速度小于5 km·h-1或人為操作)才能解除閉鎖并轉換到其它狀態(tài)。
圖7 “門的狀態(tài)”的狀態(tài)機圖
圖7只對單個車門受控時的正常工況變化進行了描述,由于篇幅有限,未對車門故障工況進行描述。
2.2.2功能實現(xiàn)過程
在SysML語言中,使用活動圖對真實系統(tǒng)動態(tài)行為進行建模,與傳統(tǒng)的流程圖類似,用圓角矩形框表示行為過程中被稱為“活動”的單個步驟。此外,單個活動的輸入、輸出、序列、判斷條件以及活動之間的多種鏈接方式都可以在活動圖中得到體現(xiàn)。
使用如圖8所示的活動圖對圖6中“開左門”任務的控制過程進行分解,該過程就是對“門打開”用例的行為進行設計。結合圖7中對門各種狀態(tài)間的轉換,可知“開到位”狀態(tài)只能從“關到位”和“可控制”狀態(tài)轉換而來,因此除了對“開左門”命令本身進行合法性驗證外,還應判斷門是否處于“隔離”或“閉鎖”狀態(tài),即圖6中的“門隔離監(jiān)測”、 “速度監(jiān)測”和“門控供電監(jiān)測”,而最終呈現(xiàn)的活動圖則體現(xiàn)了“開左門”這一控制任務的邏輯設計結果。
圖8 對“開左門”任務控制過程分解活動圖
2.2.3任務細化
雖然圖8所示的活動圖建立了對“開左門”任務控制過程的分解,但依然是在粗粒度上對系統(tǒng)行為的描述。對其中的“執(zhí)行開左門過程:門打開過程”這一活動,可用如圖9所示的“門打開過程”活動圖描述其具體執(zhí)行過程中“開到位檢測”、“蜂鳴器發(fā)聲”和“指示燈激活”的活動。這種分層次建模方式的一個優(yōu)勢是利用SysML語言的層次化多視圖特性,允許設計者對每個任務做進一步的細化;另一個優(yōu)勢是可以利用SysML語言的面向對象特征,即無論是“開左門”還是“開右門”任務,都涉及受控門的“門打開過程”活動的執(zhí)行。將“門打開過程”建立為獨立的模型,就可以在不同的門打開任務模型中直接復用,而不必對同樣的過程進行重復建模。
序列圖可以從系統(tǒng)各個模塊之間消息傳遞的交互及序列的角度對系統(tǒng)的某一活動進行細化,其中消息指系統(tǒng)內各個組件上服務的調用或信號的發(fā)送。針對圖9所示的3個活動中的 “蜂鳴器發(fā)聲過程”建立如圖10所示的序列圖。通過對消息流的分析和動車組控制及網(wǎng)絡系統(tǒng)的拓撲需求,把動車組的車門控制系統(tǒng)分成3個層級:車輛級車門控制單元(由中央控制單元負責)、車廂級車門控制單元(由各車廂的主車門控制單元負責)和門控器。它們之間的消息傳遞由MVB總線和CAN總線實現(xiàn),并由門控器最終驅動執(zhí)行機構(蜂鳴器)實現(xiàn)“蜂鳴器發(fā)聲”這一活動。
圖9 “門打開過程”活動圖
圖10 “蜂鳴器發(fā)聲過程”序列圖
功能模型確定了系統(tǒng)的行為,而系統(tǒng)設計的最后1個步驟是為系統(tǒng)的行為建立系統(tǒng)的物理實現(xiàn)模塊、模塊間的邏輯結構和模塊間交互所需的接口。塊定義圖可用于定義系統(tǒng)自身物理組成、邏輯結構及接口;內部塊圖則用于描述系統(tǒng)與外部環(huán)境或子系統(tǒng)各模塊與外部總線和環(huán)境之間的電氣連接、物理關聯(lián)和信號傳輸?shù)取?/p>
總結之前在需求細化和功能分解部分對動車組車門控制系統(tǒng)及其子系統(tǒng)的分析,其物理結構塊定義圖如圖11所示。從圖11可以看出:司機控制臺、制動控制單元(BCU)、中央控制單元(CCU)、車門及網(wǎng)絡系統(tǒng)等子系統(tǒng)共同完成了對車門的控制,而這些子系統(tǒng)又分別包含不同的內部組件。
圖11 動車組車門控制系統(tǒng)物理結構的塊定義圖
在對圖10分析的基礎上,可以給出動車組單個車門的門控器、主車門控制單元與CCU這3級門控系統(tǒng)的通信接口的具體描述,如圖12所示。
圖12門控器、主車門控制單元與CCU的通信接口內部塊圖
(1) 基于MBSE的動車組設計方法,主要包括需求分析、功能分解、系統(tǒng)架構生成3個設計階段;同時在這3個設計階段間規(guī)劃了4條設計回路,將各個設計階段進行有機關聯(lián)。
(2) 研究了SysML語言對動車組設計MBSE方法的支持,根據(jù)所提出的基于MBSE的動車組設計方法,以某型動車組車門控制系統(tǒng)為例,在對其進行任務分析和設計的基礎上,使用SysML語言的9種視圖構建了車門控制系統(tǒng)的需求和用例模型、功能模型及邏輯和物理架構模型。建立的SysML模型能夠以圖形化的方式直觀的體現(xiàn)設計信息,并具有可重用性。模型間的關聯(lián),如需求與用例的關聯(lián),任務與任務細化模型的關聯(lián)等,保證了整個設計過程中信息的可追溯性,并幫助設計者優(yōu)化現(xiàn)有設計迭代過程。通過對車門控制系統(tǒng)的設計進行較全面地描述,論證了基于SysML語言的MBSE方法在動車組設計中的適用性。
(3) 在未來的研究中,將繼續(xù)在其他動車組子系統(tǒng)開發(fā)任務中探索和實踐MBSE方法,特別是研究4條設計回路間的動態(tài)關聯(lián)方式,使得每個設計階段的設計結果既能正向驅動下一階段的設計,又能逆向反饋到前一階段,以促進設計的迭代更新;使用本領域的通用設計知識對SysML語言進行擴展和建設模型庫,加強建模元素的易用性和可重用性以簡化設計者的建模操作;針對動車組系統(tǒng)設計的性能驗證,還將研究動車組設計SysML模型與本領域內仿真平臺的集成。
[1]Technical Operations International Council on Systems Engineering (INCOSE). Systems Engineering Vision 2020[R]. [S.l.]:INCOSE, 2007.
[2]HOFFMANN H P. IBM Rational Harmony Deskbook Rel 4.1[OL]. Somers:IBM Corporation, 2013(2014)[2017-12-19]. https://www.ibm.com/developerworks/community/groups/service/html/communitystart?communityUuid=dbc39547-3619-4c31-9535-0b583a4e6190.
[3]MEILICH A, RICKELS M. An Application of Object Oriented Systems Engineering (OOSE) to an Army Command and Control System: a New Approach to Integration of System and Software Requirements and Design[C]//Proceedings of INCOSE International Symposium. Brighton: Wiley, 1999: 1005-1016.
[4]WEILKIENS T. Systems Engineering with SysML/UML: Modeling, Analysis, Design[M]. Burlington: Morgan Kaufmann, 2011.
[5]CANTOR M, PLUG R U P. Rational Unified Process for Systems Engineering Part 1: Introducing RUP SE Version 2.0[J/OL]. Somers: IBM Rational Software, 2003[2017-12-19]. http://vincentvanrooijen.com/container%5Cprocess%5CRational%20Unified%20Process%20for%20Systems%20Engineering%20-%201.pdf.
[6]VOGEL-HEUSER B, SCHüTZ D, FRANK T, et al. Model-Driven Engineering of Manufacturing Automation Software Projects-a SysML-Based Approach[J]. Mechatronics, 2014, 24(7): 883-897.
[7]CAO Yue, LIU Yusheng, FAN Hongri, et al. SysML-Based Uniform Behavior Modeling and Automated Mapping of Design and Simulation Model for Complex Mechatronics[J]. Computer-Aided Design, 2013, 45(3): 764-776.
[8]王崑聲,袁建華,陳紅濤,等. 國外基于模型的系統(tǒng)工程方法研究與實踐[J].中國航天,2012(11):52-57.
[9]邵健. 基于MBSE的航天任務分析與設計方法[D]. 哈爾濱:哈爾濱工業(yè)大學, 2015.
(SHAO Jian. Using Model-Based Systems Engineering for Space Mission Analysis and Design[D]. Harbin: Harbin Institute of Technology, 2015. in Chinese)
[11]Object Management Group. Systems Modeling Language Specification[OL]. Needham: Object Management Group, 2009(2010)[2017-12-19]. http://www.omg.org/spec/SysML/1.2/PDF.
[12]CAO Yue, LIU Yusheng, PAREDIS C J J. System-Level Model Integration of Design and Simulation for Mechatronic Systems Based on SysML[J]. Mechatronics, 2011, 21(6): 1063-1075.
[13]白雪,肖寶弟,劉皓瑋.基于場景設計的列車調度系統(tǒng)需求建模方法[J].中國鐵道科學,2009,30(3):115-118.
(BAI Xue,XIAO Baodi,LIU Haowei.Scenario-Based Design of the Requirement Modeling Method for Train Dispatching System[J].China Railway Science,2009,30(3):115-118.in Chinese)
[14]李開成,徐田華,唐濤.CTCS-3級列控系統(tǒng)避撞協(xié)議的建模、設計和實現(xiàn)[J].中國鐵道科學,2010,31(6):86-91.
(LI Kaicheng,XU Tianhua,TAO Tao.The Modeling,Design and Implementation of the Collision Avoidance Protocol in CTCS-3 Train Control System[J].China Railway Science,2010,31(6):86-91.in Chinese)
[15]徐偉.模型驅動的城軌列車車載控制系統(tǒng)軟件評估體系[D].北京:中國鐵道科學研究院,2014.
(XU Wei. Software Evaluation System of Rail Transportation Train Control System Based on Model-Driven Software Development[D].Beijing:China Academy of Railway Sciences,2014.in Chinese)