本文主要是介绍《系统架构:复杂系统的产品设计与开发》——第2章,第2.2节系统与涌现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本节书摘来自华章出版社《系统架构:复杂系统的产品设计与开发》一书中的第2章,第2.2节系统与涌现,作者[美]布鲁斯·卡梅隆,更多章节内容可以访问云栖社区“华章计算机”公众号查看
2.2系统与涌现
2.2.1系统
由于系统思维是一种把疑问、状况或难题明确视为系统的思维方式,因此,要讲解系统思维,首先就必须讨论系统。英语中很少有哪个词的使用范围像系统这样广泛,而且其定义也有很多种,本书采用文字框2.1中的定义。
系统是由一组实体和这些实体之间的关系所构成的集合,其功能要大于这些实体各自的功能之和。
这个定义体现了两个重点:
1.系统是由相互作用或相互联系的实体组成的。
2.实体之间发生相互作用时,会出现一种功能,这种功能大于或不同于这些实体各自所具备的那些功能。
无论如何定义系统这个词,其核心都是上面所列出的第一点,也就是必须要有实体及实体之间的关系。实体(也称为部件、模块、例程、配件等)就是用来构成全体的各个小块。关系可以是静态的(例如连接关系),也可以是动态并交互的(例如货物交换关系)。
根据定义中的这一部分,我们可以确定有哪些事物不能称为系统。如果某物是一个连贯的整体,那它就不是系统。比如,一块砖(在宏观层面上)不能构成一个系统,因为它里面并不包含实体。然而,一面砖墙却可以构成一个系统,因为它包含实体(许多的砖块与砂浆)及关系(负载交换与几何关系)。毫无关系的一组实体也不能构成系统(例如位于乌克兰的一个人和位于亚洲的一袋米)。
要想给出一个能够把非系统的事物排除在外的定义,是相当困难的。有人可以说,一块砖头在适当的层面上就是一个系统。因为它是黏土做成的,而黏土本身是多种材料的混合物,这些材料之间具备相互关系,例如可以共同分担负荷,可以构成平行六面体等几何形状。住在乌克兰的人可能会用欧元购买亚洲的米,于是这两个实体就可以构成一个交易系统。
宽泛地说,任何一组实体其实都可以解读为一个系统,这也就是系统一词使用面较广的原因。有一个与系统密切相关的概念,叫做complex。作为形容词来讲,它的本义和首要义项是“复合的”,用来形容实体与关系较多的事物。而在某些语言中,complex还可以作为名词,用来表示“系统”这一含义。这种用法在科技英语中也有所体现,例如“肯尼迪航天中心39A发射复合体”(Launch Complex 39A)中的“复合体”,指的就是“系统”。
系统和产品,是两个容易混淆的概念。产品是能够交换或具备交换潜力的事物。有一些事物是产品但不是系统(例如米),还有一些事物是系统但不是产品(例如太阳系),但由于很多事物既是产品(可供交换)又是系统(含有很多相互联系的实体),因此这两个词经常混用。
与系统有密切关系的另一个概念是架构,也就是本书的主题。用最简单的话来说,我们可以把架构定义为“对系统中的实体及实体之间的关系所进行的抽象描述”[1]。由于架构是对系统所做的描述,因此对于一个存在且能够运作的系统来说,这两个概念显然是紧密相关的。
2.2.2涌现
在系统这个词的定义中,第二项特征是系统思维所要强调的重点。系统是一组实体及其关系的集合,其功能大于这些实体各自的功能之和。
系统思维所要强调的这一部分,就是涌现(emergence)的意义所在,也是系统的力量与魅力所在。涌现是指系统在运作时所表现、呈现或浮现出的东西。我们之所以要构建系统,就是为了取得令人满意的涌现物。对涌现的理解,是系统思维的目标,同时也可以体现出系统思维的艺术。
当系统的各个部件聚集起来时,会涌现出什么东西呢?最明显和最关键的涌现物,就是功能。功能(function)是系统所做的事情,也就是它的动作、产出或输出。我们设计某个系统,是想使该系统涌现出可以预期且令人满意的主要功能(例如汽车可以载人)。这项主要功能,通常与系统所产生的好处有关(我们之所以买车,是因为它有个好处,这个好处就是可以载人)。系统也可能会涌现出我们可以预料到但不合人意的产出(例如汽车燃烧碳氢化合物)。有时,当系统成形时,还会涌现出意料之外的功能。比如,汽车可以给人一种自由感,这项意料之外的产出,是令人满意的。而有些意料之外的功能却是我们所不愿意见到的,例如汽车可以致人死亡。从表2.1中可以看出:系统所涌现出来的功能,有些是可以预料到的,有些则是在事前无法预料到的;有些功能令人满意,另一些则不合人意。此外我们还可以明确地看出:除了主要功能之外,系统还可能涌现出其他一些令人满意的功能,例如人在汽车里可以感到温暖或凉爽,汽车能够令人感到愉悦等。
表2.1 对涌现出的功能进行分类
预期的涌现意外的涌现,令人满意的汽车可以载人,汽车内可以使人感到温暖/凉爽,汽车令人感到愉悦,汽车可以创造一种个人自由的感觉
不合人意的,汽车燃烧碳氢化合物,汽车可以致人死亡。
系统的基本性质在于它会涌现出新的功能。比如图2.1中的这两个元素:沙和漏斗形玻璃管。沙是一种天然材料,并没有预期的功能。漏斗可以汇聚其他物品或使之沿渠道流出。当这两件元素组合起来时,一项新功能就诞生了,这就是计时功能。我们怎么会知道沙和漏斗拼接起来能变成一种计时器呢?沙和漏斗这两个机械元素怎么会产生一种可以记录抽象概念(也就是“时间”)的信息系统呢?
除了功能之外,系统还会涌现出性能(performance)。性能就是系统运作或执行其功能的好坏程度。它是系统功能的一项属性。某辆汽车的运输速度有多快?某个沙漏能否准确地计时?这些都是性能问题。图2.2中的足球队是个人类系统。所有足球队的功能都一样,就是队员协作比赛,取得比对手更多的进球。然而,有些足球队的成绩要比其他足球队更好,因为他们可以赢得更多的比赛。图2.2是参加2014年世界杯的德国足球队,他们赢得了冠军,可以说是这届比赛中成绩最好的球队。
图2.1 由沙和漏斗构成的系统所涌现出的功能:计时
图片来源:LOOK Die Bildagentur der Fotografen GmbH/Alamy
系统架构的第一条原则所谈的就是涌现(参见文字框2.2)。原则是一种长期有效的道理,它们总是能够(或者几乎总是能够)适用于各种问题。本书在介绍系统架构的原则时,一般都会先给出一些名人名言,用来展示伟大的思考者如何将这些原则精彩地表述出来。每条原则都会包含叙述和指引这两部分(指引部分可以用来指导我们的行动),有的原则还会给出深入的讨论。
文字框2.2 涌现原则(Principle of Emergence)
“系统并不是其组成物的简单加总,而是这些组成物之间互动的产物。”
—Russell Ackoff
“整体大于其各部分之和。”
—亚里士多德(Aristotle),《形而上学》
当各实体拼合成一个系统时,实体之间的交互会把功能、行为、性能和其他内在属性涌现出来。我们要思考并试着探寻系统所涌现出的预期属性和意外属性。
实体之间的交互会导致涌现物。涌现物指的是系统在运作时所表现、呈现或浮现出来的东西。系统的附加价值是由涌现物所赋予的。
涌现的结果,使得变化以无法预知的方式进行传播。
一个实体所发生的变化将会如何影响涌现出来的属性,是很难预测的。
能够涌现出预期属性的系统,是成功的系统。不能涌现出预期属性或意外涌现出不良属性的系统,是失败的系统。
除了性能之外,系统还会涌现出其他属性,例如可靠性(reliability)、可维护性(maintainability)、可操作性(operability)、安全性(safety)和健壮性(robustness,鲁棒性)。这些以“某某性”为格式的属性,其对应的英文单词大多以“ility”结尾。与功能和性能方面的涌现物不同,这些属性并不是立刻就能创造出价值的,而是要通过系统在整个生命期中的运作情况来体现。某辆汽车是否能安全地载人?某个沙漏是否能可靠地计时?德国足球队是否能稳定地赢得比赛?某个软件是否能健壮地或可靠地运行?某辆车在路边抛锚,究竟是机械性的故障,还是嵌入式软件性的故障?
在表2.1的四类涌现物中,最后一类涌现物特别重要,值得单独讨论,这就是意外且不良的涌现物。我们把这种涌现物称为紧急状况(emergency,这个词的词根和涌现物的英文单词emergence相同)。汽车可能因失控而导致旋转或翻滚。足球队可能会在重要的比赛日产生冲突或表现不佳。图2.3是袭击新奥尔良的卡特里娜飓风(Hurricane Katrina),这是一种引发紧急状况的自然现象。这个系统的破坏力非常大。
这些和功能及性能相关的涌现属性(也就是刚才提到的“某某性”),以及系统不引发紧急状况这一特点,与系统所创造的价值有着密切的联系。价值就是有着一定成本的利益。构建系统是为了获得利益(这个利益,在观察者的眼中,是以财富、名望或功用等主观标准来评判的)。
总之:
系统是由多个实体及实体间的关系所构成的集合,其功能大于这些实体各自的功能之和。
每件事物几乎都能视为系统,因为其中差不多都含有一些相互关联的实体。
当系统的功能大于其中每个实体各自的功能之和时,就会有涌现物出现。
对涌现物的理解,是系统思维的目标,同时也体现出系统思维的艺术。
系统运作时会涌现出一些功能、性能,以及一些以“某某性”为名的属性。与系统不引发紧急状况这一特点一样,这些功能、性能和属性,也都与系统的利益和价值密切相关。
这篇关于《系统架构:复杂系统的产品设计与开发》——第2章,第2.2节系统与涌现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!