从开始系统学习SYSML,到完成最后的Advanced认证,有一些经验体会,整理下来,和大家一起交流学习。
对于MBSE的了解,都有一个从概念到具体,从抽象到实际的过程。语言的用处,也是在和同行以及军工行业接触交流挺长时间才感觉到。和某单位交流MBSE项目的时候,介绍MBSE相对于基于文档的系统工程的优势,意识到其实MBSE的优势,很大程度是计算机语言相对于自然语言的优势,要真正的实施MBSE,必须要熟练掌握一种系统建模语言,这是MBSE落地的一个重点,也是难点。
方法论,语言,工具,类似战略战术和装备的关系。好的战略和好的装备,要在一个个具体的战术中去实现;在MBSE的实施中,好的方法论和建模工具,也要在一个个图组成的系统模型中来体现。如果不能熟练掌握语言,就不能建立良好的系统模型,会影响MBSE的实施。
Sysml可以支持多数的MBSE方法论,在国内的应用中,也是最广泛的,语言的工程应用在于沟通,所以选择SYSML做深入学习的方向。认证考试,是检查自己掌握程度的客观方法。也是学习成果证明。
一、 OMG、SYSML和OCSMP考试
OCSMP是Omg-certified Systems Modeling Professional的首字母缩写, OCSMP认证评估候选人对基于模型的系统工程概念的知识,尤其是SysML的知识。在通过考试的基础上授予以下四个级别的认证:
• OCSMP Model User
• OCSMP Model Builder – Fundamental
• OCSMP Model Builder – Intermediate
• OCSMP Model Builder – Advanced
对应的考试分别是OMG-OCSMP-MU100、OMG-OCSMP-MBF200、OMG-OCSMP-MBI300、OMG-OCSMP-MBA400。 从MU100、MBF200、MBI300到MBA400,相关的SYSML语言内容从知识点覆盖程度、深度、灵活运用程度各方面不断提高,难度也相应提高。
1. OCSMP认证将SysML分为两个功能集:基本集和完整集。
2. OCSMP认证计划的前两个级别MU100和MBF200使用SysML的基本功能集。
3. MBI300使用SysML的全部完整功能集。
4. MBA400考察系统建模的更一般的问题,如元模型建模、方法论、其他模型工具集成、其他语言的集成。
5. OCSMP没有涵盖版本1.2以上的SysML版本。
二、 MU100相关
MU100考试范围是基本概念集,主要是概念的题,图的题不多,不会涉及易混淆的细节部分,下面介绍OMG官网提供的参考资料和一些体会。
1. A Practical Guide to SysML: The Systems Modeling Language – Second Edition
这本书是考试的主要参考资料,从100到400的考题大部分来源于这本书,大概覆盖了80%以上的考试范围。已经有第三版。
这本书的特点就是比较全面完整,但是相对抽象,个人感觉不是太适合的入门书籍。简单说就是这本书需要了解一定的SYSML基本概念,和比较好的英文阅读能力。选书中的一个句子,大家感觉一下:
“All the action executions within an execution of an activity are terminated when the activity is terminated。”
里面有action,activity,execute,terminate这些基本的概念在SYSML有特定的含义,读的时候要厘清。
这本书建议是重点学习,但不要当做入门的第一本年教材。下面两本书感觉是较好的入门学习选择。
2. Systems Engineering with SysML/UML: Modeling, Analysis, Design
这本教材适合当做SYSML(以及MBSE)的入门资料,里面覆盖的基本是完整集,涉及到了又没有太深入,内容难度较低,学起来比较有成就感。到后面的复习会感觉这本书比较简单,也就基本不是主要的学习参考资料了。
3. SysML Distilled: A Brief Guide to the Systems Modeling Language
这本书有中文的版本《SYSML精粹》,朱艳兰 译,里面的概念比较基础,可以中文英文对照着学习,概念的中英文翻译能对应起来,适合当做循序渐进的第一本学习资料。
4. The OMG SysML Tutorial,INCOSE介绍SYSML的PPT,比较概括。
5. Simulation-Based Design Using SysML. Part I: A Parametrics Primer,
关于参数图的一篇文章,不长。
6. Hybrid SUV Example (downloadable free):
SysML Specification 的 Annex B, 很多SYSML建模软件如EA的的示例用的这个例子。
7. The SysML Specification, V1.2 规范200多页,并不难理解,建议读一遍。
8. SYSML的概念在这些教材里,不是完全一致的,例如状态机图中的transition概念,可以是:
< trigger > [guard] /< effect >,或者
< trigger > [condition] /< behavior >,或者
< event > [guard condition] /< action >
这种情况要对比理解。
9. SYSML学习的特点是抽象概念特别多,相对来说图例就少了,所以还是建议相关的资料都读一遍,图看到的多了,概念也就自然理解了。
10. MU100这个级别考试并不难,90道题56分就能过,觉得差不多去考试就可以了,肯定能过。
三、 MBF200相关
MBU200涉及的主要还是基本集,但是难度增加了很多,考察的除了概念还有图的细节。这个级别考完会发现,考试比想象的要难。很多的地方以为知道了,其实细节没有留意,而考的就是细节。下面介绍一下相关的学习体会:
1. 这个级别的参考学习资料和MU100是一样的,没有增加新的,主要的还是学习的细致程度。
2. 《A Practical Guide to SysML: The Systems Modeling Language》这本书是重点要看的,考完MU100会发现考试范围就在这本书里,MBF200也是的,80%以上在这本书里。
3. 关于状态机图,组合状态是重点,组合状态又分为single REGION 和Multiple REGONS,要认真的多看几遍。
4. 关于活动图,initial node和状态机图的initial pseudostate 图示一样,activity final node 和状态机图的final state图示一样,这个地方要厘清。
5. 具体的细节还有很多,就是要多看几遍书。
6. 实际的MBF200考试中,并不是严格的限定在基本概念集,会有超出的地方,建议复习的时候把全部概念集都看一遍,再去参加考试。
7. 考试90道题60分通过,建议认真看书,不要有侥幸心理。