基本信息
- 原书名:Designing Distributed Control Systems: A Pattern Language Approach

编辑推荐
全球化的现代工业生产对分布式控制系统提出了更高的要求,其中,软件体系结构的好坏决定着整个系统的品质,这对于并不熟悉软件设计的机械工程师是极大的挑战。本书创新性地将计算机科学领域中的“模式”概念引入机器控制系统的研究中,甄选出80种模式,为系统工程师、设计师和管理人员等提供了实用的基础知识和应用指导。
本书特色
精选主流实用模式。80种模式都根植于工业实践,并经过多番专家研讨,涵盖消息模式、数据管理模式、人机界面模式等,为应对各类问题提供了成熟的解决方案。
从模式到模式语言。将模式组织为模式语言是应对复杂问题所必需的,书中讲解了构建语言的“语法”,但并不限于80种模式,而是鼓励读者根据设计需求不断拓展。
易阅读的讲解方式。每种模式都采用统一的呈现格式,从问题到方案再到应用均清晰明了,并提供易于查询的“模式手册”和细节知识更为丰富的配套网站(www.wiley.com/go/controlsystemspatterns)。
维利-佩卡·埃洛兰塔(Veli-Pekka Eloranta) 坦佩雷理工大学研究员,曾多次担任VikingPLoP的主席。
乔纳斯·科斯基宁(Johannes Koskinen) 坦佩雷理工大学研究员,方向为软件项目管理和软件架构等。
马可·利帕宁(Marko Lepp?nen) 坦佩雷理工大学博士后研究员,曾在芬兰的多所大学讲授模式课程。
维莱·雷约宁(Ville Reijonen) 经验丰富的模式研究者,现在工业界致力于敏捷软件开发。
内容简介
作译者
Veli-Pekka Eloranta 坦佩雷理工大学研究员,曾多次担任VikingPLoP的主席。 Johannes Koskinen 坦佩雷理工大学研究员,研究方向包括软件项目管理和软件架构等。 Marko Lepp?nen 坦佩雷理工大学博士后研究员,曾在芬兰的多所大学讲授模式课程。 Ville Reijonen 经验丰富的模式研究者,现在工业界致力于敏捷软件开发。
目录
译者序
推荐序
致谢
第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
译者序
现代机器结构越来越复杂,功能越来越强大,分布式控制已经成为机器控制系统必然的选择,也是近年来研究和设计人员面临的巨大挑战。如何设计好的机器控制系统软件呢?本书从一个新的角度探讨了机器控制系统设计方法的基本原理,主要讲述如何运用模式来设计面向机器的分布式控制系统。模式提供了解决特定问题的原理和思路,而不是具体的技术细节。模式对应于特定设计问题的解决方案,其源于已得到成功应用的系统,开发人员可以在设计中复制这些解决方案。
本书内容丰富,涉及许多行业和领域。书中首先介绍了分布式控制系统的特性、设计方法和面临的挑战,然后进入核心内容——作者从成功的机器系统开发中提炼出来的80种模式,包括分布模式、消息模式、事件处理模式、控制系统模态的模式、数据管理模式、处理稀缺资源的模式、软件和硬件的解耦模式、冗余模式、系统启动模式、软件更新模式、人机界面模式、高层服务模式、机群管理模式、系统配置模式等。这些模式描述了分布式控制系统设计的解决途径,对于新系统的开发和旧系统的维护具有重要的作用,形成了分布式控制系统设计的模式语言。本书最后还利用书中模式设计了一个工作机器控制系统,用实例演示了模式语言的有效性。
本书将计算机科学领域中的模式概念引入机器控制系统的研究中,内容新颖,为分布式控制系统的设计与开发提供了一种新的手段,应用前景广阔。本书面向机器控制系统设计人员、系统工程师和系统管理人员,包括高级规划人员和项目经理等。当然,本书也可以作为本领域的教学参考书。
限于时间以及译者水平,译文中难免存在不当之处,恳请读者批评指正。
译者
2017年10月于西安
序言
机器无处不在。本书感兴趣的机器包括固定的和可移动的机器,这些机器在工业环境中为我们工作。本书作者称它们为“工作机器”,从大型造纸机到小型移动装载机均属此列,其他例子还有叉形起重机、采矿钻孔机,以及诸如拖拉机和收割机之类的农林业机器、卡车、开凿机、升降机等。与仅依靠机械方法(如传送带和滑轮等)控制的旧式机器相比,现代机器更为复杂。这些复杂的现代机器得益于计算机控制,它们正变得体积更大、功能更多,这使得集中控制系统不再可行,也不再受欢迎。取而代之的控制系统通过把控制器放在受控系统部件附近,使得控制系统分散到机器的各个部分。
这些机器是昂贵的、长寿命的实时系统,必须连续不断地运行。为了获得投资回报,它们必须根据需要运行,同时为操作者和公众提供安全提示。本书从不同的角度研究了从全机械系统到分布式软件控制系统的演化。其中,极大化在新机器上的大投入带来的收益以及维护方面的好处,就是提高经济收益的一个例子。这就引起了关于机器作为服务和生产商如何在机器卖出后能够持续获利的讨论,关键领域的专家评论支撑了作者对这个主题的分析。根据软件工程原理以及行业的质量标准,那些需要获得满意结果的实践得到了检验。所有这些主题都贯穿在本书的模式中。
本书的主要贡献不是对分布式控制系统及其在当前和未来的作用的深刻讨论,而是80个模式。对于分布式控制系统设计中的内在问题,这些模式描述了已被证实的解决方案。无论你正在设计一个新的系统,或者维护一个旧的系统,或者仅仅是一名学习软件体系结构的学生,这些模式都是非常有用的。
模式描述了特定问题的解决方案,这些解决方案的正确性已得到验证且包括足够的细节,因此在设计中可以复制这些解决方案。书中描述了问题存在的背景(即来龙去脉),以及使问题难以解决并且必须彼此折中考虑的因素。通过明确给出每种解决方案的结果部分(这也许涉及应用其他附加模式),本书采用了这种略加调整的“模式形式”。模式的构造是为了便于阅读,黑体文字用来表示关键部分。仅通过阅读黑体文字略读本书,就会让你对整个分布式机器控制模式语言有个整体印象。
模式“开采”于现存的系统中——本书的模式是作者从许多不同的机器制造商生产的机器中开采出来的。在这种模式开采的过程中,作者发现了很多好的想法,但不是所有好的想法都是真正的模式。本书模式描述的解决方案至少出现在三种不同的机器中,因此是令人信服的好的解决方案。
在每种模式的结尾处,至少描述了该模式的一个已知应用。这些已知应用为工作机器提供了一种富有启发性的视角,以及实现这些模式的方式。模式不代表着盲目应用,而已知应用提供了模式应用的实例。当你使用这些模式设计自己的系统时,需要改写本书中提供的模式,以便适应系统的具体环境。
单一模式本身是有用的,但只有当模式组合在一起使用时,它们的真正功能才能呈现出来。与仅应用选定的单一模式相比,模式组合能使系统的开发更进一步。
本书中的模式总体上形成了一种模式语言,各章节即为各种子语言,比如配置、数据管理、事件管理、机群管理、消息发送、冗余、启动、更新等。书中用特别长的一章论述了人机界面模式,这是许多作者涉及的领域,主要集中在计算机系统或互联网。本书作者则关注当机器可能有危险或者不是所有的部分都可见时,操作者如何与机器进行交互这一独特的问题。
本书中的模式并不是你将要使用的唯一模式。当你启动一个新的项目时,使用模式的最好方法是创建自己的个人目录。本书中的模式为你的分布式控制系统项目目录提供了核心内容。另外,其他已经发表的模式以及只有你或你的公司知道的其他模式也都会用到。作者在本书中经常参考其他模式集,比如我的软件容错模式集,另外也参考了相关的工业标准。作者没有重新书写并发表这些内容,而是指出把它们作为你进一步研究的资源,并包含在你的模式目录中,这也表明这80个模式并不是你需要的唯一模式集。
你将会发现本书中的模式是非常深刻的,它们简洁易懂,其中很多模式描述了你所熟悉的概念。本书作者做了一项非常好的工作,解释了如何把这些模式应用于机器控制系统的设计。我非常荣幸能为本书写序,我深信当你研究、设计、构建和维护工作机器控制系统时,会发现本书具有良好的研究和应用前景。
罗伯特 S. 汉默(Robert S. Hanmer)
《Patterns for Fault Tolerant Software》和《Pattern Oriented Software Architecture For Dummies》的作者
美国,伊利诺伊州,格伦维尤
媒体评论
本书特色
·精选主流实用模式。80种模式都根植于工业实践,并经过多番专家研讨,涵盖消息模式、数据管理模式、人机界面模式等,为应对各类问题提供了成熟的解决方案。
·从模式到模式语言。将模式组织为模式语言是应对复杂问题所必需的,书中讲解了构建语言的“语法”,但并不限于80种模式,而是鼓励读者根据设计需求不断拓展。
·易阅读的讲解方式。每种模式都采用统一的呈现格式,从问题到方案再到应用均清晰明了,并提供易于查询的“模式手册”和细节知识更为丰富的配套网站(www.wiley.com/go/controlsystemspatterns)。