嵌入式控制系統設計/模型驅動工程
外觀
|
的華夏公益教科書
嵌入式控制系統設計
|
模型驅動工程 (MDE) 是一種開發複雜、可靠和高度可重用系統的方案。這透過一組工具來實現,這些工具允許建立和隨後將模型轉換為最終系統。重要的是,工作重點集中在模型的定義和轉換設施上,而不是手工編寫和迭代除錯低階程式碼。MDE 已經成功地應用於廣泛的應用領域,例如控制器設計(例如 Simulink)、積體電路設計,以及越來越多地應用於軟體開發。
模型驅動架構 (MDA) 是由物件管理組織 (OMG) 開發的一種即將推出的標準,旨在實現可重用性、可移植性和互操作性。該標準的實施導致了建模語言的出現,這些語言可以是多領域的,例如Modelica(正在開發中)或特定於領域的,例如AUTOSAR 用於汽車行業,統一建模語言 (UML) 用於軟體工程,以及系統建模語言 (SysML) 用於系統工程。該架構分析與設計語言 (AADL) 是一種用於對複雜分散式即時系統進行建模的語言,它已被成功地用於模型驅動的控制系統設計 [1]
標準化的一個最重要的優勢是它可以促進一項新技術的開發(例如行動電話的 GSM 標準和全球資訊網的 HTML)。但是,大多數公司(例如 Mathworks)目前都有自己的事實上的標準,這使得互操作性以及建立行業標準變得困難。當模型的總體複雜性增加時,建立具有簡單輸入輸出結構的子系統(或基本元件)可以促進更高層次的設計。如今,各種軟體工具鏈中都存在特定領域的庫,其抽象級別適合於應用程式。
目前的軟體工具鏈在多個級別上仍處於發展中,因此在選擇基於 MDE 的控制設計方法之前,應考慮一些因素。
- 模型的可重用性,即使是在原始平臺內。當前的建模語言存在缺陷,重用的程式碼通常需要針對新的應用程式進行除錯。
- 模型在多個平臺上執行的能力(可移植性),這是由標準化不足以及硬體和軟體平臺的多樣性造成的。
- 測試階段的時間消耗:在大多數領域,推匯出平臺相關程式碼的過程非常耗時。
- 具有固有抽象級別選擇的特定領域庫。從頭開始建立或改進模型非常耗時,甚至可能無法實現。
- 硬體約束滿足,目標平臺的硬體限制和物理系統是抽象的。未來的建模工具鏈可以提供配置這種抽象的方法。
- 可預測性。複合系統的行為通常與子系統行為不同。例如,透過組合質量和彈簧元件模型,共振現象可以作為新的複合級別行為發生,而這種行為在每個單獨的元件中都沒有出現。同樣,由於元件之間可能發生的無數互動,故障模式或元件故障的可能性和對全域性系統的影響也更難追蹤和解釋。
- 重要的是要注意,所有當前的標準和工具都針對 C1 和 C2 複雜性類別 的應用程式,沒有任何一個標準或工具專門解決與 C3 相關的方面。
一些控制設計方法依賴於基於模型的測試,例如快速控制原型,其中控制演算法是在模擬環境中開發的,並隨後使用自動生成的平臺相關程式碼在真實系統中進行驗證。
- ↑ John Hudak, Peter Feiler, "為控制系統開發 AADL 模型:實踐指南" 技術報告 CMU/SEI-2007-TR-014,卡內基梅隆大學,2007 年。