分布式控制系统设计:模式语言方法
作者 : [芬]维利-佩卡·埃洛兰塔(Veli-Pekka Eloranta) 乔纳斯·科斯基宁(Johannes Koskinen) 马可·利帕宁(Marko Leppänen) 维莱·雷约宁(Ville Reijonen) 著
译者 : 蔡远利 于振华 孙增国 译
丛书名 : 计算机科学丛书
出版日期 : 2017-11-13
ISBN : 978-7-111-58390-5
定价 : 99.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 328
开本 : 16
原书名 : Designing Distributed Control Systems:A Pattern Language Approach
原出版社: wiley
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书给出了80多种分布式控制系统的软件架构模式,力求打通机器领域与软件领域之间的壁垒,指导工程师利用成熟的模式和模式语言来搭建有效的软件架构,而不细化到代码层面的细节。这些模式源自领先企业所推出的先进系统,能解决领域内最典型的挑战。本书中还包括大量企业专家使用书中的模式设计软件架构的例子。

图书特色

全球化的现代工业生产对分布式控制系统提出了更高的要求,其中,软件体系结构的好坏决定着整个系统的品质,这对于并不熟悉软件设计的机械工程师是极大的挑战。本书创新性地将计算机科学领域中的“模式”概念引入机器控制系统的研究中,甄选出80种模式,为系统工程师、设计师和管理人员等提供了实用的基础知识和应用指导。
本书特色
精选主流实用模式。80种模式都根植于工业实践,并经过多番专家研讨,涵盖消息模式、数据管理模式、人机界面模式等,为应对各类问题提供了成熟的解决方案。
从模式到模式语言。将模式组织为模式语言是应对复杂问题所必需的,书中讲解了构建语言的“语法”,但并不限于80种模式,而是鼓励读者根据设计需求不断拓展。
易阅读的讲解方式。每种模式都采用统一的呈现格式,从问题到方案再到应用均清晰明了,并提供易于查询的“模式手册”和细节知识更为丰富的配套网站(www.wiley.com/go/controlsystemspatterns)。

维利-佩卡·埃洛兰塔(Veli-Pekka Eloranta) 坦佩雷理工大学研究员,曾多次担任VikingPLoP的主席。
乔纳斯·科斯基宁(Johannes Koskinen) 坦佩雷理工大学研究员,方向为软件项目管理和软件架构等。
马可·利帕宁(Marko Lepp?nen) 坦佩雷理工大学博士后研究员,曾在芬兰的多所大学讲授模式课程。
维莱·雷约宁(Ville Reijonen) 经验丰富的模式研究者,现在工业界致力于敏捷软件开发。

上架指导

工业控制

封底文字

全球化的现代工业生产对分布式控制系统提出了更高的要求,其中,软件体系结构的好坏决定着整个系统的品质,这对于并不熟悉软件设计的机械工程师是极大的挑战。本书创新性地将计算机科学领域中的“模式”概念引入机器控制系统的研究中,甄选出80种模式,为系统工程师、设计师和管理人员等提供了实用的基础知识和应用指导。

本书特色
·精选主流实用模式。80种模式都根植于工业实践,并经过多番专家研讨,涵盖消息模式、数据管理模式、人机界面模式等,为应对各类问题提供了成熟的解决方案。
·从模式到模式语言。将模式组织为模式语言是应对复杂问题所必需的,书中讲解了构建语言的“语法”,但并不限于80种模式,而是鼓励读者根据设计需求不断拓展。
·易阅读的讲解方式。每种模式都采用统一的呈现格式,从问题到方案再到应用均清晰明了,并提供易于查询的“模式手册”和细节知识更为丰富的配套网站(www.wiley.com/go/controlsystemspatterns)。

作者简介

[芬]维利-佩卡·埃洛兰塔(Veli-Pekka Eloranta) 乔纳斯·科斯基宁(Johannes Koskinen) 马可·利帕宁(Marko Leppänen) 维莱·雷约宁(Ville Reijonen) 著:
Veli-Pekka Eloranta 坦佩雷理工大学研究员,曾多次担任VikingPLoP的主席。 Johannes Koskinen 坦佩雷理工大学研究员,研究方向包括软件项目管理和软件架构等。 Marko Lepp?nen 坦佩雷理工大学博士后研究员,曾在芬兰的多所大学讲授模式课程。 Ville Reijonen 经验丰富的模式研究者,现在工业界致力于敏捷软件开发。

