本書(shū)討論分布式控制領(lǐng)域中的軟件體系結(jié)構(gòu),創(chuàng)新性地將計(jì)算機(jī)科學(xué)中的“模式”概念引入這項(xiàng)研究,從主流工業(yè)實(shí)踐中甄選出80種實(shí)用模式,并將其組織為模式語(yǔ)言,為應(yīng)對(duì)各類設(shè)計(jì)問(wèn)題提供了成熟的解決方案。這80種模式涵蓋消息模式、數(shù)據(jù)管理模式、人機(jī)界面模式和機(jī)群管理模式等,從問(wèn)題到方案再到應(yīng)用均清晰易讀。本書(shū)適合機(jī)械工程師、設(shè)計(jì)師和管理人員閱讀,也是計(jì)算機(jī)和自動(dòng)控制等相關(guān)專業(yè)學(xué)生的有益參考資料。
全球化的現(xiàn)代工業(yè)生產(chǎn)對(duì)分布式控制系統(tǒng)提出了更高的要求,其中,軟件體系結(jié)構(gòu)的好壞決定著整個(gè)系統(tǒng)的品質(zhì),這對(duì)于并不熟悉軟件設(shè)計(jì)的機(jī)械工程師是極大的挑戰(zhàn)。《分布式控制系統(tǒng)設(shè)計(jì):模式語(yǔ)言方法》創(chuàng)新性地將計(jì)算機(jī)科學(xué)領(lǐng)域中的“模式”概念引入機(jī)器控制系統(tǒng)的研究中,甄選出80種模式,為系統(tǒng)工程師、設(shè)計(jì)師和管理人員等提供了實(shí)用的基礎(chǔ)知識(shí)和應(yīng)用指導(dǎo)。《分布式控制系統(tǒng)設(shè)計(jì):模式語(yǔ)言方法》特色
·精選主流實(shí)用模式。80種模式都根植于工業(yè)實(shí)踐,并經(jīng)過(guò)多番專家研討,涵蓋消息模式、數(shù)據(jù)管理模式、人機(jī)界面模式等,為應(yīng)對(duì)各類問(wèn)題提供了成熟的解決方案。
·從模式到模式語(yǔ)言。將模式組織為模式語(yǔ)言是應(yīng)對(duì)復(fù)雜問(wèn)題所必需的,書(shū)中講解了構(gòu)建語(yǔ)言的“語(yǔ)法”,但并不限于80種模式,而是鼓勵(lì)讀者根據(jù)設(shè)計(jì)需求不斷拓展。
·易閱讀的講解方式。每種模式都采用統(tǒng)一的呈現(xiàn)格式,從問(wèn)題到方案再到應(yīng)用均清晰明了,并提供易于查詢的“模式手冊(cè)”和細(xì)節(jié)知識(shí)更為豐富的配套網(wǎng)站。
各種不同類型的機(jī)器已經(jīng)成為現(xiàn)代人類社會(huì)不可缺少的部分。在過(guò)去,一般認(rèn)為機(jī)器系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)是機(jī)械工程師的事,但隨著機(jī)器功能的增加和復(fù)雜性的提高,機(jī)器控制系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)成為相對(duì)獨(dú)立的領(lǐng)域。機(jī)器控制系統(tǒng)離不開(kāi)軟件,甚至是非常復(fù)雜的軟件。軟件的體系結(jié)構(gòu)決定了整個(gè)系統(tǒng)的品質(zhì),然而,機(jī)器控制系統(tǒng)工程師通常缺乏軟件領(lǐng)域的專業(yè)知識(shí),對(duì)軟件的體系結(jié)構(gòu)認(rèn)識(shí)得也不夠充分,可以說(shuō)軟件系統(tǒng)和機(jī)器控制領(lǐng)域之間存在巨大的鴻溝。
現(xiàn)代機(jī)器結(jié)構(gòu)越來(lái)越復(fù)雜,功能越來(lái)越強(qiáng)大,分布式控制已經(jīng)成為機(jī)器控制系統(tǒng)必然的選擇,也是近年來(lái)研究和設(shè)計(jì)人員面臨的巨大挑戰(zhàn)。如何設(shè)計(jì)好的機(jī)器控制系統(tǒng)軟件呢?本書(shū)從一個(gè)新的角度探討了機(jī)器控制系統(tǒng)設(shè)計(jì)方法的基本原理,主要講述如何運(yùn)用模式來(lái)設(shè)計(jì)面向機(jī)器的分布式控制系統(tǒng)。模式提供了解決特定問(wèn)題的原理和思路,而不是具體的技術(shù)細(xì)節(jié)。模式對(duì)應(yīng)于特定設(shè)計(jì)問(wèn)題的解決方案,其源于已得到成功應(yīng)用的系統(tǒng),開(kāi)發(fā)人員可以在設(shè)計(jì)中復(fù)制這些解決方案。
本書(shū)內(nèi)容豐富,涉及許多行業(yè)和領(lǐng)域。書(shū)中首先介紹了分布式控制系統(tǒng)的特性、設(shè)計(jì)方法和面臨的挑戰(zhàn),然后進(jìn)入核心內(nèi)容——作者從成功的機(jī)器系統(tǒng)開(kāi)發(fā)中提煉出來(lái)的80種模式,包括分布模式、消息模式、事件處理模式、控制系統(tǒng)模態(tài)的模式、數(shù)據(jù)管理模式、處理稀缺資源的模式、軟件和硬件的解耦模式、冗余模式、系統(tǒng)啟動(dòng)模式、軟件更新模式、人機(jī)界面模式、高層服務(wù)模式、機(jī)群管理模式、系統(tǒng)配置模式等。這些模式描述了分布式控制系統(tǒng)設(shè)計(jì)的解決途徑,對(duì)于新系統(tǒng)的開(kāi)發(fā)和舊系統(tǒng)的維護(hù)具有重要的作用,形成了分布式控制系統(tǒng)設(shè)計(jì)的模式語(yǔ)言。本書(shū)最后還利用書(shū)中模式設(shè)計(jì)了一個(gè)工作機(jī)器控制系統(tǒng),用實(shí)例演示了模式語(yǔ)言的有效性。
本書(shū)將計(jì)算機(jī)科學(xué)領(lǐng)域中的模式概念引入機(jī)器控制系統(tǒng)的研究中,內(nèi)容新穎,為分布式控制系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)提供了一種新的手段,應(yīng)用前景廣闊。本書(shū)面向機(jī)器控制系統(tǒng)設(shè)計(jì)人員、系統(tǒng)工程師和系統(tǒng)管理人員,包括高級(jí)規(guī)劃人員和項(xiàng)目經(jīng)理等。當(dāng)然,本書(shū)也可以作為本領(lǐng)域的教學(xué)參考書(shū)。
限于時(shí)間以及譯者水平,譯文中難免存在不當(dāng)之處,懇請(qǐng)讀者批評(píng)指正。
譯者
2017年10月于西安
維利-佩卡·埃洛蘭塔(Veli-Pekka Eloranta),坦佩雷理工大學(xué)研究員,曾多次擔(dān)任VikingPLoP的主席。
喬納斯·科斯基寧(Johannes Koskillen),坦佩雷理工大學(xué)研究員,方向?yàn)檐浖?xiàng)目管理和軟件架構(gòu)等。
馬可·利帕寧(Marko Leppanen),坦佩雷理工大學(xué)博士后研究員,曾在芬蘭的多所大學(xué)講授模式課程。
維萊·雷約寧(Ville Reijonen),經(jīng)驗(yàn)豐富的模式研究者,現(xiàn)在工業(yè)界致力于敏捷軟件開(kāi)發(fā)。
目 錄
Designing Distributed Control Systems: A Pattern Language Approach
出版者的話
譯者序
推薦序
致謝
第1章 緒論 1
1.1 為什么閱讀本書(shū) 3
1.2 如何使用本書(shū) 3
1.3 與過(guò)去工作的比較 4
第2章 分布式控制系統(tǒng)領(lǐng)域 6
2.1 分布式控制系統(tǒng)的特性 8
2.2 通用方法和挑戰(zhàn) 20
2.3 本領(lǐng)域的新趨勢(shì) 35
第3章 軟件體系結(jié)構(gòu)和質(zhì)量 47
3.1 什么是質(zhì)量 47
3.2 質(zhì)量屬性 48
3.3 度量質(zhì)量 50
3.4 外部質(zhì)量和內(nèi)部質(zhì)量 51
第4章 關(guān)于模式 53
4.1 什么是模式 53
4.2 從模式到模式語(yǔ)言 56
4.3 本書(shū)中模式的故事 58
4.4 本書(shū)中使用的模式格式 60
第5章 分布式控制系統(tǒng)的模式語(yǔ)言 62
5.1 控制系統(tǒng) 63
5.2 看門狗 67
5.3 自檢 70
5.4 強(qiáng)制輸入值 70
5.5 錯(cuò)誤計(jì)數(shù)器 71
第6章 分布模式 72
6.1 孤立功能 72
6.2 分布式安全 76
6.3 心跳 79
6.4 全局時(shí)間 81
第7章 消息模式 85
7.1 一對(duì)多 86
7.2 高層協(xié)議 90
7.3 消息接口 94
7.4 協(xié)議版本握手 94
7.5 消息隊(duì)列 94
7.6 分類消息 97
7.7 消息信道復(fù)用 97
7.8 消息網(wǎng)關(guān) 97
7.9 消息向量時(shí)鐘 98
7.10 唯一確認(rèn) 101
第8章 事件處理模式 102
8.1 通知 102
8.2 通知級(jí)別 106
8.3 通知日志 109
8.4 預(yù)警 112
第9章 控制系統(tǒng)模態(tài)的模式 115
9.1 操作模態(tài) 116
9.2 安全狀態(tài) 119
9.3 跛行模式 123
9.4 傳感器旁路 126
9.5 無(wú)所忌憚 126
9.6 互換算法 129
第10章 數(shù)據(jù)管理模式 132
10.1 變量管理器 133
10.2 變量保護(hù) 138
10.3 變量值翻譯器 140
10.4 數(shù)據(jù)狀態(tài) 144
10.5 計(jì)數(shù)器 147
10.6 快照 147
第11章 處理稀缺資源的模式 151
11.1 并發(fā)執(zhí)行 152
11.2 靜態(tài)調(diào)度 155
11.3 分離實(shí)時(shí) 158
11.4 部分結(jié)果 162
11.5 靜態(tài)資源分配 165
11.6 儲(chǔ)物柜密鑰 167
11.7 半任務(wù) 170
11.8 早期工作 173
第12章 軟件和硬件的解耦模式 176
12.1 硬件抽象層 176
12.2 操作系統(tǒng)抽象 179
12.3 虛擬運(yùn)行環(huán)境 182
第13章 冗余模式 185
13.1 1+1冗余 185
13.2 投票 188
第14章 系統(tǒng)啟動(dòng)模式 192
14.1 引導(dǎo)程序 192
14.2 系統(tǒng)啟動(dòng) 196
14.3 啟動(dòng)協(xié)商 199
第15章 軟件更新模式 200
15.1 可更新軟件 201
15.2 集中更新 204
15.3 無(wú)擾更新 207
第16章 人機(jī)界面模式 208
16.1 人機(jī)界面 209
16.2 人工反饋 212
16.3 兩步確認(rèn) 214
16.4 直立就好 217
16.5 基于任務(wù)的UI 218
16.6 基于角色的UI 219
16.7 替代操作站 221
16.8 多個(gè)操作站 225
16.9 設(shè)備提供UI 225
16.10 信標(biāo) 225
16.11 HMI通知 228
16.12 操作者配置文件 228
16.13 公共外觀 231
第17章 高層服務(wù)模式 235
17.1 診斷 235
17.2 黑箱 239
17.3 第三方沙箱 239
17.4 遠(yuǎn)程訪問(wèn) 243
17.5 動(dòng)態(tài)信道選擇器 246
第18章 機(jī)群管理模式 250
18.1 機(jī)群管理 250
18.2 M2M通信 254
18.3 機(jī)會(huì)委托 254
18.4 系統(tǒng)適配器 254
第19章 系統(tǒng)配置模式 255
19.1 參數(shù) 255
19.2 配置參數(shù)版本 259
19.3 基于組件的配置 259
19.4 控制系統(tǒng)選項(xiàng) 265
第20章 應(yīng)用模式 268
第21章 結(jié)束語(yǔ) 273
附錄A 質(zhì)量屬性表 274
附錄B 模式手冊(cè) 278
參考文獻(xiàn) 289
索引 305