MBSE的七个阶段,你到了在哪一层?
作者:杨华
链接:https://zhuanlan.zhihu.com/p/514242942
来源:知乎
聊聊我理解的MSBE开展的几个层次。1234为一个阶段,567为另外一个阶段。对照看看你们做到哪个阶段,还是停在某个阶段出不来了O(∩_∩)O
1、依葫芦画瓢:学习行业的优秀实践,然后在自己的产品上开展建模实践,先学别人的实践,输出建模活动的“规范”或者说建模技巧更合适一些,即先找到葫芦,然后将我们的产品设计一步一步放进葫芦里,然后依据优秀实践的预期,完整的走一遍流程后看看是否能达预期。这个过程中会产生建模工具的使用技巧,建模语言本身的分析等。
2、带业务目标建模:本阶段就上升了一步,不光看Best Practice具体建模活动过程,而是抽象出方法论,建模活动背后的建模主线是什么,然后根据业务目标来比对和裁剪,然后有目的的开展建模活动,这个阶段可以总结出在实际建模产品中的一般方法和步骤,以及相关注意事项。
3、定制DSL:经过上面这个阶段的实践后,可以根据业务诉求,来定制自己的DSL(领域建模语言),方便更高效的建模开展。用当前的基本建模元素可以完成目标,但是效率太低,考虑根据自己领域的特点,抽象出一套自己的建模语言,例如用sysml语言中的基本元素,采用profile机制,产生dfx的一套表达语言,对象不在是零散的表达,而是类似数据结构的集中呈现,这样能大大增加领域建模效率和完整度,类比从汇编语言到C。输出现有建模工具和语言的DSL集合,例如使用sysml建模语言基于profile机制生成的各种符合某类业务的 sterotype等。
4、模型打通上下游:下一步就是提升视角,看看产品开发环节各种开发工具信息需求,例如结构设计,原理图设计,软件架构开发等,根据这些需求来审设计环节的建模要求,使设计环节的模型数据能“流动”到开发环节的各种专业工具上,回头来看系统建模工具及定义插件开发目标。输出接口标准/规范/建议和相关说明,转换插件等。
5、应用计算思维:回到系统建模的目的:让计算机的算力更多的参与到设计中来。如何实现呢?目前计算机,包含相关的编程语言等组成的计算体系,都是基于图灵机的,那系统建模也要遵循和利用这套底层的原理,首先建模语言能图灵完备,或者说具备图灵完备的潜力,否则后续计算机参与的能力就会受限。当前的的系统建模语言例如UML,SysML等,出发点是基于表示的语言,和html语言类似,可以无限扩展,表达能力是丰富了,但是要计算机能很好的理解,目前看还比较困难。这个阶段要慎重系统的考虑系统建模语言,这是未来发展的根基,否则越努力越麻烦。
6、自定义建模语言:MBSE只是一种非常宏观的方法,可能方法都算不上,说是一个大方向可能更贴切一些。要具体怎么实现就是见仁见智了。以现代计算系统作为基石,考虑如何讲MBSE活动嵌进去,定义一套能计算的编程语言,能通过编译器(建模工具)转换到计算系统上(例如x86/arm和win/linux系统上运行),根据实际建模需要定义一些“语言糖”等来平衡人和机器对模型的理解(这个活动也可以在工具中再定义,参考DSL思路)。有了建模语言,建模工具就好办了,工具其实就是对这套语言规范的解释/编译和封装,然后再提供一些不同角色的特定视角,例如可靠性要看当前的FEMA,架构师要看当前需求满足度等,根据不同业务可以在实践中进化积累。
7、模型价值扩展:有了上一步后,计算机已经可以“理解”产品设计了,这时候可以引入仿真引擎,来对系统模型开展仿真验证,例如接入model checking的工具,开展功能的设计验证活动,以及设计空间探索DSE等相关的工作。到这一步就可以自由发挥了,此处可以参考LLVM框架,建模工具有类似前端(clang/gcc)功能将设计模型转换为类似.o文件的组件,后端根据需要输出对应的信息导入后端工具,甚至集成为或被集成到一个IDE中,如被设计者桌面集成等。此时产品的设计模型只需要遵循建模语言规范,建模工具是一个解释交互的平台,最后产品的模型和本质上是和具体的工具“无关”的。
这几个阶段有些是同步开展的,互相促进和提升,前四个偏工程,即看别人怎么做的,我们也来跑一跑,通过公实际项目加深对MBSE的理解;后面三个阶段是技术往下扎,定好规范,打牢基础,这部分直接影响未来的技术发展路径。类比几何引擎(ACIS,Parasolid)之于CAD,求解器(达索有限积分法CST,ANSYS有限元HFSS,Altair矩量法FEKO)之于电磁CAE,EDA(Synopsys,Cadence,Mentor Graphics)之于芯片等,你说重要不?
到目前为止,依然认为MBSE是一个非常好的理念,能让产品研发流程中的最后一块工作---即前端设计也能融入到目前构建的计算体系的基石上,面对越来越复杂的系统,能让计算机更多的辅助设计。
让计算机更多参与到设计中来,目标是设计即正确。
说明:本文讨论七级阶段主要从MBSE技术成熟度的角度分析,本文讨论的MBSE范围也限于产品研发活动的设计环节。