译者序

各种不同类型的机器已经成为现代人类社会不可缺少的部分。在过去,一般认为机器系统的设计与开发是机械工程师的事,但随着机器功能的增加和复杂性的提高,机器控制系统的设计和开发成为相对独立的领域。机器控制系统离不开软件,甚至是非常复杂的软件。软件的体系结构决定了整个系统的品质,然而,机器控制系统工程师通常缺乏软件领域的专业知识,对软件的体系结构认识得也不够充分,可以说软件系统和机器控制领域之间存在巨大的鸿沟。
现代机器结构越来越复杂,功能越来越强大,分布式控制已经成为机器控制系统必然的选择,也是近年来研究和设计人员面临的巨大挑战。如何设计好的机器控制系统软件呢?本书从一个新的角度探讨了机器控制系统设计方法的基本原理,主要讲述如何运用模式来设计面向机器的分布式控制系统。模式提供了解决特定问题的原理和思路,而不是具体的技术细节。模式对应于特定设计问题的解决方案,其源于已得到成功应用的系统,开发人员可以在设计中复制这些解决方案。
本书内容丰富,涉及许多行业和领域。书中首先介绍了分布式控制系统的特性、设计方法和面临的挑战,然后进入核心内容——作者从成功的机器系统开发中提炼出来的80种模式,包括分布模式、消息模式、事件处理模式、控制系统模态的模式、数据管理模式、处理稀缺资源的模式、软件和硬件的解耦模式、冗余模式、系统启动模式、软件更新模式、人机界面模式、高层服务模式、机群管理模式、系统配置模式等。这些模式描述了分布式控制系统设计的解决途径,对于新系统的开发和旧系统的维护具有重要的作用,形成了分布式控制系统设计的模式语言。本书最后还利用书中模式设计了一个工作机器控制系统,用实例演示了模式语言的有效性。
本书将计算机科学领域中的模式概念引入机器控制系统的研究中,内容新颖,为分布式控制系统的设计与开发提供了一种新的手段,应用前景广阔。本书面向机器控制系统设计人员、系统工程师和系统管理人员,包括高级规划人员和项目经理等。当然,本书也可以作为本领域的教学参考书。
限于时间以及译者水平,译文中难免存在不当之处,恳请读者批评指正。

译者
2017年10月于西安

推荐序

