金航數碼科技有限責任公司 季洪新 陶福星 馬洪波
近幾十年來,從互聯網到物聯網,從多應用的電動車到無人駕駛汽車等,一切的變革無不和數字電子技術的變革密切相關,極大地改變了民用系統裝備的應用方式,應用的價值從簡單的電子控制領域逐漸轉向了復雜數字電子控制領域,復雜實時嵌入式系統越來越成為效能倍增的關鍵點,而如果能在復雜實時嵌入式系統構建前就能驗證其功能和非功能屬性,這樣會極大助力裝備的研發,針對上述變化發展背景,基于復雜實時嵌入式系統的架構設計,開展以架構設計方法為指導,針對復雜實時嵌入式系統基于模型的架構設計方法、復雜裝備系統模型化表達規范等研究工作尤為重要,本文提出了一種基于功能架構、邏輯架構、物理架構的模型的復雜實時嵌入式系統架構設計方法,以開展具體的復雜實時嵌入式系統的架構設計工作。
復雜實時嵌入式系統目前廣泛應用于航空電子、航天器、汽車控制等諸多領域,這類系統具有資源受限、實時響應、容錯、專用硬件等特點,對系統的非功能屬性(如實時性、可靠性、安全性等)有較高的要求,這類系統變得越來越復雜,相應的開發周期和開發成本也大幅度提高。傳統的復雜實時嵌入式系統開發已經不能滿足當前的需求,為此,引入了模型驅動體系結構(Model Driven Architecture,MDA),使設計研發過程從傳統的以代碼為核心提升到以架構設計的模型為核心。用戶可以在模型階段就對系統的架構設計進行分析和驗證,這樣可以大大縮短系統的開發周期,節約開發成本[1]。
復雜實時嵌入式系統功能架構是表示實現復雜實時嵌入式系統目標的功能與功能之間的關系。功能架構從復雜實時嵌入式系統需求出發,不考慮具體的實現方式,從這個角度逐步展開,使得最終的系統不會偏離最初的目標。
1.1.1 建立功能架構
(1)功能元素分配。功能元素分配的目的是以系統用例分析為主要輸入,并結合分析結果從中識別并且定義出系統功能元素。
(2)建立功能層級模型。在完成系統功能分解之后,需要對各個功能進行分析,將其轉化成基于系統功能層級的架構模型。系統功能模塊的劃分原則是:高內聚、低耦合。
(3)建立功能流描述模型。在確定了系統各功能元素之后,需要對各個功能元素的邏輯功能流進行分析描述。
1.1.2 功能架構接口分析
(1)描述功能交互。描述功能交互主要目的是通過分析系統各功能元素之間的交互進而識別各個功能元素與外部的接口。
(2)描述功能接口組成。通過功能元素接口交互分析可得出各功能元素的外部交聯關系,基于這些交聯關系,可以用來定義系統各功能元素的接口,形成功能接口組成模型。
1.1.3 功能架構動態行為驗證
在完成了系統功能架構元素接口分析之后,需要對系統功能架構進行分析和驗證,其目的主要是為了對系統功能架構中各功能元素進行進一步分析,并在進入邏輯架構設計之前對功能架構做一次綜合評價,這樣可以使得邏輯架構的設計建立在一個相對穩定的功能架構之上。常用方法是針對功能架構中的每一個功能元素建立對應的動態行為模型,并通過動態行為模型的仿真運行對系統功能架構進行驗證,以確保系統功能架構的合理性。
1.1.4 識別功能架構的衍生需求
在進行功能架構的設計過程中,隨著復雜實時嵌入式系統設計人員對功能的分解和性能的分配,有可能會產生出新的需求。對于新產生的需求需要設計人員進行識別,并且對其進行定義、驗證與確認,最終將新產生的需求錄入系統需求庫中。
1.2.1 建立邏輯架構
(1)邏輯實體定義。邏輯實體定義就是為功能架構中的功能或者功能組設計對應的邏輯實體。
(2)邏輯架構對功能架構的追溯。根據功能架構確定的功能集,定義邏輯實體,需要創建邏輯實體到功能集合的追溯關系,確保邏輯實體對功能架構的功能集合全覆蓋,同時也確保邏輯架構設計的可追溯性。
(3)性能指標分配。在完成邏輯架構對功能架構追溯后,應對分配到邏輯實體的功能需求定義性能指標。
1.2.2 邏輯架構接口分析
(1)描述邏輯實體交互。描述邏輯實體交互主要目的是通過分析系統各邏輯實體之間的交互,進而識別各個邏輯實體與外部的接口。
(2)描述邏輯實體接口組成。邏輯實體是由功能分類重組而來,因此邏輯實體之間的接口類型可以從其所承載的功能接口進行識別。
1.2.3 邏輯架構動態行為驗證
針對邏輯架構中的每一個邏輯實體建立對應的動態行為模型,并通過動態行為模型的仿真運行對系統邏輯架構進行驗證,以確保系統邏輯架構的合理性。
1.2.4 識別邏輯架構的衍生需求
在邏輯架構設計活動中,由于對功能進行分組,定義了邏輯實體,同時對性能指標也進行了分配,有可能會產生新的需求,這部分需求即為衍生需求,衍生需求也需要作為需求的一部分進行管理。
1.3.1 建立物理架構
(1)物理實體定義。物理實體應該能夠滿足對應邏輯實體的功能和性能。
(2)物理架構向邏輯架構追溯。根據邏輯架構確定的邏輯實體,定義物理實體,需要創建物理實體到邏輯實體的追溯關系,確保物理實體對邏輯架構的功能需求全覆蓋,同時也確保物理架構設計的可追溯性。
(3)性能指標分配。在物理架構設計過程中,需要識別物理實體對應邏輯實體性能指標,將邏輯架構中邏輯實體的性能指標分配和分解到各個物理實體。
1.3.2 物理架構接口分析
系統級物理接口是不同系統之間的硬件接口。根據物理架構中的功能、邏輯分析,需要識別分配物理實體物理接口。
1.3.3 識別物理架構的衍生需求
在物理架構設計活動中,由于基于邏輯實體定義了物理實體,同時對性能指標也進行了分配,有可能會產生新的需求,這部分需求即為衍生需求,衍生需求也需要作為需求的一部分進行管理。如何定義衍生需求,可以參考需求開發階段的需求定義的內容。
基于模型的復雜實時嵌入式系統架構建模以架構為核心進行設計與分析,架構模型作為權威數據真相源,為開展整個系統中其他視角的工作提供數據。復雜實時嵌入式系統架構建模主要基于系統建模語言(SysML)[2]支持系統設計師開展架構模型的設計,具體包括功能、功能交換項定義、端口、數據流路徑、物理架構等。同時,通過概要文件(Profile)擴展使用未來機載能力環境(FACE)[3]和實現復雜實時嵌入式系統建模分析(MARTE)[4]開展復雜實時嵌入式系統特性的建模,包括硬件組成、軟件資源、執行平臺特性等。
對于復雜實時嵌入式系統架構建模的描述,本研究只針對一種特定的建模方式,在此方式中SysML 構建的系統架構模型采用分層的設計,并使用MARTE 和FACE元素描述復雜實時嵌入式系統的執行平臺特性以及數據模型。這種特定的建模方式將系統架構分為功能架構、邏輯架構以及物理架構,其中功能架構使用SysML 元素進行描述,邏輯架構由SysML 元素以及FACE 元素共同描述,物理架構則使用MARTE 進行描述。
功能架構建模主要根據復雜實時嵌入式系統的用例進行功能分析與設計,產生功能性的架構。功能架構中將抽象出功能組以及功能的概念,功能組將包含多個功能,這兩個概念均使用SysML 中的Block(或者使用Profile對Block 進行封裝)進行表示。為了區分代表功能組和功能的Block 與表示系統的Block,建議將其單獨使用包進行組織。主要使用塊定義圖(BDD)描述功能組和功能的分解結構,功能組中的功能之間的數據流交互使用內部塊圖(IBD)進行描述,功能流使用活動圖進行描述,功能交互使用順序圖進行描述,功能元素的動態行為模型使用狀態圖進行描述。表示功能Block 的Port 表示功能的信息流端口(主要是數據流或者事件流),連接Connection 用于表示功能(在IBD 圖使用Property 進行表示)之間的信息流連接關系[5]。
邏輯架構建模主要是對復雜實時嵌入式系統的邏輯組成進行建模設計,使用邏輯組件的方式對系統組成進行表示,并將功能架構中的功能分配到邏輯組件中。使用BDD 圖描述系統的分解組成關系,最頂層的Block 表示系統,其他的Block 表示邏輯組件(或子系統),Block上的Port 用于表示邏輯組件的數據交換端口,使用組成連接關系描述系統組成結構,邏輯組件可能會嵌套包含子邏輯組件。在邏輯架構對應的包中新建一個描述數據交換端口的Interface 包,數據交換端口具體數據建模在BDD 圖中采用FACE Profile 進行。通過將邏輯組件的Port 的類型選擇為FACE 數據模型元素建立的數據,實現FACE 數據模型和端口的關聯。使用IBD 圖對系統的頂層邏輯組件之間的交互關系以及每個頂層邏輯組件內部的子組件之間和數據交互關系進行描述。連接Connector用于表示邏輯組件(用Property 表示)之間的數據連接。使用IBD 圖進行功能架構中功能和邏輯架構中邏輯組件之間的分配關系描述。在BDD 圖中將表示功能的Block 以Property 的形式拖入圖中,邏輯組件的Block 以同樣的方式拖入,使用Allocate 將功能分配到邏輯組件[6]。當模型比較復雜Allocate 關系較多時,可以使用追溯矩陣的形式描述功能到邏輯組件的分配關系。通過基于邏輯實體的狀態圖模型描述邏輯實體的動態行為,進行邏輯架構的動態行為驗證。
物理架構將引入MARTE,采用MARTE 中的元素具體的定義復雜實時嵌入式系統的軟硬件組成和分配關系。使用BDD 圖描述系統的分解組成關系,最頂層的Block表示系統,其他的Block 表示物理組件(或子系統),Block上的Port 用于表示物理組件的數據交換端口,使用組成連接關系描述系統組成結構。使用SysML Block 表示系統和子系統,使用MARTE 元素定義子系統的軟硬件組成。在Block 的內部塊圖(IBD)中表示其內部組成關系,其中,Property 若表示具體的軟硬件,則其類型應為定義好的MARTE 元素;若Property 表示子系統,則其類型為Block 定義的子系統類型。使用Allocate 描述MARTE元素間的軟硬件分配關系[7],使用追溯矩陣描述邏輯架構(邏輯組件)到物理架構(使用MARTE 元素表示的軟硬件)之間的分配關系。
研究總結形成一種嵌入式系統架構設計的建模方法,其中嵌入式系統架構建模包括功能架構建模、邏輯架構建模和物理架構建模。功能架構的建模可以使用SysML描述嵌入式系統的組成以及給內部功能的行為;邏輯架構建模描述邏輯組件以及外部組件之間的交換信息則參考FACE 中的數據模型進行描述;物理架構建模結合MARTE 可以對進行嵌入式硬件組成、執行平臺特性建模,定義計算平臺以及嵌入式軟件綁定關系。基于復雜實時嵌入式系統的架構設計過程中所使用的SysML、FACE、MARTE 都是標準的、成熟的國際系統工程標準,因此所提出的基于復雜實時嵌入式系統架構設計方法具備在數字技術環境中應用的價值,能夠指導復雜實時嵌入式系統進行架構設計工作。