2019年10月18日,华为公司第一届MBSE技术工程大会在深圳坂田基地F1召开。
原中航工业副总经理、清华大学特聘教授张新国受邀演讲,他演讲的题目是《MBSE与创新转型》。心声社区对此进行了记录整理,全文如下。
过去我们跟踪式发展,别人有什么系统,我们就把这个系统分解成子系统、分系统、部件去跟踪模仿,但实际上我们研发的产品都处于一个更大的系统中,比如手机,是在网上运行的,是处于一个更大的系统(System of System,SoS)中。
另外,这个SoS可能是属于个人的,也可能属于组织的。讲组织,一定是包含人、财、物、技术、组织、流程、文化等。人类第一次把面对物理系统工程的方法用到了人类组织本身,这就是Enterprise Systems Engineering(ESE)。
按照ESE理念,一个公司的所有利益相关者都应该统一综合考虑,包含人、财、物、技术、组织、流程、文化等。例如,一个公司内部研发体系和质量运营体系,应该是统一的整体,而不是通过组织和人的形式进行隔离。
从中航工业近10年的实践和国防工业整个推进MBSE的历程看,对中国工业来说,如何从跟踪型发展转变到创新性发展,我们正处于一个转折期,我们全面的创新还没有开始。所以,应该借这次机会实现工业转型。
工业转型我们已经说了好多年,但转什么、到底怎么转,我认为(MBSE)是一个很好的契机。后边会解释创新转型和MBSE的关系。
早期的产品如飞机,主要是机械系统,90%的部件是机械,仪表也是机械的。后来有了嵌入式系统,飞机的控制系统、航电系统都发生了变化。后来飞机上有了总线、局域网,有了网络,系统变得更复杂。万物互联,不能是Bottom up,必须按照Top down的方式来设计。未来是万物互联,通讯业变得异常复杂,还能否用过去的方式来研发,这是一个问题。
我们用Complex Index(复杂度指数)来表达,也就是系统内部的部件数、部件之间的关系数,还有系统与外部元素的关系数来表达,机械时代的复杂度是10三次方,发展到机电时代的10六次方,再到现在的机电软网时代的10九次方,肯定不能用机械时代和机电时代的方法,必须用新的研发模式,还要问我们的研发是怎么组织的。
系统工程综合多个学科,从用户的运行需求(怎么用),变成一个涵盖多学科的解决方案,这是系统工程的职责所在。但我国在系统工程教育上有较大缺失,大学里只设各个专业,没有教系统工程,没有提供多学科综合人才的培训。而国外几乎每一个有名的大学,都有系统工程专业。研究问题靠专业,解决问题靠综合(系统工程),不可能由一个专业去回答solution的问题。
我们在航空航天及国防领域做了调查,按传统的系统工程,一个工程研发,一次迭代需要3-5年,几百亿的经费,而大的工程需要迭代2-3次。美国国防部希望减少迭代,但人的认知是基于迭代的,减少迭代就会减少对系统的认知,就会增加风险。
如何把系统工程V型图中左侧的数字域到右侧的物理域的迭代,变成在左侧的数字域的迭代,这种迭代速度会很快、次数会很多,把迭代时间从论年算变成论月算、论周算。搞MBSE绝不是赶时髦,如果没有弄清楚其中的道理,根本就不要搞。
说到模型,很多同志都感到麻木,说模型都做了几十年了。但实际上现在的模式都是各个专业的,机械的、电子的,热的、流体的、固体的,等等,没有建过系统级模型。
为什么?因为你建的要么是数学模型,要么是物理模型。我们现在要建的是概念模型(Conceptual Modeling),这是人类第一次对概念建模。
为什么要从概念建模?因为创新和创造是从idea、概念开始,而过去是跟随式、模仿式创新,可以照着别人的做,可以从物理模型开始建模。
如果想真正创新,必须从idea、概念开始建模。概念如果不能建模,概念如何传递到各个学科,没有概念模型,就无法把各学科的模型综合起来。为什么现在这么多的各个学科的模型,却无法集成,为什么不能在硬件制造和软件编程前进行集成?可不可以不要目标机、不要目标软件,就进行计算机的软硬件综合?实际上,在航空航天界已经做到了。
因为从用户需求的捕获到系统规格,都是用自然语言写文档,非常模糊,有歧义,各自有各自的理解,这是70%的错误被引入的主要原因。
目前各个企业的软件工具非常多,但这是碎片式的数字化,数据不能交互,工具是异构的,不能形成工具链,靠做出实物来综合。仍然是碎片化的建模与仿真,看到全局的时候还是靠最后的实物。30年的数字化,为什么不能看到数字域的全局,谁来回答这个问题。
基于文档模式下,工程师的活能干完,但文档写不完,必须把工程师从写文档中解放出来。
国防工业调查结果显示,大量工程师的活能够干完,但文档写不完。为什么要把工程师大量的精力花在写文档上?写文档是不是创造性劳动?但是评审需要、质量管理需要、领导要看需要,这些事值不值?也不问这些文档有什么用、存在什么问题?文档既不能表达多视角,也不能准确表达语义,也不能保持协调一致性,更可怕的是根本没有可追溯性。
今后,把工程师从写文档中解放出来,工作主要用模型,文档用于查询、存档,文档由模型生成。
各个行业的技术发展很快,变更是很常见的,但如果不能准确地进行变更影响分析,则很容易在变更时解决了1个问题,而引起了3个问题。因为任何变更都是局部发起的,局部的变更一定要知道对整体的影响。但基于文档模式下,很难进行变更影响分析。变更影响分析的基础是可追溯性。
MBSE采用图形化、正规化的语言,替代自然语言,每个人看到后的理解是一样的,同时,该语言也是人和机器(计算机)都能够解读、理解的。现在我们很多软件的语言只是他这个团队的人能够看懂,用户看不懂。
我们国防工业的成果是辉煌的,但研发过程是极其落后的。我估计华为也是一样的,因为我们有一个共同的大环境。
刚才说系统工程研发过程是一个大迭代过程,时间很长,原因是什么?
因为过去我们在左上角只能描述和分析功能,不能运行功能,不能展示行为,只能进行结构分析,我们这么多年做的Digital Mockup、电子样机、数字样机,仅仅是是几何样机。
如果我们能够在左边展示行为、验证功能,那我们就可以做功能样机,这是目前高铁、汽车、飞机这些大的工业领域都在做的。如果一旦能够做数字功能样机,就意味着在制造之前进行虚拟综合,进行虚拟产品的综合测试。这是一次技术革命,也是工业4.0背后的逻辑。
R(需求)是问题域,是用户需要什么;F(Function)是系统提供什么功能来满足客户的需要,是系统所要做的事,不是怎么做。
怎么做是逻辑层L(Logical)考虑的,功能分配是F向逻辑层的分配,我们长期的跟踪式发展,使我们没有认真进行过功能分配,这是创新的很关键的一步,就是你把这个功能使分配给硬件还是软件,分配给电磁还是液压,这些都要和物理层(Physical)对接。而且每一层是独立的,需求独立于功能,功能独立于方案,方案独立于技术,不要用下一层回答上一层的问题,否则会阻碍创新,也会误导问题。
大家还没有区分C和C++的巨大变化,C还是面向过程的,C++是面向对象的,我们大量的软件还没有转过来。
面向对象,就是要面向问题,而不是用解决方案回答问题。过去是在肢解结构,而面向对象,是结构和行为的同步分解,当分解行为的时候不会破坏整体。另外,面向对象的抽象、封装、继承、多态,都是符合系统论的。
基于文档到基于模型的转变,前边已经讨论过。
关于求解问题的正规方法(Formal Method),简单问题,可以靠直觉,所以把工程师就做problem solver(问题解决者);面向复杂问题,不可能直接得到解决方案,必须先表达问题,独立于解决方案,通过计算,输出,通过解释得到解决方案。这才是Formal Method。
来源:心声社区,记录人:陈红涛,可信系统工程实验室;审核人:张博
评论