你正在阅读的这本书,收集了构建具有分布式软件控制系统的工作机器所需要的关键体系结构和设计原则。本书作者多年来潜心研究真实机器的设计,提炼出了最常见、最有用的原理,这些原理将在本书中加以讲解,非常值得期待。由于他们把书中的模式带到许多会议中去研讨和完善,使整本书更加实用,因此我一直在关注本书的进展。我确信,你将发现他们关于工作机器控制系统环境以及构造有效系统原理的分析是行之有效的。
机器无处不在。本书感兴趣的机器包括固定的和可移动的机器,这些机器在工业环境中为我们工作。本书作者称它们为“工作机器”,从大型造纸机到小型移动装载机均属此列,其他例子还有叉形起重机、采矿钻孔机,以及诸如拖拉机和收割机之类的农林业机器、卡车、开凿机、升降机等。与仅依靠机械方法(如传送带和滑轮等)控制的旧式机器相比,现代机器更为复杂。这些复杂的现代机器得益于计算机控制,它们正变得体积更大、功能更多,这使得集中控制系统不再可行,也不再受欢迎。取而代之的控制系统通过把控制器放在受控系统部件附近,使得控制系统分散到机器的各个部分。
这些机器是昂贵的、长寿命的实时系统,必须连续不断地运行。为了获得投资回报,它们必须根据需要运行,同时为操作者和公众提供安全提示。本书从不同的角度研究了从全机械系统到分布式软件控制系统的演化。其中,极大化在新机器上的大投入带来的收益以及维护方面的好处,就是提高经济收益的一个例子。这就引起了关于机器作为服务和生产商如何在机器卖出后能够持续获利的讨论,关键领域的专家评论支撑了作者对这个主题的分析。根据软件工程原理以及行业的质量标准,那些需要获得满意结果的实践得到了检验。所有这些主题都贯穿在本书的模式中。
本书的主要贡献不是对分布式控制系统及其在当前和未来的作用的深刻讨论,而是80个模式。对于分布式控制系统设计中的内在问题,这些模式描述了已被证实的解决方案。无论你正在设计一个新的系统,或者维护一个旧的系统,或者仅仅是一名学习软件体系结构的学生,这些模式都是非常有用的。
模式描述了特定问题的解决方案,这些解决方案的正确性已得到验证且包括足够的细节,因此在设计中可以复制这些解决方案。书中描述了问题存在的背景(即来龙去脉),以及使问题难以解决并且必须彼此折中考虑的因素。通过明确给出每种解决方案的结果部分(这也许涉及应用其他附加模式),本书采用了这种略加调整的“模式形式”。模式的构造是为了便于阅读,黑体文字用来表示关键部分。仅通过阅读黑体文字略读本书,就会让你对整个分布式机器控制模式语言有个整体印象。
模式“开采”于现存的系统中——本书的模式是作者从许多不同的机器制造商生产的机器中开采出来的。在这种模式开采的过程中,作者发现了很多好的想法,但不是所有好的想法都是真正的模式。本书模式描述的解决方案至少出现在三种不同的机器中,因此是令人信服的好的解决方案。
在每种模式的结尾处,至少描述了该模式的一个已知应用。这些已知应用为工作机器提供了一种富有启发性的视角,以及实现这些模式的方式。模式不代表着盲目应用,而已知应用提供了模式应用的实例。当你使用这些模式设计自己的系统时,需要改写本书中提供的模式,以便适应系统的具体环境。
单一模式本身是有用的,但只有当模式组合在一起使用时,它们的真正功能才能呈现出来。与仅应用选定的单一模式相比,模式组合能使系统的开发更进一步。
本书中的模式总体上形成了一种模式语言,各章节即为各种子语言,比如配置、数据管理、事件管理、机群管理、消息发送、冗余、启动、更新等。书中用特别长的一章论述了人机界面模式,这是许多作者涉及的领域,主要集中在计算机系统或互联网。本书作者则关注当机器可能有危险或者不是所有的部分都可见时,操作者如何与机器进行交互这一独特的问题。
本书中的模式并不是你将要使用的唯一模式。当你启动一个新的项目时,使用模式的最好方法是创建自己的个人目录。本书中的模式为你的分布式控制系统项目目录提供了核心内容。另外,其他已经发表的模式以及只有你或你的公司知道的其他模式也都会用到。作者在本书中经常参考其他模式集,比如我的软件容错模式集,另外也参考了相关的工业标准。作者没有重新书写并发表这些内容,而是指出把它们作为你进一步研究的资源,并包含在你的模式目录中,这也表明这80个模式并不是你需要的唯一模式集。
你将会发现本书中的模式是非常深刻的,它们简洁易懂,其中很多模式描述了你所熟悉的概念。本书作者做了一项非常好的工作,解释了如何把这些模式应用于机器控制系统的设计。我非常荣幸能为本书写序,我深信当你研究、设计、构建和维护工作机器控制系统时,会发现本书具有良好的研究和应用前景。

罗伯特 S. 汉默(Robert S. Hanmer)
《Patterns for Fault Tolerant Software》和《Pattern Oriented Software Architecture For Dummies》的作者
美国,伊利诺伊州,格伦维尤

图书目录

