相關主題
商品描述
本書專註於嵌入式工業軟件開放架構——基於 FACE 架構的應用和實踐。首先,探討了軟件工程與軟件架構的發展歷程,介紹了軟件工程的誕生背景、軟件架構的定義和作用,以及軟件架構的分類與描述方法。其次,聚焦嵌入式工業軟件的可移植性及其解決方案,討論了緊耦合問題和包依賴問題,並提出了關註點分離的解決方案;介紹了不同嵌入式工業系統的軟件架構,展示了嵌入式工業軟件架構設計的普遍原則和趨勢。接著,專註於航空電子系統 FACE 架構,全面描述了其需求及設計原理,探討了基於 FACE 架構的數字地圖管理器案例。同時,詳細介紹了航空電子系統的數據架構原理及相關案例。然後,介紹了開放架構下的軟件嵌入式系統建模方法、模型與代碼的映射關系,以及開放架構模型的代碼生成技術,包括系統代碼生成、ARINC653 系統代碼自動生成方法和數據模型代碼生成方法的研究。最後,介紹了航空電子系統 FACE 架構建模平臺的研製原理,包括設計方案、工具功能設計、數據模型的解析、開發框架和實現原理,以及組件代碼生成方法的研究與飛機作戰輔助系統案例分析。本書旨在幫助讀者深入理解軟件架構在嵌入式工業軟件領域的應用,特別是航空電子系統的 FACE 架構及其相關技術,對於從事相關領域研究和開發的專業人士具有重要的參考價值。
目錄大綱
目 錄
第 1 章 軟件工程與軟件架構·················································································1
1.1 引言 ······················································································································.1
1.1.1 軟件工程的誕生背景························································································.1
1.1.2 軟件架構的定義······························································································.1
1.1.3 軟件架構的作用······························································································.2
1.2 軟件工程與軟件架構的發展 ························································································.2
1.3 軟件架構的分類與描述方法 ························································································.3
1.3.1 軟件架構的分類······························································································.3
1.3.2 不同類型軟件架構的結合應用············································································10
1.3.3 軟件架構的描述方法························································································11
第 2 章 嵌入式工業軟件可移植面臨的問題及解決方案·············································.13
2.1 嵌入式工業軟件可移植面臨的問題 ···············································································13
2.1.1 緊耦合問題····································································································13
2.1.2 包依賴問題····································································································15
2.2 關註點分離解決方案 ·································································································16
第 3 章 嵌入式工業系統的軟件架構·····································································.19
3.1 航空電子系統軟件架構 ······························································································19
3.2 機器人操作系統軟件架構 ···························································································20
3.3 分佈式控制系統軟件架構 ···························································································20
3.4 汽車開放系統的軟件架構 ···························································································21
3.5 嵌入式工業軟件架構設計的普遍原則和趨勢 ···································································23
第 4 章 航空電子系統 FACE 架構 ·······································································.24
4.1 FACE 架構概覽········································································································24
4.2 OSS·······················································································································25
4.2.1 總體需求·······································································································25
4.2.2 操作系統分區·································································································27
4.2.3 分區間通信····································································································27
4.2.4 分區內通信····································································································31
4.2.5 本地內存分配·································································································34
4.2.6 共享內存·······································································································35
4.3 IOSS······················································································································36
4.3.1 IOSS 的定義···································································································37
4.3.2 關鍵特性·······································································································38
4.3.3 I/O 服務接口 ··································································································39
4.3.4 可配置性·······································································································40
4.3.5 可變性··········································································································41
4.4 PSSS ·····················································································································48
4.4.1 配置服務·······································································································48
4.4.2 系統級健康監控······························································································55
4.5 TSS ·······················································································································59
4.5.1 TSS 的概念····································································································59
4.5.2 TSS 的功能····································································································59
4.5.3 消息數據結構·································································································61
4.5.4 傳輸服務 API ·································································································62
4.5.5 可移植 FACE UoP 內的傳輸 API ·········································································63
4.5.6 傳輸服務支持的通信方式和類型·········································································63
4.5.7 傳輸服務配置·································································································64
4.5.8 傳輸服務的實現方式························································································65
4.5.9 TSS 通信代碼調用結構與實現············································································67
4.6 PCS ·······················································································································68
4.6.1 UoP 概述·······································································································69
4.6.2 UoP 分解·······································································································70
4.6.3 PSSS UoP ······································································································72
4.6.4 UoP 打包·······································································································73
4.7 基於 FACE 架構的數字地圖管理器案例分析···································································74
4.7.1 運行視圖·······································································································74
4.7.2 功能視圖·······································································································74
4.7.3 物理視圖·······································································································75
4.7.4 前提假設·······································································································76
4.7.5 架構環境·······································································································76
第 5 章 航空電子系統數據架構···········································································.83
5.1 數據模型語言 ··········································································································84
5.1.1 數據模型·······································································································84
5.1.2 UoP 模型·······································································································85
5.1.3 集成模型·······································································································86
5.1.4 可追溯性模型·································································································86
5.2 共享數據模型 ··········································································································87
第 6 章 開放架構下軟件嵌入式系統建模方法·························································.88
6.1 系統建模方法概述 ····································································································88
6.2 系統功能的組件化方法 ······························································································89
6.2.1 系統功能分析·································································································89
6.2.2 系統功能組件化······························································································89
6.3 面向組件的埠和消息類型的數據建模 ·········································································91
嵌入式工業軟件開放架構技術與實踐——基於 FACE 架構 ·VI·
6.3.1 CDM ············································································································92
6.3.2 LDM ············································································································93
6.3.3 PDM ············································································································93
6.3.4 UoP 模型·······································································································93
6.4 組件與外部設備通信的 I/O 服務···················································································94
6.4.1 I/O 配置文件建模方法 ······················································································94
6.4.2 I/O 配置文件實例分析 ······················································································95
6.5 組件間的傳輸服務 ····································································································96
6.6 ARINC 653 系統分區的自動化配置方法研究···································································98
6.6.1 ARINC 653 系統資源配置建模及系統資源配置的定義 ·············································98
6.6.2 資源配置文件的自動化解析及驗證···································································.102
6.6.3 分區間調度模型及分區內任務調度模型可調度性判定···········································.104
6.7 飛機作戰輔助系統案例建模方法 ···············································································.114
6.7.1 功能組件化·································································································.115
6.7.2 操作系統選型及操作系統分區·········································································.117
6.7.3 數據建模····································································································.117
第 7 章 開放架構下模型與代碼的映射關系研究·····················································.122
7.1 目標代碼結構定義 ·································································································.122
7.1.1 系統代碼設計······························································································.122
7.1.2 數據模型代碼設計························································································.123
7.1.3 組件代碼設計······························································································.123
7.2 FACE 模型與代碼的映射規則···················································································.124
7.2.1 PDM 到 IDL 的映射 ······················································································.124
7.2.2 IDL 到程序語言(C++)的映射·······································································.125
7.2.3 系統模型與系統代碼的映射關系······································································.127
7.2.4 數據模型與數據類型代碼的映射關系································································.128
7.2.5 UoP 與組件代碼的映射關系············································································.129
7.2.6 ARINC 653 系統配置模型與代碼的映射規則 ······················································.129
第 8 章 開放架構下模型的代碼生成技術······························································.132
8.1 模型到代碼自動生成方法概述 ··················································································.132
8.2 系統代碼生成模板設計 ···························································································.132
8.3 ARINC 653 系統代碼自動生成方法研究······································································.134
8.3.1 ARINC 653 系統模塊配置文件生成模板設計 ······················································.134
8.3.2 分區初始化代碼生成模板設計·········································································.135
8.3.3 自動化編譯模板文件設計···············································································.135
8.4 數據模型代碼生成方法研究 ·····················································································.135
8.4.1 數據模型代碼生成方法概述············································································.135
8.4.2 不同數據類型的 String Template 模板設計··························································.136
8.4.3 生成數據類型代碼························································································.140
第 9 章 FACE 架構建模平臺研製 ·······································································.142
9.1 FACE 建模平臺設計方案·························································································.142
9.1.1 工具總體架構設計························································································.142
9.1.2 FACE 模型組成元素的類圖設計 ······································································.142
9.1.3 模型文件設計······························································································.145
9.2 FACE 建模平臺的開發····························································································.146
9.2.1 工具功能設計······························································································.147
9.2.2 數據模型的解析···························································································.156
9.2.3 工具開發框架······························································································.157
9.3 組件代碼生成方法研究 ···························································································.158
9.3.1 組件 String Template 模板設計·········································································.158
9.3.2 解析組件模型文件和生成組件代碼···································································.160
9.4 飛機作戰輔助系統案例分析 ·····················································································.160
參考文獻 ········································································································.162