要说MBSE,首先看看它的全称:Model-Based Systems Engineering
字面即有三层含义:“系统”、“系统工程”、“基于模型”。
首先,得聊聊啥是“系统”。
系统(System):用大白话就是从宏观到微观,多个相互作用的部分组合在一起成为一个整体,从而达到既定的目的。落到工程技术来看,其实就是“软件+硬件+流程+人员+信息+技术+……=产品/平台”。
其次,一起看看**“系统工程”。**
系统工程(SE,Systems Engineering):如果说系统是部分组成的整体,那么系统工程就是让系统达成目的的方法和手段。简单来说,系统工程就是指产品/平台研发过程中所采用的技术与方法。
最后,关于**“基于模型的系统工程**”。
基于模型的系统工程(MBSE):就是在产生设计某个产品/平台的概念开始,就把包括设计、开发等全生命周期里,所涉及的各个方面都用“计算机数据模型”方式建立起来,形成一个统一的“系统模型”。由于在这一过程中,如导弹、飞机、火箭等设计到研制的过程过于复杂,且在这一过程中涉及到了多个专业学科,为了便于大家理解,所以统一采用同一种表达方式,也就是“基于模型”的方式进行描述。
说白了这就跟普及普通话一样,虽然各个民族都有各自的语言文字,但为了便于交流合作,所以同一文字和语言发音,虽然表达形式不同,但实际含义不变。
已剪辑自: http://www.uml.org.cn/modeler/20190911.asp
**编辑推荐:**本文主要介绍了什么是MBSE? 为什么要做MBSE? 以及我们怎么做MBSE的相关内容,希望对大家能有所帮助 。 本文来自于公众号SZHCYBJ,由火龙果软件微微编辑、推荐。
引言
基于模型的系统工程(MBSE)作为未来工业研发数字化的重要发展方向之一,需要大量相关技术人才支撑其在各行各业的应用。从目前来看,国内掌握MBSE技术的人才数量远远低于需求量,各行业MBSE实践项目受制于人才短缺的现象明显。
可预见的未来几年,随着行业应用需求的增强,将会有越来越多的技术人员投入MBSE方向。这些技术人员的来源,要么是原本各研发岗位上的工程师,通过学习这方面的技术应用到研发工作中;或者是应届毕业生或其他技术方向从业者转向MBSE领域。
不管未来这些技术人员来自哪个方向,在最初接触MBSE这一概念的时候,都不可避免的要了解这一领域方方面面的概念和知识,来实现“入门”。
鉴于此,特将近期做的一次科普性质的MBSE培训部分内容整理如下,希望能够通过一篇文章,用最简单、易懂的语言讲清楚MBSE,为希望了解MBSE的人提供一个大概轮廓和入门导航。
本文章节安排如下:
什么是MBSE?
为什么要做MBSE?
怎么做MBSE?示例
掌握MBSE需要学习哪些内容?
学习资料推荐
\1. 什么是MBSE
基于模型的系统工程(MBSE)是相对于传统基于文档的系统设计而言的,传统设计方式中,系统方案设计阶段多数通过撰写方案设计文档来对系统进行定义,如下图所示:
MBSE(基于模型的系统工程) = 用数字化建模代替写文档进行系统方案设计,把设计文档中描述系统结构、功能、性能、规格需求的名词、动词、形容词、参数全部转化为数字化模型表达。
以下例子可帮助直观理解如何从文档转换到数字化模型:
基于文本的设计:
“该系统由发动机、通信系统、控制系统、生命保障系统等子系统构成”
MBSE中的数字化模型表达:
基于文本的设计:
“系统的启动过程为:首先启动发动机,然后依次检查控制系统、生命保障系统、通信系统状态,如一切正常,则进入工作状态;如发现异常,则由操作人员进行故障排查。”
MBSE中的数字化模型表达:
基于文本的系统设计:
“需求A:系统总重量不能超过100kg。”
MBSE中的数字化模型表达:
形容词是文档中的特殊产物,在模型中不存在对应内容。
原因在于形容词是模糊描述,无法明确表达,也意味着无法准确验证。因此,理论上,在系统设计和需求规格描述中,不应该使用形容词。否则可能导致下图中的后果:
\2. 为什么要做MBSE
在当前航空、航天、汽车等行业,对工业产品易用性、舒适性、安全性等方面要求的提高,导致当前工业产品电气化、智能化程度越来越高,产品复杂度的量级不断跃升。
基于文本的系统设计方式存在天然局限,导致其越来越难以应对当前的复杂产品设计挑战,比如:
基于自然语言描述的设计文档一致性差,沟通效率低且容易出现歧义;
自然语言容易引入形容词等模糊描述,很难保证准确性
文本描述的设计元素之间无法实现追溯分析,当出现设计变更时很难对变更影响进行准确评估
基于文本的设计方案无法进行前期仿真验证
设计方案无法与详细设计阶段的数字化模型(如CAD)关联…
而MBSE技术的出现为应对这些问题提供了有效的应对手段。
一项新技术最终的价值体现,一般有:
节省成本,省钱
提高效率,省时间
保证产品质量,提高产品竞争力
产品质量提升→产品问题减少→研发周期&运维成本降低→省钱&省时间
产品竞争力提高→销量提升→企业利润提高
基于上述几个角度,我们分别从几个系统设计活动– 需求分析&验证、系统设计、系统验证,来具体分析MBSE到底可以为企业带来哪些价值:
(红色代表文本无法实现而MBSE能够实现的功能,蓝色代表MBSE相对文本的优势功能)
\3. 怎么做MBSE?示例
MBSE是系统设计工作通过数字化设计手段的实现,因此在工作流程上与传统系统工程并无太大差异,仍然分为需求分析、系统设计、系统验证、需求确认四个步骤。
具体实现方式案例如下:
实现需求条目化分类,并对特殊需求(性能需求)进行量化描述:
需求类型示例
需求量化描述
依照特定的系统设计逻辑方法,完成系统功能、结构设计,以及参数化表征,并将设计内容与需求进行关联,确保追溯关系完整。
系统设计
系统设计与需求的关联追溯
基于数字化系统设计模型进行系统仿真,根据设计需求进行系统验证工作
系统模型仿真验证
将设计参数值与量化的需求约束进行验证
需求确认
\4. 掌握MBSE需要学习哪些内容
MBSE的三大支撑:方法论、系统设计语言、系统建模工具。
MBSE方法论是设计师进行系统设计活动的指南,不同行业、不同产品在实际产品研发方面都有其特殊的地方,因此在方法论方面会有不同的选择。
以下提供了当前MBSE方法论方面能够查找到的部分公开资料,可作为企业在实践MBSE项目时的参考。
企业在实际项目中选择哪一种方法论、对方法论做哪些特定的裁剪,需要基于企业当前研发流程的实际需求来分析和确定,而不能直接照搬某个“理论模型”。
关于MBSE方法论,2008年有相关研究汇总了当时的相关理论 - “Survey of Model-BasedSystems Engineering (MBSE) Methodologies”, 报告中涵盖了以下6类不同的MBSE方法论:
INCOSE Object-Oriented SystemsEngineering Method (OOSEM)
IBM Rational Telelogic Harmony-SE
IBM Rational Unified Process for Systems Engineering (RUP-SE)
Vitech Model-Based Systems Engineering (MBSE) Methodology
JPL State Analysis (SA) Methodology | JPL State Analysis (SA)
Dori Object-Process Methodology (OPM)
在此之后,作为补充,http://www.omgwiki.org/MBSE中的“Methodology and Metrics”文章里又增加了几类MBSE方法论的介绍,包含:
Weilkiens Systems Modeling Process (SYSMOD)
Fernandez Process Pipelines in OO Architectures (PPOOA)
An Ontology for State Analysis: Formalizing the Mapping to SysML
ISO-15288, OOSEM and Model-Based Submarine Design
Alstom ASAP Methodology
Pattern-Based Systems Engineering (PBSE)
Arcadia, a model-basedengineering method
以上这些仅仅为MBSE方法论的部分内容,在此之外,仍有一些公司或研究者针对特定应用场景提出了自己的方法论。比如,当前在国内工程界应用广泛的MagicDraw工具,其母公司NoMagic(现被达索析统公司收购)也独立提出自己的MagicGrid方法论。
系统设计语言是描述系统设计的标准"语法",当前MBSE领域主流的系统设计语言是OMG维护和发布的SysML – System Modeling Language,该语言基于UML发展而来,并专门针对系统设计领域特点进行了扩展。
(SysML虽为主流MBSE建模语言,但仍有部分软件工具通过非SysML语言进行模型描述,此处不做展开。)
SysML是一种图形化设计语言,共包含9类图,如下所示:
9类图分别用来描述系统设计过程中的需求、系统结构、系统行为和系统参数:
目前国内工程领域主要的MBSE工具为NoMagic(达索) MagicDraw和IBM Rhapsody,其他如Sparx Systems的Enterprise Architecture, 达索CATIA RFLP, Siemens PLM, ANSYS Scade等也有部分应用。
更多MBSE建模工具可参考:
https://mbse4u.com/sysml-tools
https://mbseworks.com/mbse-tools
MBSE建模工具的选择需要考虑因素过多,需要根据不同企业具体情况具体分析,此处不做过多展开。
已剪辑自: http://www.zhiruisiwei.com/html/articles/article_001.html
MBSE技术从理论到实践,逐渐在一些企业得到应用,在国内掀起了一股热潮。究竟MBSE是什么,如何学习和应用,本文做了一个入门的简单介绍。在文章最后,列出了作者学习MBSE技术中接触到的一些参考资料,推荐给读者,希望对大家学习MBSE技术有用。
学习和应用MBSE技术,离不开软件工具的支持。可在网站服务页面下载中文版、国产化的MBSE建模软件工具:智睿思维基于模型的系统工程软件(MBSES)。
“MBSE”是“基于模型的系统工程”的英文“Model-Based Systems Engineering”的首字母缩写。从字面意思能看出MBSE这个概念有三个核心的概念“系统”、“系统工程”、“基于模型”。我们从“国际系统工程协会”(INCOSE)的出版物“系统工程手册”中摘录上面三个概念的定义如下:
“系统”(System):系统是相互作用的多个部分组成的为完成特定目的的一个整体。从这个基本概念看,这个世界上很多东西都可以称为“系统”。但是工程技术人员的研究领域中,这个“系统”主要是指软、硬件组成的产品、平台等。这个“系统”也包括其中的流程、人员、信息、技术和设施等。至于纯“人”的社会系统则不是这个技术研究的范围。
“系统工程”(SE,Systems Engineering):系统工程是一种使系统能够成功实现的跨学科的方法和手段。“系统工程”工作包括:在“系统”开发周期的早期阶段定义客户需求及功能,并文档化。然后进行设计综合和系统确认。同时考虑整个系统各方面的问题,包括系统运行、成本、进度、性能、培训、支持、试验、制造和销毁等。这里的“系统工程”简单说指的是产品研发过程的技术方法。
“基于模型的系统工程”(MBSE):“支持以概念设计阶段开始,并持续贯穿于开发和后期的生命周期阶段的系统需求、设计、分析、验证和确认活动的正规化建模应用。”用通俗一点语言解释的话,MBSE就是开发一个产品、平台的时候,把产品、平台研发中涉及到的各个方面用“计算机数据模型”方式建立起来,形成一个统一的“系统模型”。
MBSE有什么用,也就是建立那个统一的计算机数据化的“系统模型”有啥用?
在没有使用MBSE技术之前,“系统工程”工作成果就是一堆的“文档”。这些文档也是电子化的,只不过它们都是“非结构化”的数据,不能称为“模型”数据。相比“基于文档的系统工程”方法,MBSE方法具有很多优势。
在INCOSE 的《系统工程手册》中,总结了以下几点MBSE的好处:
(1)改善了开发系统的利益相关者(客户、项目管理人员、系统工程师、软硬件工程师、测试人员和各专业工程学科的人员)之间的沟通。
因为MBSE是基于标准的建模语言建立的规范化说明,相当于大家交流的语言是统一的。而基于自然语言的“文档”容易在不同专业的人员之间产生歧义。而且MBSE的这个“模型化说明”在各类专业人员之间传递时候是可以通过计算机软件转换为各自专业的语言、数据,而自然语言是很难实现这个转换的。但是,这要求大家要新学习一门通用的“系统建模语言”。如果大家都不懂这门语言的话,只会产生和上面的观点相反的结果。
(2)通过使系统模型能够被从多个侧面进行观察,以及提供变更影响分析的能力, 提高了管理复杂系统的能力。
这个是说系统的同一套数据模型,可以从不同的专业角度进行浏览和分析。而且由于系统模型数据之间有相互关联关系,如果那个地方更改,可以通过关系查询到所有影响到的地方。这个对于非结构化的文档来说,是做不到,或者很麻烦。即使文档也能提供从各个专业角度的说明,但是这些文档数据之间没有关联,可以说是基于各自多套数据来源的,而不是唯一的一套数据模型。这个观点也是在说“MBSE提高了开发复杂系统的能力”。
(3)通过提供可评估一致性、正确性和完善性的无歧义的且精确的系统模型,提升了产品质量。
产品的质量问题有很多是设计问题,而这些设计问题并不简简单单是设计人员的水平问题、责任心问题,而更多是复杂过程本身不可避免的会出现的质量问题。想让所有人不犯错是不可能的,而只能是通过技术手段使人少犯错。MBSE是一种使人少犯错的技术手段,因为MBSE建立的模型可以通过计算机软件自动的检查错误。相比之下传统的文档容易隐藏错误,一个笔误可能造成严重损失。
(4)通过以更加标准化的方式捕获信息并高效地利用模型驱动方法固有的内置抽象机制,增强知识捕获及信息的复用。这会导致缩短开发周期和更低的维护成本,以改进设计。
这个观点是说系统模型数据更容易复用,比文档手段的“复制、粘贴、替换”文本效率要高。模型数据的复用,可以采取“引用”方式。而且可以建立共用的模型库,提高知识的复用率。
(5)通过提供概念清晰且无歧义的表达,提升教授与学习系统工程基本原理的能力。学会了MBSE,就掌握了系统工程的方法。
在系统工程技术结合计算机信息技术发展的过程中,其实有多种技术方向在发展。这些技术途径都可以称为MBSE。这其中主要的方法有6种:INCOSE(就是前面说的那个国际系统工程协会)的面向对象的系统工程方法(OOSEM)方法、IBM的Rational Telelogic Harmony-SE、IBM的RUP系统工程方法、Vitech MBSE方法论、JPL状态分析(SA)方法和Dori的对象过程方法(OPM)。
这里先简单说一下INCOSE的OOSEM方法。OOSEM是一种自顶向下、场景驱动建模过程,它使用SysML(系统建模语言,Systems Modeling Language)语言作为建模语言,支持系统的分析、定义、设计、和验证。该过程使用面向对象的概念和其它建模方法来构建灵活和可扩展的系统,使其能够适应技术的不断进化和需求的变更。
OOSEM过程的主要活动包括:
(1) 分析利益相关者的需求。这个工作简单说就是分析使用产品的用户的需求,就是用户最初始的想法是啥,想怎么用这个产品、需要产品有那些功能。了解用户当前情况是什么、有什么局限,未来可以有哪些提升。
(2) 分析系统需求。简单说就是产品本身应该提供那些功能,用户是如何使用产品的。在这个过程中要推导出产品的功能需求、接口需求、数据需求和性能需求。
(3) 定义逻辑架构。先将系统分解为多个逻辑组件,这些逻辑组件是暂且虚拟的一个部件,它能够满足产品的各项需求。但是具体用什么硬件或软件的方案来实现它,在下一步的物理架构设计中实现。将系统方案分为逻辑架构和物理架构两个层级,有利于减少需求和技术变化对设计的影响。
(4) 综合候选的物理架构。可能建立几个和逻辑元素相对应的物理架构,以进行对比分析,确定哪一个最合适。物理架构的元素是具体产品部件,包括软件和硬件。前面逻辑架构中的功能,有些是可以用软件来实现,也可以用硬件来实现,或者用不同型号规格的硬件来实现。
(5) 优化并评价备选方案。对上述备选的物理架构方案进行优选,利用模型的数据,进行性能、可靠性、生命周期成本、人员和其它专业工程相关的模型参数的分析,对备选方案进行优化,确定一个最终的方案。
(6) 管理需求的可追踪性。为保证需求、架构、设计、分析与验证元素之间的可追踪性,系统模型应该始终保持需求和其它元素的关系。设计过程就是一个不断填补空白需求的实现过程。当需求变动时,利用建立的需求实现关系,追踪和评估需求变更对系统设计、分析和验证元素的影响,并及时更改系统方案,使其和需求保持一致。
(7) 确认和验证系统。该活动验证系统设计满足其需求,并确认哪些需求满足利益相关者的需求。开发验证计划、程序和方法。
OOSEM的活动过程,用SysML的活动图,可以表示如下:
MBSE技术已经成为系统工程师必须掌握的基本知识。有些单位甚至要求设计师持证上岗。至于怎么学习MBSE技术,最简单的方法,那就是使用“智睿思维基于模型的系统工程软件”(MBSES)。如果有问题,可以参考软件在线手册。或者进一步关注“智睿思维MBSE”微信公众号,通过在线服务咨询客服。
如果您想系统了解一些MBSE、SysML建模的相关知识,下面列举了国内可以买得到或可以获取的书籍和技术资料。电子版的技术资料,如果您获取有困难,也可以尝试联系公众号客户,也许他有可以分享给您。
(1)《SysML精粹》,(美)Lenny Delligatti著,侯伯薇、朱艳兰译,机械工业出版社。
这本书是讲述MBSE入门技术的一本经典好书。内容浅显易懂,结合案例,对建模技术说明的很透彻。这本书出版的时间比较早。当时还是SysML1.3版的时候,现在是SysML1.6版,有些地方已经变动了。如果您发现这本书讲的和MBSES软件不一致的地方,也可能是SysML版本问题,您可以联系客服进一步解释。
推荐指数:★★★★★
(2)《SysML实践指南》,英文版名称《A Practical Guide to SysML The Systems Modeling Language》。互联网上有第二版中文翻译,英文版有电子书(第三版)。
这本书也是案例结合SysML语法介绍,还有一个章节专门讲OOSEM方法。可以说是MBSE方法论+SysML建模语言+案例的好书。
推荐指数:★★★★★
(3)INCOSE《系统工程手册》,张新国译,中英文对照,机械工业出版社。
很厚的一本书,900多页,网上有售。这本书是对整个系统工程技术的编著,其中有一个章节讲MBSE。内容不多,但是对了解MBSE在整个系统工程过程中的地位会有帮助。
推荐指数:★★★★
(4)《敏捷系统工程》,[美]Bruce Powel Douglass著,张新国 谷炼译,清华大学出版社。
全书也是讲述基于MBSE的方法,方法论基于上述IBM的Harmony SE,还结合了“敏捷开发”的概念。这本书国内网上有售。
推荐指数:★★★★
(5)《基于模型的系统工程最佳实践》,[德]Hans-Peter Hoffmann著,谷炼译,航空工业出版社。
这本书基于IBM的Harmony SE方法,结合IBM的Rhapsody软件中的案例。虽然书不厚,但是讲述内容挺复杂的一本书。
推荐指数:★★★★★
(6)《基于模型的系统工程有效方法》,[美]John M.Borky, Thomas H.Bradley著,高星海译,北京航空航天大学出版社。
也很厚的一本书,讲述了很多系统建模的实践。不过想要看懂这本书,需要先学好MBSE的基础知识。
推荐指数:★★★★
(7)《SysML for Systems Engineering 2nd Edition: A model-based approach》,Jon Holt and Simon Perry。
纯英文,没见到中文翻译版,网上有电子版。从SysML讲到MBSE,内容丰富。
推荐指数:★★★★★
(8)《基于模型的系统工程—综合运用OPM和SysML》[以]Dov Dori,杨雄 王文广王涛 李志飞译,电子工业出版社。
基于Dori(就是原书的作者)的OPM方法。这种方法主要的建模语言是OPL(对象过程语言),独立的一个标准,和SysML不同。支持这种语言的建模工具只有作者开发的工具。
推荐指数:★★★
9)《基于模型的系统工程(MBSE)方法论综述》,[美]杰弗里.A.艾,张新国译,机械工业出版社。
这本书是INCOSE的一个调研报告的翻译本。此书介绍了常用的几种系统工程方法(本文第3节说那些方法,这些方法有些来自于上述另外一本书),以及其他的系统工程的基本概念。
这本书出版的比较早,现在没有卖的了。JD上旧书价格有点离谱。网上有英文电子版。
推荐指数:★★★★★
MBSE有关标准:
有关MBSE技术,参考的标准如下。这些标准对深刻学习和理解建模技术很重要。
(1)《OMG Systems Modeling Language》1.6版。
下载地址:https://www.omg.org/spec/SysML/1.6/PDF
(2)OMG® Unified Modeling Language® (OMG UML®) Version 2.51
SysML标准只是讲述扩展的内容。对一些基本的建模知识,还是需要参考这个UML标准。
下载地址:https://www.omg.org/spec/UML/2.5.1/PDF
(3)中国国家标准汇编526 GB 28174( 2011 年制定)。可以理解为UML2.0中文版。
网上有售,网上有电子版。