出版者的话
译者序
推荐序
致谢
第1章 绪论 1
1.1 为什么阅读本书 3
1.2 如何使用本书 3
1.3 与过去工作的比较 4
第2章 分布式控制系统领域 6
2.1 分布式控制系统的特性 8
2.2 通用方法和挑战 20
2.3 本领域的新趋势 35
第3章 软件体系结构和质量 47
3.1 什么是质量 47
3.2 质量属性 48
3.3 度量质量 50
3.4 外部质量和内部质量 51
第4章 关于模式 53
4.1 什么是模式 53
4.2 从模式到模式语言 56
4.3 本书中模式的故事 58
4.4 本书中使用的模式格式 60
第5章 分布式控制系统的模式语言 62
5.1 控制系统 63
5.2 看门狗 67
5.3 自检 70
5.4 强制输入值 70
5.5 错误计数器 71
第6章 分布模式 72
6.1 孤立功能 72
6.2 分布式安全 76
6.3 心跳 79
6.4 全局时间 81
第7章 消息模式 85
7.1 一对多 86
7.2 高层协议 90
7.3 消息接口 94
7.4 协议版本握手 94
7.5 消息队列 94
7.6 分类消息 97
7.7 消息信道复用 97
7.8 消息网关 97
7.9 消息向量时钟 98
7.10 唯一确认 101
第8章 事件处理模式 102
8.1 通知 102
8.2 通知级别 106
8.3 通知日志 109
8.4 预警 112
第9章 控制系统模态的模式 115
9.1 操作模态 116
9.2 安全状态 119
9.3 跛行模式 123
9.4 传感器旁路 126
9.5 无所忌惮 126
9.6 互换算法 129
第10章 数据管理模式 132
10.1 变量管理器 133
10.2 变量保护 138
10.3 变量值翻译器 140
10.4 数据状态 144
10.5 计数器 147
10.6 快照 147
第11章 处理稀缺资源的模式 151
11.1 并发执行 152
11.2 静态调度 155
11.3 分离实时 158
11.4 部分结果 162
11.5 静态资源分配 165
11.6 储物柜密钥 167
11.7 半任务 170
11.8 早期工作 173
第12章 软件和硬件的解耦模式 176
12.1 硬件抽象层 176
12.2 操作系统抽象 179
12.3 虚拟运行环境 182
第13章 冗余模式 185
13.1 1+1冗余 185
13.2 投票 188
第14章 系统启动模式 192
14.1 引导程序 192
14.2 系统启动 196
14.3 启动协商 199
第15章 软件更新模式 200
15.1 可更新软件 201
15.2 集中更新 204
15.3 无扰更新 207
第16章 人机界面模式 208
16.1 人机界面 209
16.2 人工反馈 212
16.3 两步确认 214
16.4 直立就好 217
16.5 基于任务的UI 218
16.6 基于角色的UI 219
16.7 替代操作站 221
16.8 多个操作站 225
16.9 设备提供UI 225
16.10 信标 225
16.11 HMI通知 228
16.12 操作者配置文件 228
16.13 公共外观 231
第17章 高层服务模式 235
17.1 诊断 235
17.2 黑箱 239
17.3 第三方沙箱 239
17.4 远程访问 243
17.5 动态信道选择器 246
第18章 机群管理模式 250
18.1 机群管理 250
18.2 M2M通信 254
18.3 机会委托 254
18.4 系统适配器 254
第19章 系统配置模式 255
19.1 参数 255
19.2 配置参数版本 259
19.3 基于组件的配置 259
19.4 控制系统选项 265
第20章 应用模式 268
第21章 结束语 273
附录A 质量属性表 274
附录B 模式手册 278
参考文献 289
索引 305

教学资源推荐
作者: [美]尼拉 R.布兰斯科姆( Nyla R. Branscombe),罗伯特 A.巴隆(Robert A. Baron) 著
作者: (美)杰弗里 O. 贝内特(Jeffrey O.Bennett) 著 科罗拉多大学波尔得分校威廉 L. 布里格斯(William L.Briggs)科罗拉多大学丹佛分校马里奥 F. 特里奥拉(Mario F. Triola)达奇斯社区学院
作者: (美)罗伯特S.费尔德曼(Robert S. Feldman)
作者: [美] 伦道夫?史密斯(Randolph A.Smith) 史蒂芬?戴维斯(Stephen F.Davis)著
参考读物推荐
作者: 谈云海
作者: [澳]迈克尔 L.弗里(Michael L.Free) 著
作者: [美] 英格丽·费泰尔·李(Ingrid Fetell Lee)著