国产MBSE建模工具之MetaGraph
MetaGraph基于多架构统一建模语言Karma实现基于模型系统工程相关语言建模,架构驱动,代码生成,指标分析验证及需求验证工具。Karma语言是特定域建模DSM组织(http://www.dsmforum.org),IoF国际本体组织(https://www.industrialontologies.org/),中国系统工程学会科普工作站(http://www.ccose.org/)及全国信标委员会软件与系统工程分会认可的支持MBSE的多架构建模语言。

图 1 原理图
1 概述
复杂系统的需求论证方式需要适应新的系统研发形势发展。未来复杂装备呈现出体系交互的新特征,论证不仅要考虑单一系统,更要考虑多系统之间的交联关系,使得复杂装备需求描述的复杂性持续增加,按照传统的基于有限的需求开展的文档设计的论证方式生成的系统能力将很难满足未来的体系使用及交互需求。
实现复杂系统快速准确设计是目前装备研发的需求。传统的设计-制造-试验的研制模式,在设计早期缺乏对系统整体功能和性能的考虑,系统综合集成验证不够,需要变革复杂系统的研发制造方式,开展系统各层级的虚拟综合和持续验证,实现在虚拟世界充分迭代。
近年来武器装备的复杂程度增加,其系统变量越来越多、目标或任务也越来越多、硬件/软件越来越复杂,同一单位不同研发部门之间的建模软件都存在很多的差异,导致采用传统的基于文档进行产品设研发手段单一,流于形式,效率低下,较难形成一套真正的复杂装备的标准化、协同化、自动化和智能化开发方法。与此同时,随着大数据、物联网带来的数字化转型浪潮,诸多装备设计及开发企业对产品创新的需求也越来越迫切。对于产出装备的效率、效能及可靠性也提出了更高的要求。因此,急迫切的需要为复杂系统的研发企业提供一套可靠、高效、可以激发创新性的数字化研发手段。
基于模型系统工程被认为是解决上述问题的关键技术。基于多架构建模语言的多架构建模工具更是对基于模型系统工程的落地的强有力支撑。用户在基于模型的软件工具环境中,高效的建立各种专业模型,如针对模型发动机的研发流程及需求架构模型等,进而实现复杂装备产品开发过程中的自动化开发。首先,客户通过对基于模型系统工程相关技术进行学习,了解相关原理及技术点,通过对工具的使用,完全实现对产品开发过程中的信息进行的模型化表达。其次,通过相关验证手段,实现对需求初期的指标验证。最后,针对产品开发过程,采用有限状态机仿真及联合仿真技术实现系统级的集成验证。
2 主要功能
- 实现不同通用建模语言及框架的模型库开发及建模,如UML, SysML, BPMN, Capella, DoDAF, UAF等。
- 实现特定域建模语言基于框架的模型库开发及建模,如EAST-ADL等。
- 可定制的架构驱动,即工具中架构模型之间的自动传递及转化。
- 可定制的代码生成,即工具中架构模型向其他代码及数据的自动传递及转化。
- 实现基于Karma语言的指标分析及验证
- 实现基于Karma语言的需求验证
- 支持模型与本体的信息的相互转化
3 主要特点
- 以文本可读的形式化语言表达MBSE模型
- 可以执行架构驱动与代码生成
- 支持模型状态机和系统架构的指标分解验证
- 支持自动执行联合仿真及故障树分析
4 方案构建
MetaGraph 的核心理念是基于多架构建模语言Karma,即 “文本可读的形式化语言”对复杂装备的需求、功能、逻辑、架构等系统工程视点进行建模,并通过仿真分析及测试来验证指标的满足性及需求验证等。借助MetaGraph不仅可以在系统开发的早期阶段形式化其需求、功能、逻辑、架构等视点,还可以在系统方案初步确认前的概念设计阶段检查系统设计是否满足需求规范,从而极大地降低产品开发的成本与风险。
5 支持统一的MBSE语言形式化及建模
MetaGraph通过Karma语言实现对元模型及模型的形式化描述,Karma语言是一种面向对象的可读的文本语言,有关模型的所有信息及数据都保形式化在Karma语言中,包括GOPPRR元元模型、元模型以及模型。Karma语言形式化模型支持面向对象的语法,例如“继承”,“封装”等。
6 支持可定制架构驱动
MetaGraph支持用于架构驱动的模型自动转换,通过架构驱动器实现一种模型(源模型)向其他模型(目标模型)的转换,其中转换源模型及目标模型可以用不同的建模语言表达,例如从需求模型自动转换为物理架构模型。
架构驱动器通过Karma语言编写模型转换规则,定义模型之间的映射规则,实现架构驱动的可定制化,架构驱动器预置了常用的规则模板。
7 支持可定制代码生成
MetaGraph支持自动生成目标代码以及报告文档。通过代码生成器将模型中的信息自动转换为目标代码,实现模型数据向其他平台的传递及转化,例如通过物理架构生成Simulink的M代码实现Simulink仿真模型自动生成,生成Modelica代码实现验证确认模型的自动生成,生成XML文档实现模型数据在网页端的展示。
MetaGraph代码生成器通过Karma语言编写代码生成规则,进而实现目标代码的可定制化。代码生成器提供了完整的代码生成规则模板,例如“属性输出”“元素遍历”“文件输出”“逻辑判断”等规则模板,此外,代码生成器也预置大量Karma语言编写的生成器,例如可自动生成模型结构的XML文档等。
8 支持指标验证及需求验证
MetaGraph使用Karma语言对需求指标进行建模、仿真并验证。MetaGraph中包含了丰富的时间与逻辑运算符,例如:“当…时”,“如果”,“大于”,“只有”等。通过对需求指标按照运算符进行逻辑公理描述,并验证需求指标中是否满足公理描述;通过对仿真结果的观察,来验证需求规范中是否存在冲突与缺陷,进而保证了需求规范的正确性。
MetaGraph可以根据需求描述自动生成符合需求的测试用例,也可以在MetaGraph中使用Karma描述并执行形式验证。
9 支持有限系统行为动态仿真
Karma语言支持对系统行为及体系活动流程描述以及仿真。在用Karma语言对系统行为及体系活动流程进行描述时,主要包括对系统行为及体系活动流程中一些仿真变量的定义,以及系统行为中的一些状态、触发事件、时间等的描述。最后进行系统行为及体系活动流程仿真,通过仿真结果(系统行为及体系活动流程中变量随时间的变化情况)对变量进行分析,验证其是否满足要求。
10 支持验证的集成扩展性
MetGraph支持其模型向本体转化,并导入集成仿真验证工具Prajna实现基于FMU的联合仿真、基于HLA或DDS的分布式仿真、基于贝叶斯网络的故障树仿真及决策树仿真。
11 客户案例
- 航天三院三部(用于建立某型号复杂装备开发过程中的需求)
- 201所(用于建立某型号复杂装备开发过程中的需求)
- 国家海洋实验室(用于某型信息物理融合平台搭建)
- 606所(五代机基于模型需求分解)
- 29所(体系仿真及验证)
- 兵器集团(体系结构设计、建模及验证)
12 工具界面

图 2 Karma支持体系生成

图 3 SysML案例

图 4 Karma语言支持有限状态机仿真

图 5 Karma语言支持指标验证

图 6代码生成支持功能