MBSE开源软件学习——Capella使用体会兼谈SE工具
Capella是目前在工业界(特别是欧洲航空航天界)广泛应用的一种开源MBSE工具。其最早由Thales于2007年开始开发,并于2015年转交由PolarSys(Eclipse的一个工作组)组织继续维护。其目的在于提供一种针对高安全性要求的复杂系统进行开发建模的图形化环境。
目前,Capella的主要用户包括Thales,Ariane Group, DassaultAviation,Rolls-Royce,SIEMENS等欧洲工业巨头。总的来说,由于有Thales这种业内巨头牵头使用,Capella在欧洲工业界,特别是航空航天业内的使用是相当广泛的。同时,由于系统工程软件目前还处于一个群雄割据的阶段,并没有像CAD领域一样天下鼎定,所以,Capella后续成为一种主流也是很有可能的。
(顺便说一句,基于Eclipse开发的MBSE工具还远不止于一个Capella,还包括ObeoDesigner等。其它非Eclipse开发的就更多了IBM的Rhapsody,Ansys的SCADE Architect等等。在我看来,现在根本谈“主流的系统工程软件”为时尚早,这个市场基本上还处于春秋混战阶段。至于谁能脱颖而出,这取决于谁能构造最完善的生态环境,这一点后面细说。)
2. Capella的优势
说实话,我是不喜欢谈一个工具是好工具或者差工具的,是不是好工具实际上取决于握着它的那之手。屠龙宝刀用于在樵夫眼里可能还不如一把10文钱的斧头好用。因此,一个工具好用不好用,第一取决于用户要用来做什么,第二取决于它趁手不趁手。
因此,我会认为Capella是一个好工具(为了便于阐述,我会以我用过的Rhapsody做比较,但是由于我对Rhapsody的理解并不深,难免有很多错误,欢迎指正)。原因有两个:
第一,Capella更适合没有软件编程经历的系统工程师,Rhapsody更适合具有编程经历的系统工程师。我认为这有很大因素取决于其“血统”。
Capella起源于Thales,这是一家系统公司,至今仍是法国最大的防务系统供应商。当然, 我肯定其中能找到大量精通编程的工程师,但是对其它工程师来说,从业务流思考SOI(system of interest)是更符合思维习惯的。
Rhapsody是IBM的产品。而IBM一直以来是以软件服务为主,因此,旗下的Rhapsody中带有浓重的面向对象的思想,虽然真个系统工程的过程少不了UML/SYSML的介入,但在系统设计的初期,进行Concept分析的时候,对于不属于面向对象概念的人,Rhapsody就显得不是那么友好。
当然,由于引入了DODAF等工具,加上目前的系统工程师对编程能力的重视,这在未来或许不再是一个问题。
第二,Capella的使用成本较Rhapsody低。
在使用成本上,由于Capella本身是开源的,且其内部的数据类型上已经能够支持团队联合开发,对想要在这方面节约经费的公司,一个服务器加几个联网的电脑就可以完成系统建模与开发任务。而Rhapsody由于存在商业Licenses 的问题(最便宜的Licenses单个售价7600刀),对小公司来说是一笔不小的开支。
当然,Rhapsody也有其优势,肉眼可见的就包括更安全、稳定与更便于操作(这里我特别想吐槽一下法国人的软件工业,当然也可能是习惯了美国化的软件UI,从CATIA到3DS再到Capella,想把软件的使用逻辑一以贯之的做到如此的反人类也是挺难的)。Rhapsody的一些具体优势,鉴于自己才疏学浅,就不班门弄斧了。
3. Capella的缺点
说完了优点,就要说缺点了。
在我看来,Capella最大的缺点就是其使用极度的反人类。当然,在我看来这是法国软件的通病。
第一,每进行一次元素Transition的时候,所有的模块的order都会乱成一团。
(热心网友供图,强烈要求注明被Capella折腾了一晚上)
这“玩意”是某人发我的系统功能分析图,每一个绿色的Block是一个功能。你敢想把这玩意调整10遍以上的酸爽?要知道,在Capella中每完成一步后,当你在回头调整,你就要重新做一遍这个。(嗯,我曾经调整这东西到深夜2点半)
第二,说明文档缺失。
评价一个开源工具,其社区与官方文档一定是一个重要标准。但是,作为一个如此复杂的SE工具,其官方文档仅有9个页面,其中还包括一个是UML的简单指南。而官方社区的最新发帖还是2019年12月6日的(今天是2020年3月15日)。而且用到Capella后会发现,你使用中遇到的几乎所有问题,在社区中都难以找到解答。实际上,我在实际使用的过程中,遇到的某些问题在咨询了我们来在Thales 的教授时,他耸耸肩告诉我,“capella就这样,你重启一下”。我:“......”
4. 生态环境
之前说到了SE的工具链,其实我更倾向于“生态环境”这个借用于商业模式分析的词。
正如之前所说,目前系统工程工具还都是处于群雄逐鹿的阶段,各家都有各自的独门绝技,但是最终谁能成为市场的巨头,成为业界的主流?在我看来,还是取决于谁的生态环境更完善。
之前说过,系统工程的意义在于保证项目能够正常盈利。因此,向外,SE工具能够无障碍接入整个工业环境软件集就成为一种必须,谁能向现有的商业分析、项目管理、工业生产、售后服务软件无缝衔接,或者谁能提供整条完整的工业IT服务解决方案,谁就能在这场比赛中胜出。
(当然,在我看来提供整套IT解决方案并不现实,因为对IT服务提供商来说,这块蛋糕对IT服务提供商太大,足够喂饱一个联盟性的组织。而对企业来说,不但牵涉与上下游的数据交换与对接,还包括软件更换的时间与财务问题,成本过高。)
而目前在这一方面,Capella与Dassault system的3DS有着先天优势(毕竟Dassault集团是Thales的大股东之一)。而Ansys的SCADE Architect也正在发力,想要通过SCADE向上下游延伸,构建完整的工具集。
总的来说,Capella就好像系统工程工具中Android,以Rhapsody为代表的Rational系列好像IOS,一个开源一个封闭。开源环境可以通过免费、自由的特点吸引大量的同盟参与,从而实现快速迭代与产品项目的演进,从而衍生出适用于不同工业领域的不同分支。而封闭的环境则更加稳定、安全,这在复杂系统,特别是航空航天系统设计中是首要的目标。
4. 总结
原先本文是想说Capella的,但是一不留神发现说到系统工程的软件上去了,不过既然是番外,也就不求多紧扣系统工程的主题了。想到哪儿说哪,下次再见了。咱们下次说系统工程的重要部分——需求工程。
文章来源:胡言乱语话春秋