
本书内容分三大部分共24章:第一部分"事故自动响应”,通过逐步建立"汽车碰撞响应系统”模型,引出建模原则和建模方法,进而对对象过程方法论(以下简称OPM)和系统建模语言(以下简称SysML)做了简单介绍。第二部分"OPM与SysML基础”,对OPM和SysML从本体、概念建模及应用等方面进行理论上的探索分析。第三部分"结构和行为”,对系统模型的结构与行为进行深入研究,是概念建模的核心。 本书的一大特色是提供大量的案例和免费的软件工具,可以让读者亲自动手进行实战练习。同时,每章后的习题也为读者动手实践提供了很好的题材。
体系工程与装备论证系列丛书 总 序 1990年,我国著名科学家和系统工程创始人钱学森先生发表了《一个科学新领域——开放的复杂巨系统及其方法论》一文。他认为,复杂系统组分数量众多,使得系统的整体行为相对于简单系统来说可能涌现出显著不同的性质。如果系统的组分种类繁多,并具有层次结构,它们之间的关联方式又很复杂,就构成了复杂巨系统;如果复杂巨系统再与环境进行物质、能量、信息的交换,接受环境的输入、干扰并向环境提供输出,而且还具有主动适应和演化的能力,就要把它作为开放复杂巨系统对待了。在研究解决开放复杂巨系统问题时,钱学森先生提出了从定性到定量的综合集成方法,这是系统工程思想的重大发展,也可以看作对体系问题的先期探讨。 从系统研究到体系研究涉及很多问题,其中有三个问题应该首先予以回答:一是体系和系统的区别,二是平台化发展和体系化发展的区别,三是系统工程与体系工程的区别。下面,我引用国内两位学者的研究成果讨论前两个问题的看法,然后再谈谈我自己对第三个问题的看法。 (1)关于系统和体系的区别。有学者认为,体系是由系统组成的,系统是由组元组成的。不是任何系统都是体系,但是只要由两个组元构成且相互之间具有联系就是系统。系统的内涵包括组元、结构、运行、功能、环境,体系的内涵包括目标、能力、标准、服务、数据、信息等。系统最核心的要素是结构,体系最核心的要素是能力。系统的分析从功能开始,体系的分析从目标开始。系统分析的表现形式是多要素分析,体系分析的表现形式是不同角度的视图。对系统发展影响最大的是环境,对体系形成影响最大的是目标要求。系统强调组元的紧密联系,体系强调要素的松散联系。 (2)关于平台化发展和体系化发展的区别。有学者认为,由于先进信息化技术的应用,现代作战模式和战场环境已经发生了根本性的转变。受此影响,以美国为首的西方国家在新一代装备发展思路上也发生了根本性转变,逐渐实现了装备发展由平台化向体系化的过渡。武器装备体系化的重要性为众人所知始于35年前的一场战役。1982年6月的黎巴嫩战争中,以色列和叙利亚在贝卡谷地展开了激烈空战,这次战役的悬殊战果对现代空战战法研究和空战武器装备发展有着多方面的借鉴意义,因为通过任何基于武器平台分析的指标进行衡量,都无法解释如此悬殊的战果。以色列空军各参战装备之间分工明确,形成了协调有效的进攻体系,是取胜的关键。自此以后,空战武器装备对抗由“平台对平台”向“体系对体系”进行转变,为世界所周知。同时一种全新的武器装备发展思路—“武器装备体系化发展思路”逐渐浮出水面。这里需要强调的是,武器装备体系概念并非始于贝卡谷地空战,当各种武器共同出现在同一场战争中,执行不同的作战任务,原始的武器装备体系就已形成,但是这种武器装备体系的形成是被动的;而武器装备体系化发展思路应该是一种以武器装备体系为研究对象和发展目标的武器装备发展建设思路,是一种现代装备体系建设的主动化发展思路。因此,武器装备体系化发展思路是相对于一直以来武器装备发展主要以装备平台更新为主的发展模式而言的。以空战装备为例,人们一般常说的三代战斗机、四代战斗机都是基于平台化思路的发展和研究模式,是就单一装备的技术水平和作战性能进行评价的。可以说,传统的武器装备平台化发展思路是针对某类型武器平台,通过开发、应用各项新技术,研究制造新型同类产品以期各项性能指标超越过去同类产品的发展模式。而武器装备体系化发展的思路则是通过对未来战场环境和作战任务的分析,并对现有武器装备和相关领域新技术进行梳理,开创性地设计构建在未来一定时间内最易形成战场优势的作战装备体系,并通过对比现有武器装备的优势和缺陷确定要研发的武器装备和技术。也就是说,其研究的目标不再是基于单一装备更新,而是基于作战任务判断和战法研究的装备体系构建与更新,是将武器装备发展与战法研究充分融合的全新的装备发展思路,这也是美军近三十多年装备发展的主要思路。 (3)关于系统工程和体系工程的区别。我认为,系统工程和体系工程之间存在着一种类似“一分为二、合二为一”的关系,具体体现为分析与综合的关系。数学分析中的微分法(分析)和积分法(综合),二者对立统一的关系是牛顿-莱布尼兹公式。它们构成数学分析中的主脉,解决了变量中的许多问题。系统工程中的“需求工程”(相当于数学分析中的微分法)和“体系工程”(相当于数学分析中的积分法),二者对立统一的关系就是钱学森的“从定性到定量综合集成研讨方法”(相当于数学分析中的牛顿-莱布尼兹公式)。它们构成系统工程中的主脉,解决和正在解决着大量巨型复杂开放系统的问题。我们称之为系统工程Calculus(微积分)。 总之,武器装备体系是一类具有典型体系特征的复杂系统,体系研究已经超出传统系统工程理论和方法的范畴,需要研究和发展体系工程,用以指导体系条件下的武器装备论证。 在系统工程理论方法中,系统被看作具有集中控制、全局可见、有层级结构的整体,而体系是一种松耦合的复杂大系统,已经脱离了原来以紧密的层级结构为特征的单一系统框架,表现为一种显著的网状结构。近年来含有大量自主系统的无人作战体系的出现,使得体系架构的分布、开放特征更加明显,正在形成以即联配系、敏捷指控、协同编成为特点的体系架构。以复杂适应网络为理论特征的体系,可以比单纯递阶控制的层级化复杂大系统具有更丰富的功能配系、更复杂的相互关系、更广阔的地理分布和更开放的边界。以往的系统工程方法强调必须明确系统目标和系统边界,但体系论证不再限于刚性的系统目标和边界,而是强调装备体系的能力演化,以及对未来作战样式的适应性。因此,体系条件下装备论证关注的焦点,在于作战体系架构对体系作战对抗过程和效能的影响,在于武器装备系统对整个作战体系的影响和贡献率。 回顾40年前,钱学森先生在国内大力倡导和积极践行复杂系统研究,并在国防科学技术大学亲自指导和创建了系统工程与数学系,开办了飞行器系统工程和信息系统工程两个本科专业。面对当前我军武器装备体系发展和建设中的重大军事需求,由国防科学技术大学王维平教授担任主编,集结国内在武器装备体系分析、设计、试验和评估等方面具有理论创新和实践经验的部分专家学者,编写出版了“体系工程与装备论证系列丛书”。该丛书以复杂系统理论和体系思想为指导,紧密结合武器装备论证和体系工程的实践活动,积极探索研究适合国情、军情的武器装备论证和体系工程方法,为武器装备体系论证、设计和评估提供理论方法和技术支撑,具有重要的理论价值和实践意义。我相信,该丛书的出版将为推动我军体系工程研究、提高我军体系条件下的武器装备论证水平做出重要贡献。 2017年5月 湖南长沙 译 者 序 大约十年前,MBSE方法刚刚兴起时,王维平教授就注意到了一种方法OPM——对象过程法,并将其介绍到我们团队。当时,我就感觉这是一个好方法,但是苦于当时没有找到建模工具,也就没有深入研究和实际应用。 2011年,我去美国密苏里科技大学Cihan Dagli教授那里访学,发现他们的团队正在运用OPM方法进行智能系统架构设计研究,其研究成果获得了国际系统工程委员会(INCOSE)的高度好评。这时,我才开始对其投入精力,开展深入研究。目前,我们团队已经在这个领域,发表了一篇博士论文和三篇硕士论文,相关工作已经在军队组织架构设计、联合作战模拟系统概念建模等领域进行了具体实践,得到了军方高层的认可。 2016年1月,当我作为IEEE MBSE委员会委员接受MBSE委员会主席Dov Dori(多里?多夫)教授邀请,参加美国举行的ASSESS(Analysis, Simulation and System Engineering Software Strategy Congress)创始大会时,第一次与Dov Dori教授见面。我对Dori笑称我是OPM理论在中国的“布道者”,我还告诉他OPM理论中的对象、过程二分理念,与东方文化里的阴阳二分既对立统一的概念,有很强的相似性,更容易为东方人所接收。我向他建议说,目前美国国防部体系结构框架DODAF中提到的系统建模方法,主要介绍了结构化方法和面向对象法,OPM应该成为第三代方法,我们已经在这一方面开展了一些初步研究。Dori教授非常赞同我的观点,在大会上恰好有美国国防部的官员参加,该官员在做大会报告时,Dori教授也站起来发言,表达了这样的思路。同时,他提到正准备出版一本书Model Based Systems Engineering, with OPM and SysML,问我有没有兴趣翻译,我表示对这本感兴趣,这就是这本译著的缘起。 本书翻译分工如下:杨峰负责统一基本术语的翻译方式,王文广负责组织第一部分翻译(其中,周文璐翻译第1、2、3章,李紫漠翻译第4、5、6章,王文广翻译第7、8章),王涛负责组织第二部分翻译(其中,王涛翻译第9、10、11、16章,方斌强翻译第12、14章,汤旭栋参与第13章翻译,何华翻译第15章),李志飞负责组织第三部分翻译(其中,李志飞翻译第17、18章,黄其旺翻译第19、20章,石泽森翻译第21、22章,郑展翻译第23、24章),最后由杨峰教授统稿。此外,董倩和纪梦琪为第二部分和第三部分中的图例部分外文进行了翻译,在此一并表示感谢。 译 者 2017年8月1日 原 著 序 言 在复杂世界中对简单性的追求已经萦绕着各类思想家近千年了。如何将人类对外在世界的观察结果和为了改进人类生活而希望进行的设计结果进行概念化表达,成为推进人类文明进步的一个重要驱动力。20世纪中叶计算机的出现,进一步推动了人类设法对现实事物进行概念化描述。一开始大家普遍接受的思路是面向过程的编程,这时人们将程序、例程和函数置于编程的核心。后来,人们提出将对象——本质上更加静态——作为软件程序系统的核心,编程语言向面向对象范式的转移,这些发生在20世纪80年代和90年代。在此之后,人们又认识到在进行编程之前应该先进行程序的分析和设计,或者更一般地说,对软件程序要表达或服务的系统进行分析和设计。自然地,这种方法也被称为面向对象法。 在20世纪90年代的早期,30多种面向对象的分析和设计方法及相应的设计符号涌现出来,导致了著名的“方法之战”。在那个时期,当我在1991年从堪萨斯大学转到以色列理工学院后,我接到讲授软件设计的教学任务,开始对这些研究课题产生兴趣。不久之后,我就认识到仅有面向过程软件设计方法是不够的,而仅有面向对象方法也是不够的(面向对象方法将对象视为“一级公民”,将方法或服务视为“二级公民”)。但是,我对到底缺少什么东西也无头绪。 我对此疑问豁然开朗的时间是1993年。那时,我和来自华盛顿大学的同事,正尝试着对从工程图样到CAD模型的自动转换系统进行建模,这是我当时的主要研究关注点。在白板上将对象作为模型构件并连接起来,我突然发现,并非模型中所有的方框都是对象,有些是发生在对象上的事物。当我把这些事物圈起来后,一种两部图的模式出现了。其中,表示对象——存在的事物——的结点,受到圈起来的这些结点的调节,我马上将这些圈起来的结点称为过程。这就是世界上第一张对象过程图。我意识到由前面面向过程的软件范式到面向对象范式的转换有些过度了。尽管关注焦点从过程到对象的转移是正确的方向,但是这种的转移走得太远,面向对象压制了系统过程这个方面的表达,而过程的表达对于准确描述系统随时间变化是至为关键的。 在面向对象方法中,不允许把烘烤蛋糕或兑现支票这样的过程视为独立的概念实体,而只能将其视为对象类的方法。这将导致扭曲的模型,蛋糕拥有烘烤过程,支票拥有兑现过程。在实际生活中,烘烤就是一种对构成面团的原料的变换模式,这种变换需要烘烤师、烤箱和电能以便准备面团,并将其转化为面包。同样地,支票不能自己兑换,需要开支票的人有足够余额的资金、支票出纳员、银行职员或ATM(取款机)。参与到这些方法中的每个对象都可以当作方法的拥有者。将烘烤和兑现视为独立的过程——表示物理或信息对象变换模式的概念实体——为系统建模打开了一扇新的大门,人们可以更加准确、自然地对现实世界进行构想和表达,并可以更加容易、方便地传达给其他人。 实际上,将过程视为与对象同等重要,而不是居于对象之下的独立概念建模元素,是对象过程法(Object-Process Methodology,OPM)的基础。对象过程法建立在通用最小本体论之上,在这种最小本体论中,对象是存在物,过程是改变对象的变换物。改变包括创建和消耗对象,也包括改变对象的状态。因此,OPM中对象是带状态的。带状态的对象与改变对象状态的过程是OPM通用最小本体论中仅有的两个概念。OPM的其余两个基石是图文双通道表达及复杂性管理机制。 当我尝试在1993年发表名为“对象过程分析:维持系统结构与行为的平衡”的论文时,立即遭到退稿的命运,编辑声称人们已经证明我所提出的方法是不可的,就像不能把水和油混在一起一样。最后,Journal of Logic and Computation杂志接受了这篇论文。或许该杂志相比软件而言更偏数学,从而对偏离当时新出现的、光荣的面向对象方法的不同观点更加宽容一些。 1997年时,面向对象方法之战的最终结果是,由对象管理组织OMG提出的统一建模语言UML被采纳为软件设计事实上的标准。UML 1.0有九类图。2000年,我参加了一场由OMG组织的技术研讨会,这时人们正在考虑将UML从1.0版升级到2.0版,我提出将UML扩展到软件系统之外,即对一般的系统进行建模的想法,但是大多数参会者不同意,他们都是软件界的代表。然而,根据国际系统工程委员会2001年提出的倡议,2006年OMG采纳了基于UML 2.0的SysML 1.0规范。自此,SysML成为系统工程界事实上的建模标准。 于此同时,关于OPM的第一本书面世发表,OPM已经在许多领域得到成功应用,相关成果也以论文形式发表,应用范围从语义网络到国防领域,再到分子生物学。2014年8月,经过5年的工作,国际标准化组织将对象过程法采纳为ISO/PDPAS 19450标准,标准的名称为《自动化系统与集成——对象过程法》。 近年来,将模型视为系统生命周期中核心制品的这种认识逐步发展起来,基于模型的系统工程(Model-based Systems Engineering,MBSE)成为系统工程界不断发展壮大的研究领域。SysML与OPM是MBSE两大核心语言,由于SysML比OPM早8年成为国际标准,并且得到顶层软件供应商的支持,因而当前其应用更为广泛。然而,OPM在学术界和工业界正迅速得到承认。 本书既可以用于自学,也可以作为本科生或研究生课程教材,教会读者如何运用OPM与SysML进行系统建模,从而熟练掌握MBSE的思想、原理和应用。本书由三部分(共24章)组成,每章末尾附有小结和练习题。 第一部分通过事故自动响应的例子一步一步地讲解OPM与SysML。第1章从对事故自动响应系统的介绍开始,初步建立一个OPM模型。第2章介绍了OPM图文结合原理及OPM模型动态仿真方法。第3章介绍模型中的连接,第4章介绍SysML语言,使用其中前面三类图。第5章描述系统复杂度管理方法,第6章和第7章介绍了系统动态特性,第8章介绍抽象和细分机制。 第二部分基于模型的系统工程基础,讨论了MBSE本体论、概念建模元素及其应用,建立了OPM与SysML的形式化理论基础,第9章介绍了概念建模,第10章深入讨论了OPM两大基本建模要素——对象与过程,第11章关于OPM的文本模态——对象过程语言,第12章转到SysML的四大支柱与九种视图,第13章的重点是系统动态特性,第14章研究结构特性,第15章讨论参与约束与分支连接,第16章介绍四类基本结构关系。 第三部分结构与行为:深入探讨。这一部分进入概念建模的核心,深入细致地研究了四类基本结构关系及其整体系统特性,包括复杂性管理与控制。第17章与18章分别讨论组成关系和表征关系,第19章关于状态与取值,第20章研究继承关系与实例关系,第21章考虑OPM中的复杂性管理和细化——抽象机制,并与SysML的复杂性管理机制进行对比,第22章关于OPM的运行语义与控制链接——系统执行时对控制的管理方式,第23章提出逻辑算子与概率建模。最后,第24章综述了ISO 19450标准——自动化系统与集成——对象过程法,该标准于2014年被国际标准化组织ISO采纳为国际标准。 从OPM的角度看,本书可以视为ISO 19450标准的超集。一方面,本书描述的OPM兼容ISO 19450标准,另一方面,本书深入地研究了ISO 19450标准设计决策背后的动机、缘由和哲学基础。这些不可能在标准中涵盖,因为标准要求简短、直接,很少解释。本书中谈到的ISO 19450标准没有覆盖的OPM相应知识点,可视为标准的可选部分。 本书是六年多工作成果的结晶。我已经尽了最大努力,让书中的内容准确、一致和严谨,同时又尽量做到通俗易懂,以期抓住读者的心。我衷心地希望本书能够成为基于模型的系统工程领域尤其是OPM和SysML方面可靠的参考书。 请看上面由本书14万字归纳生成的词云图,里面出现频率最高的是过程、对象与链接。这准确地反映了对象过程法如何用链接将对象与过程联系起来,对系统建模的总体骨架。图中还出现了关系、图、属性、结构、程序、语义、状态、控制、变更、效果、主体、时间、约束与功能。当然,SysML出现在过程与模型之间,靠近对象过程图与对象过程语言。这个清单可以给出本书所写内容的总体印象。 我想向我挚爱的妻子Judy Dori表示感谢,她提供了教学法方面的指导,催促本书要按时完成。我也想感谢我的博士生Yaniv Mordecai,他对书中许多章节提出有洞察力的见解和建议。最后,我要感谢以色列理工学院为我开发OPM提供了良好的环境,让我在2013—2014年的学术休假时完成本书。 多夫?多里 麻省理工学院,2015年7月 原 著 前 言 大型复杂社会技术系统的架构设计与工程研发,以及对自然系统或人工系统的深入求索,一直吸引着人类的关注。在过去20年里,人们对系统的理解及对系统在改进人类生活质量中发挥作用的认识不断深化。人们意识到,成功的系统不可能以偶然、随意的方式发生。研发复杂系统时,应该像建造大型建筑物那样先进行架构设计,考虑其需要、期望、用户需求,以及涵盖这些设计功能的备选架构。这些早期决策对于系统成败至关重要,因为它们决定了将要沿用的概念方案、系统研发方向及系统最终成果的特征:系统为用户创造价值的能力,也就是在满足安全性、鲁棒性、易用性和环保性等需求约束下的更高的效费比。 当我15年前开始深入思考上述问题时,我已经意识到:不论自己的想法多么有说服力,不管证据多么充分,也只能局限于理论阐述或争论,而别无其他选择。现在,我越来越认为复杂系统的架构设计和工程研发要想取得真正的进展,就必须有系统语言与方法论作为基础。幸运的是,大约在2000年左右,我当时是麻省理工学院航空宇航系主任,多夫带着他的第一本书稿《对象过程法——一种整体系统范式》(斯普林格出版社,2002年)走进了我的办公室。当我在飞机上读完该书稿后,我意识到此书就是我一直想要寻找的。 对象过程法(Object-Process Methodology,OPM)是一种系统建模范式,它描述了系统内两类要素:对象和过程。其概念非常简洁,只用了两个最基础的概念:带状态的对象(存在的事物)和改变对象状态的过程(包括创建和销毁对象两种极端情况)。以对偶的方式对事物进行表达,在系统研究领域很常见,比如形态/功能、结构/功能、功能需求/设计参数等。多夫在对于系统的对偶性描述中阐明对象用来描述系统或产品是什么,过程用来描述系统干什么。但是,令人意想不到的是,在此之前还没有哪种建模框架从对象和过程两个方面去描述系统,这导致设计者或工程师往往从系统目标(项目需求)就直接跳到了对象实现上。此外,在许多学科领域,比如软件设计、机械设计和建筑设计等,过程和对象都是同等重要的。对象过程法不仅同时描述了对象和过程两种要素,还描述了对象和过程之间的联系。 OPM还有其他优点——同时运用图形和文字两种方式进行模型描述,图形和文字这两种方式完全可以互换,传递同样信息。这主要是基于对人类认识复杂性极限的考虑,当系统变得越来越复杂之后,影响系统成功的主要障碍在于负责设计、分析和论证的人员理解相互关系复杂性的能力。通过图形和文字两种形式对系统进行描述,可以充分利用左脑和右脑两者的优势——既可以发挥右脑的视觉优势,又可以发挥左脑的语言优势。由于模型以图形和文字两种方式进行描述,对于非技术类的利益相关者而言,也能在系统架构设计和研发早期阶段参与最重要的决策。 OPM可以清晰地表达系统许多方面的重要特征:拓扑关系、层次分解、元素接口和功能涌现。建模人员既可以创建抽象视图,也可以通过放大功能查看具体细节。此外,系统的模型描述可以很自然地转变为系统实现。这些都为应对系统的复杂性带来极大的便利。 OPM的语义从一开始就是针对系统工程领域的,因此,对信息、硬件、人类和法规等都能够建模。近年来,OPM开始运用到分子生物学研究领域,支持有关mRNA生命周期的科学发现,这也是对象过程本体普适性的一个很好的例证。对象过程法可以对几乎所有科学、工程领域进行建模。可能唯一的例外是量子力学领域,在对亚原子粒度的对象进行建模时,粒子(对象?)和波动(过程?),以及对物质(对象?)与能量(过程?)的概念变得非常模糊,这也给建模带来了困难。一旦进入分子层次,一直到最复杂的自然系统、社会技术系统或人类社会,对象过程范式都能很好地适用。对象过程模型基于统一图形描述,可同时考虑功能(效用)、结构(形态)和行为(动态特性),也可以通过对过程进行钻取的方式达到任意层次的细节层次,并同步展开其各级对象。这种自相似的对象过程图,不仅可以用图形表达,也可以用文本加以描述,可以很好地适应人类左右脑双通道信息处理特征,并符合认知行为学假设——通过双通道处理,人类可以更好地将信息转变为可以行动的知识。认识到OPM在系统架构设计和系统工程领域的价值以后,我开始在研究和教学中运用该方法,该方法现在已成为我在MIT和其他地方讲授系统架构方法的重要基础。在MIT的“系统设计与管理”研究生项目中,OPM也已成为关键课程内容。我在SDM的系统架构课程中也运用了该方法,已证明该方法是学员进行汽车、航天飞机和软件系统等复杂社会技术系统建模的有力工具。该方法可以显式地表达形态/功能,并提供了对多种架构方案进行探索的环境。OPM方法的引入增加了分析的严谨性,使技术系统架构研究更接近工程学科。OPM也是我与他人合著的新书《系统架构——战略与复杂系统产品开发》(培生出版公司,2015年)中所采用的表示框架。在这本书里提出了架构设计的方法,并通过像泵、电路、排序算法这样的简单例子,以及像网络、混合动力汽车这样的复杂系统案例,对架构设计方法进行了演示验证。诚然,随着所涉及的组件、相关学科及参与机构数量的增加,架构和研发一个新系统的任务变得越来越复杂。虽然许多组织积累了一些有益的经验,但大多缺乏一种共同的产品开发术语或建模框架。这种框架应该基于系统科学,能够表达系统中所有类型的重要交互关系,并对电子、信息、机械、光学、热学及人类组分普遍适应。 OPM提供了这样一种建模框架,以致2008年国际系统工程委员会将OPM确定为MBSE六大方法论之一。回顾工程学科的发展进程,现在是该出现这样一个严谨的形式化框架了。学科的发展总是逐步走向成熟的。在一门学科发展的早期阶段,对事物进行正确、合理地分类,是学科快速发展的基础,而对分类观测事实的抽象和量化,则是学科发展产生突破的关键点。系统工程与产品研发当前正处于这样一个即将取得突破的关键阶段。成熟学科,比如机械学,早已进入符号操作和预测的阶段。正在成熟的学科,比如人类基因学,正处于符号表达的阶段。 OPM是对系统进行符号表达的、诸多方法中的一种。过去20年来,人们对系统化建模能力需求的理解已变得越来越深刻了。当OPM被提出来响应这种需求时,其他方法也在发展。其中,最著名的方法是软件工程领域的UML方法(含13类视图),以及针对更一般的系统工程领域而衍生出的SysML方法(含9类视图)。SysML和OPM两种方法,同时被系统工程知识体系指南(由系统工程研究中心、国际系统工程委员会和IEEE计算机学会联合支持的项目)列为引领标准。 SysML与OPM体现了两种不同的系统建模途径。在SysML中用到9类视图,这些视图分别提出相互之间可能还不一致。在OPM里只用到一类视图。多类视图的整合可能会更加繁杂。我在这里对复杂和繁杂进行了区分,复杂性是由于系统包含大量相互作用的组成部分这一客观事实而带来的困难和挑战;繁杂则是由于选用某种特定建模语言而导致的系统模型的表示方式,让用户主观感受到的繁难和杂乱。虽然在减少系统的内部复杂性方面,我们很难有所作为,但是在不牺牲精确性和详细性的前提下,还是应尽量降低繁杂性。采用最小本体(带状态对象和过程)的OPM方法,无疑可以更好地满足这一要求。 尽管本书重点讲OPM方法,但考虑到SysML在多种领域的广泛影响,多夫在书中也对SysML的语法和语义、SysML与OPM的综合运用,以及二者的一些对比(标准规范的页数和视图的转换)等也进行了详细阐述。本书同时包含这两种建模语言,而其他的MBSE的书大多数都只讲SysML,这使本书变得非常独特。将OPM与SysML放在一起讲授是很有好处的,这可以让读者脱离特定建模语言的局限,对MBSE有更加深刻的认识。 我推荐本书作为基于模型的系统工程、产品开发、工程设计和软件工程等领域的中级或高级课程教科书。对于试图将多个学科整合起来、形成跨学科产品的课程而言,本书是理想的选择。随着OPM正式成为ISO标准,它将成为复杂组织体系建模框架的基石,用于技术产品或大型社会技术系统开发。这种建模框架在概念设计和初步设计阶段尤其有用,产品大部分的价值、成本和风险在这一阶段就定下来了,而很少有其他建模框架能适于这一阶段的辅助决策工作。 Edward Crawley教授 麻省理工学院, 2015年7月
目 录 第一部分 基于模型的系统工程入门 第1章 开始建模 1 1.1 事故自动响应系统 2 1.2 OPM功能作为种子原理 2 1.3 识别系统功能 3 1.4 识别系统受益者 3 1.5 过程变换对象 4 小结 4 习题 5 第2章 文本描述和仿真推演 6 2.1 OPL——英语的一个子集 6 2.2 状态和推演 7 2.2.1 过程对对象的影响 7 2.2.2 从隐式影响到显式状态变化 8 2.2.3 状态命名 8 2.3 OPM模型的仿真推演 9 小结 9 习题 10 第3章 用链接联系事物 11 3.1 过程链接与结构链接 11 3.2 添加支持对象 11 3.2.1 添加主体和主体链接 12 3.2.2 添加手段和手段链接 12 3.3 添加结构链接 13 3.4 物理事物与信息事物 14 3.5 模型的事实和OPL段落 14 3.6 环境事物与系统事物 15 3.7 初始状态和终止状态 16 3.8 触发状态和事件链接 17 小结 17 习题 18 第4章 SysML——用例图、模块图、状态机图 19 4.1 SysML用例图 19 4.2 SysML模块和模块图 21 4.3 SysML状态机图 22 小结 23 习题 24 第5章 通过放大进行细化 25 5.1 测量事故严重程度 25 5.2 放大:在一个新OPD图中细化一个过程 25 5.3 OPD对象过程图树 26 5.4 OPM模型事实表示原理 27 5.5 事故严重程度属性及其测量 27 5.6 系统模拟:推演测试 28 小结 29 习题 29 第6章 系统的动态行为 30 6.1 在轻度毁伤时退出 30 6.2 消息创建和发送 31 6.3 过程执行顺序:OPM时间轴原理 31 6.4 救援来了 32 6.5 当前设计的执行线程 33 小结 33 习题 34 第7章 控制系统的行为 35 7.1 布尔对象作为分支条件 35 7.2 条件链接与手段链接 36 7.3 继承关系 37 7.4 放大到事故严重程度测量 38 7.5 参与约束 39 7.6 逻辑运算符:OR与XOR 39 7.7 事故严重程度测量过程的细化 39 7.8 事物的范围:信号作为临时对象 39 7.9 诊断如何完成 40 小结 41 习题 41 第8章 抽象和细化 43 8.1 放大——在新图中细化过程 43 8.2 放大后的消息处理过程 45 8.3 ACR系统结构视图 46 小结 47 习题 47 第二部分 OPM与SysML基础 第9章 概念建模——目的与背景 50 9.1 系统、模型和系统工程 50 9.1.1 科学与工程的异同点 50 9.1.2 概念建模和基于模型的系统工程 51 9.2 一种基础的系统工程OPM本体 51 9.2.1 何为对象存在和过程发生及一些启发性的Q&A 52 9.2.2 对象-过程定理 53 9.2.3 对象-过程推论 53 9.2.4 对象-过程断言:OPM基础 53 9.2.5 为什么不止用一种事物?图形是否由节点和连接构成 54 9.2.6 OPM事物重要度原理 54 9.3 对象、状态、变换和过程的定义 55 9.4 系统及相关概念 55 9.4.1 默认的系统定义 57 9.4.2 参与者—利益相关方、受益者、客户、用户和供货商 58 9.4.3 系统资源:自然资源或人工资源 58 9.4.4 功能、结构和行为 59 9.4.5 结构—行为同步建模需求 59 9.4.6 系统架构 60 9.4.7 系统环境及事物联系 60 9.4.8 功能与行为 60 9.5 语言和建模 61 9.5.1 模型和建模 61 9.5.2 形式化模型与非形式化模型 61 9.5.3 复杂度管理 62 小结 62 习题 63 第10章 事物——对象与过程 64 10.1 面向对象与对象过程法 64 10.2 存在、事物和变换 64 10.2.1 对象细化 65 10.2.2 对象和人类记忆 65 10.3 对象标识 66 10.3.1 信息对象的标识 66 10.3.2 过程作为一个变换的隐喻 66 10.3.3 过程定义细化 66 10.3.4 变换对象的概念 67 10.3.5 因与果 67 10.4 语法和语义对比 68 10.4.1 对象和过程是否为名词和动词的语义类似物 68 10.4.2 语法语义对比分析句子 68 10.4.3 前置对象集 69 10.4.3 后置对象集 70 10.4.4 相关对象集 71 10.5 OPM过程链接独特性原理 71 10.6 过程的判定 74 10.6.1 变换对象标准 74 10.6.2 时变特性标准 74 10.6.3 动词关联标准 75 10.6.4 OPM模型的过程测试系统 75 10.7 OPM元素命名 75 10.7.1 首字母大写、加粗、短语和命名 76 10.7.2 OPM命名独特性原理 76 10.7.3 过程命名 77 10.8 事物的定义 77 10.9 OPM事物的性质 78 10.10 事物的临界情况 79 10.10.1 保持状态的过程 80 10.10.2 如何利用结构链接对状态保持过程建模 80 10.10.3 瞬态对象及其替代——激活链接 81 10.11 运算符、运算对象和变换 81 小结 82 习题 83 第11章 对象过程语言——文本描述 84 11.1 OPL——文本描述 84 11.2 OPL的两个目的 84 11.2.1 面向人类的OPL 84 11.2.2 面向机器的OPL 85 11.3 OPM图、文等价原理 85 11.4 OPM模型结构的元模型 85 11.5 OPL的保留短语和非保留短语 87 11.6 OPM双模式描述的动机 88 11.6.1 双通道假设 88 11.6.2 双模式描述的好处 89 11.6.3 吸引客户——社会方面 89 11.6.4 消除需求、设计之间的鸿沟 90 11.7 世界语——人类可读的自动生成的文本 90 小结 90 习题 91 第12章 SysML——基础和视图 92 12.1 UML——统一建模语言 92 12.2 SysML的支柱 93 12.3 需求视图 94 12.4 模块和结构 94 12.5 活动图 95 12.5.1 活动中动作的展开 95 12.5.2 接收、发送和时间事件行动节点 97 12.6 序列图 97 12.7 需求图 99 12.8 参数图和约束属性块 101 12.9 SysML与OPM比较 103 12.9.1 过程作为“一等公民” 104 12.9.2 物理事物和信息事物 104 12.9.3 模型视图多样性与模型视图统一性 104 12.9.4 图形描述与图文结合描述 104 12.9.5 活动图与对象过程图 105 12.9.6 活动图中的控制流与对象过程图 106 12.9.7 需求图与OPM的需求描述 106 12.10 SysML与OPM的综合运用 107 小结 108 习题 108 第13章 系统动态特性 109 13.1 变换和影响 109 13.2 存在与变换 109 13.2.1 创建与消耗:对象状态变换的极端情况 109 13.2.2 状态变化还是特性变化 111 13.2.3 生物的变换 111 13.2.4 人工对象的变换 112 13.3 过程链接 113 13.3.1 变换与相应的过程链接 113 13.3.2 变换对象 113 13.4 变换链接 114 13.4.1 消耗和结果生成的时间 115 13.4.2 影响链接的演变 115 13.5 支持链接 116 13.5.1 主体——人类支持对象 116 13.5.2 手段——非人类支持对象 117 13.5.3 支持链接:主体和手段链接 117 13.5.4 支持对象与影响对象 118 13.6 前置和后置对象集 119 13.7 特定状态的过程链接 120 13.8 特定状态的支持链接 120 13.9 特定状态的变换链接 122 13.10 特定状态的影响链接 123 小结 126 习题 128 第14章 系统结构特性 130 14.1 结构关系 130 14.1.1 关注二元关系 130 14.1.2 正向和反向结构关系 131 14.1.3 结构链接与结构关系 132 14.1.4 结构标签和带标签的结构链接 132 14.1.5 带标签的双向结构链接 133 14.2 结构关系的对称性和传递性 134 14.2.1 结构关系的对称性 134 14.2.2 结构关系的传递性 135 14.2.3 空标签、空结构链接及其默认OPL短语 136 14.2.4 特定型号的空标签 137 14.3 结构关系作为状态保持过程 137 小结 138 习题 139 第15章 参与约束和分支 140 15.1 结构和过程参与约束 140 15.2 结构参与约束 140 15.2.1 参数化结构参与约束 141 15.2.2 范围参与约束 141 15.3 速记符和保留字 142 15.4 基数 143 15.4.1 四种常见的基数类 143 15.4.2 16种基数类 144 15.5 过程参与约束 144 15.5.1 参数化过程参与约束 145 15.5.2 支持对象和变换参与约束 145 15.6 结构关系的分配律 146 15.7 分支、柄和齿 147 15.8 齿事物集 149 15.8.1 分支度 149 15.8.2 分支完备性 150 15.8.3 分支有序性 151 15.8.4 齿事物集排序规则 152 小结 152 习题 153 第16章 基本结构关系 154 16.1 关系符号和参与者 154 16.2 关系命名和OPL语句 155 16.3 结构层次、传递性和用户自定义符号 155 小结 156 习题 156 第三部分 结构和行为 第17章 组成关系 157 17.1 基本概念 157 17.1.1 完形理论 158 17.1.2 整体论和涌现 158 17.1.3 分解的深度 158 17.1.4 用“consists of”(由……组成)而不是“has a”(有) 158 17.2 组成关系作为分支 159 17.3 语义Web实例 160 17.4 组成关系命名 161 17.5 UML和SysML中强组成关系与弱组成关系 162 17.6 表示部分的顺序 163 17.7 组成关系和带标签的结构关系 164 17.8 非完备的组成关系 165 17.9 参数化的部分约束——微语言 167 小结 169 习题 169 第18章 表征关系 171 18.1 事物和特征 171 18.2 属性和操作:两类特征 172 18.3 UML/SysML和OPM中特征的对比 173 18.4 OPM事物和特征命名的唯一性 174 18.5 四类表征关系 175 18.5.1 对象-属性组合 175 18.5.2 对象-操作组合 176 18.5.3 过程-属性组合 176 18.5.4 过程-操作组合 177 18.6 基本的结构层次 178 18.7 属性命名问题 179 18.8 特征和链接的属性 180 18.8.1 显式度 180 18.8.2 模式 180 18.8.3 模糊度——定量属性的属性 181 18.8.4 涌现性 181 18.8.5 链接同质性属性 181 小结 182 习题 182 第19章 状态与取值 183 19.1 状态定义 183 19.1.1 状态示例 183 19.1.2 初始状态、终止状态和默认状态 183 19.2 状态隐藏和显示 184 19.3 取值:状态的数值化 185 19.4 状态转移:当过程起作用 186 19.5 路径标签和触发器 188 19.6 大脑“自组织临界”模型 190 19.7 特定状态的结构链接定义 191 19.8 复合状态与状态空间 194 19.8.1 OPL中的多重条件分句 195 19.8.2 使用过程确定复合状态 195 小结 196 习题 196 第20章 继承关系与实例关系 197 20.1 继承与实例化:简介 197 20.2 继承 199 20.2.1 从候选特殊事物创建一般事物 200 20.2.2 特征的继承 200 20.2.3 结构关系的继承 201 20.2.4 状态和链接继承 201 20.3 通过辨别属性来特殊化 202 20.4 特定状态的表征链接 203 20.5 类型-实例 204 20.5.1 类型与实例 204 20.5.2 实例化与特殊化 205 20.6 实例的相对性 205 20.7 约束属性值 206 20.8 过程实例 207 小结 208 习题 209 第21章 复杂性管理——细化与抽象 210 21.1 复杂性管理的需求 210 21.2 模型复杂度声明 211 21.3 基于侧面与基于细节分解 211 21.4 完备性和简明性的权衡 212 21.5 状态显示和状态隐藏 213 21.6 展开和折叠 214 21.7 图内展开和新图展开 215 21.8 端口折叠 215 21.9 放大和缩小 216 21.9.1 图内放大和新图放大 217 21.9.2 对象的放大和缩小 217 21.10 同步和异步过程细分 218 21.11 放大和展开的对等 219 21.12 系统框图和最终对象过程图 220 21.13 OPD对象树和对象林 222 21.14 缩小 223 21.15 简化一个OPD 224 21.16 考虑过程链接优先级的抽象 226 21.16.1 变换链接间的优先级 226 21.16.2 变换链接和支持链接间的优先级 227 21.16.3 同类非控制链接和控制链接之间的优先级 227 21.16.4 过程链接优先级的总结 228 21.17 放大时的链接迁移 228 21.18 视图创建:第四类细分机制 228 21.19 自中间向两头作为架构设计的常见做法 229 21.19.1 OPM能够满足方法混合使用的需要 229 21.19.2 何时需要创建一个新的OPD 229 21.20 OPM系统模型中的导航 230 21.20.1 OPM图的标号和树边的标号 230 21.20.2 整体系统的OPL规范 230 小结 231 习题 232 第22章 OPM操作语义和控制链接 234 22.1 事件—条件—动作控制机制 234 22.2 前置条件、过程前置对象集和后置对象集 235 22.3 控制链接的种类 235 22.4 事件链接 235 22.4.1 通过事件链接激活非首子过程 236 22.4.2 支持事件链接和变换事件链接 236 22.4.3 特定状态的支持和变换事件链接 237 22.4.4 激活链接 238 22.5 条件链接 239 22.5.1 跳过语义优先于等待语义 239 22.5.2 条件变换链接 240 22.5.3 条件支持链接 241 22.5.4 特定状态的条件变换链接 241 22.5.5 特定状态的条件支持链接 242 22.6 异常链接 243 22.6.1 过程的持续时间及其分布 243 22.6.2 超时异常链接 244 22.6.3 欠时异常链接 244 22.7 变换率 246 22.8 基于OPM的运算 246 22.9 集合和反复 248 22.10 放大过程语境中的操作语义 248 22.10.2 隐性平行激活链接集 250 22.10.3 跨过程语境的链接分配率 251 22.10.4 分离的特定状态的链接对 253 22.11 相关对象集实例变换 254 22.12 UML的对象约束语言 254 小结 255 习题 256 第23章 逻辑算子与概率 257 23.1 逻辑“与”的过程链接 257 23.2 逻辑“非” 258 23.3 逻辑“异或”与“或”链接符 259 23.3.1 逻辑“异或”运算符 260 23.3.2 逻辑“或”运算符 260 23.4 分散和汇聚“异或”和“或”链接 261 23.5 “异或”组合和“或”组合 264 23.5.1 组合型“异或” 264 23.5.2 组合“或” 265 23.6 逻辑“异或”与“或”:特定状态的链接扇形 265 23.6.1 控制修饰链接扇形 266 23.6.2 特定状态的控制修饰链接扇形 266 23.7 多控制链接的“或”语义 267 23.8 链接概率和概率链接扇形 268 小结 270 习题 271 第24章 ISO 19450标准概述 272 24.1 The ISO 19450 介绍 272 24.2 ISO 19450术语、定义和符号 273 24.3 OPM原理和概念 274 24.4 ISO 19450的4个附件 276 24.4.1 附录A“规范:基于EBNF形式的OPL规范语法” 276 24.4.2 附录B“提示:OPM指南” 277 24.4.3 附录C“提示:运用OPM的OPM建模” 277 24.4.4 附录D“信息:OPM的动态性和仿真性” 279 附:OPM原理一览 280 参考文献 282
杨峰,国防科学技术大学信息系统与管理学院教授,科研方向:体系工程与体系仿真,重点研究复杂系统/体系架构建模、计算实验、仿真评估、知识挖掘、认知演化计算等理论方法;