M-Design V2
基于SysML v2文本语言的模型构建
SysML v2引入文本语言新特性,支持以自然语言方式表达模型,降低建模门槛并提升表达精度。文本语言可用于模型构建、静态与动态校验,以及标准化模型交付与集成,解决v1中表达式能力不足与异构工具协作难的问题。华望M-Design v2支持该特性,助力跨单位、跨平台的模型协同与数据互通。

基于SysML v2文本语言的模型构建

 

 

SysML v2在原有的图形交互功能之上,引入了文本语言这一新特性。通过形式化的语句,模型中的信息可以清晰地用文本语言表达出来。这一特性的加入,使用户有更多的机会和条件进行模型的相关操作,同时也提升了模型的表达能力,使得对模型定性和定量的描述更为精确。文本语言的引入为SysML v2带来了多方面的益处:

(1) 相较于模型,文本语言属于自然语言,更容易被理解;

(2) SysML v1无法直接描述表达式,需要借助其他语言构建不透明表达式。SysML v2的表达式功能和文本语言可以解决这个问题,工程师可以直接在文本中编写表达式;

(3) 利用文本语言作为交付和集成的格式,可统一上下游或者不同设计工具之间模型数据集成的格式,由此将降低各个单位、部门之间的协作难度。

本文将从基于SysML v2文本语言的模型构建、模型校验、模型交付与集成三个方面描述文本语言的作用和优势。

 

 

01 基于SysML v2文本语言的模型构建

与SysML v1不同,在模型构建过程中SysML v2的大多数结构和属性通过关系进行描述(如表1所示)。例如在需求图中,SysML v2中的需求模型不再使用text属性存放需求的具体内容,而是通过Documentation承载需求文本,并在需求和Documentation之间创建Annotation关系。在结构定义图中,part之间的层级关系则使用Feature-Membership进行描述。

此外,SysML v2摒弃了SysML v1中的多种复杂元素,统一了多种元素(Feature、Usage、Definition等),这种变化的好处在于能简洁明了地表达建模元素的功能和作用、降低建模的门槛。但也产生了一些问题:(1)基于图形的建模步骤变得更加繁琐;(2)模型之间的各种关联由于需要通过建立的关系进行描述,造成模型结构变得复杂。

表1  SysML v1与v2模型差异对比

 

SysML v2引入的文本语言功能很好地解决了上述问题并在很大程度上精简了建模流程。以图1所示"柴油发动机系统"为例,左图的模块定义图定义了多个子系统,包括"起动子系统"、"润滑子系统"、"冷却子系统"、"燃油供给子系统"等,每个子系统都有其特定的定义。图1右图展示了该结构设计对应的文本语言示例,其中运用了"part"和"part def"关键字指明各元素的类型,并在其后紧随其名称。若模型被赋予了特定的类型,则在该类型的限定名后使用冒号进行标注。模型的层级结构通过大括号直观地展现,子元素被包含在对应父元素的大括号之内。对于"Connection"等特殊元素,则通过特定的符号进行标识,如"connect 柴油发动机系统.起动子系统 to 柴油发动机系统.润滑子系统",这种表达方式清晰且易于理解。

 

图1  文本模型对应案例

 

建模过程的模型调整十分便捷,只需直接将相应的文本内容进行修改即可。以上述案例为例对层级结构进行调整,将"润滑子系统"放入"起动子系统"中,并新增"进排气子系统"作为柴油发动机系统的另一个子系统,同时为其设置了定义。此外,还可以对连接器的两端进行更新,将连接从"起动子系统"改为"冷却子系统"。图2展示了文本修改后的结果与更新后的模型。

 

图2  文本修改模型同步案例

 

SysML v2文本语言的优势

(1)易上手、易理解

相较于复杂的图形关系结构,自然语言门槛低、通俗易懂;

(2)建模工作量降低

通过基于文本的方式可减少元素设计所致的SysML v2图形建模的复杂性。

 

 

 

02 基于SysML v2文本语言的模型校验

模型校验是保障模型质量不可或缺的重要环节之一。借助SysML v2的表达式机制,可以在开发的早期阶段对所设计的模型进行校验,确保模型符合既定的标准和规范,从而有效预防设计错误以及可能存在的非一致性。与SysML v1相比,SysML v2的表达功能得到了显著增强。在SysML v1中,表达式仅限于从默认值中提取信息而用于逻辑仿真。在SysML v2中,表达式的输入可以是一个或多个模型实体,且引入了如Select  Expression等选择表达式,这些表达式允许进行条件筛选。此外,表达式中可嵌入if-else等条件语句以实现基于不同逻辑条件的多样化输出,不仅增强了模型的静态校验能力,也为动态校验提供了强有力的支持。

 

1.基于文本语言的静态校验

以"获取柴油发动机子系统所有质量"为例进行表达式构建,其建模结果如图3所示。在该表达式中,表达式树的根节点是选择表达式(Select Expression),由主要表达式和一个表达式体组成,中间用点问号(.?)符号分隔。表达式体需要输入一个参数,输出结果为布尔类型。该表达式体对主要表达式的每个输出值依次做出计算,只有当表达式体返回“真”时,对应的输出值才会被包含在最终的选择表达式结果中。

以"柴油发动机"为例,主要表达式代表了柴油发动机的成员集合。为获得这个集合,首先需要创建一个操作符为meta的操作表达式(Operator Expression)以获取元模型。此表达式的输入是一个特征引用表达式(Feature Reference Expression),用来指定柴油发动机作为输入,其输出是柴油发动机的元模型定义,即Part-Definition。使用特征链表达式(Feature Chain Expression)以获取"柴油发动机"元模型中的ownedMember属性,并使之成为主要表达式。

表达式体同样也是一个特征链表达式,它接受与主要表达式相同类型的对象作为输入,并产生布尔值作为输出。表达式体将遍历主要表达式的输出值集合并对此进行评估,仅当表达式体的结果为“真”时,对应的输出值才会被作为选择表达式的输出结果。

图3  质量获取表达式

通过上述介绍可以看出,一个相对简单的表达式在图形建模过程中需要许多步骤。因此,在SysML v2的表达式建模中,通常将表达式嵌入到文本语言中,通过文本语言生成对应的表达式模型,从而减少建模的工作量。图3(上)所示的表达式模型根据其结构将生成图3(下)的文本。

在该文本中,首先获取的是柴油发动机的元模型,根据其属性ownedMember以获取该模型下的所有成员信息。将成员信息视为一个集合,通过选择语句(select)过滤数据。在选择语句体中,选择子系统的质量属性并进行输出。

 

2.基于文本语言的动态校验

上述案例是模型的静态校验,虽然在一定程度上能够帮助工程师校验模型的正确性,但其操作仍旧比较繁琐,需要针对一个案例编写一个表达式。因此,在SysML v2表达式的新特性中引入了if-else逻辑判断语句。

通过if-else语句构建动态校验系统质量的表达式,拟定规则"所有子系统质量总和不得超过10000,如果未超出10000则正常输出数据,如果超出10000则输出error"。将上文中静态结构的result作为上述表达式的输入。由于ownedMember是个变量属性,因此它的质量集合会随着子系统的增加而增多。在该表达式中通过sum语句对集合求合,使用操作表达式(Operator  Expression)进行数据比较,以此来判定输出的数据为正常数值还是error。模型结果如图4(上)所示,生成的文本表达式如图4(下)所示。

图4  质量判断表达式

 

 

SysML v2文本语言的优势

(1)更强的功能

SysML v2的表达式可以嵌入到文本语言中,无需仿真即可通过静态和动态的方式校验模型的正确性,有效克服了SysML v1的表达式只能通过设置默认值为表达式提供初始值的缺点;

(2)可提前校验模型的正确性和一致性

SysML v2中的表达式能够应用于建模阶段并提前校验模型的正确性,可以很好解决SysML v1中需要在逻辑仿真阶段才能校验模型正确性和一致性的困难,有效减少了后续返工的出现。

 

 

 

03 基于SysML v2文本语言的模型交付与集成

模型如何更好的交付与集成一直是各个协同单位之间亟需解决的问题。针对该问题,开发了基于SysML v2文本语言的模型下发集成功能,旨在通过一套标准化的SysML v2文本语言以表达指定项目、指定模型的完整数据信息,在技术上实现与工具和平台无关的信息下发。利用文本语言作为集成下发格式,可统一上下游或者不同设计工具及平台之间的集成格式,从而降低各个单位、部门之间的协作难度。基于SysML v2文本语言的下发集成架构设计方案如图5所示。

图5  下发集成架构

 

基于文本的模型集成分为文本解析、数据转换、数据处理、数据细节处理、数据持久化与备份等多个部分,其技术路线架构如图6所示:

1.文本解析

对于以文件形式存储的数据,使用文件读取库来读取其中的SysML v2文本数据,并将其转换为适当的数据结构。根据不同的文件格式,选择相应的解析库或工具进行处理。这是获取非结构化数据的主要方式,可以从各种类型的文件中获取数据,进而得到固定实体类格式的数据;

2.数据转换

根据需要将获取的SysML v2文本数据进行格式转换,以便完成后续的处理和分析,并使用数据转换库进行数据格式的转换和清洗。首先,将获取的数据转换为统一的实体类(模型、属性)数据格式,去除重复数据或异常数据;随后进行数据类型的转换和标准化以确保数据的质量和可用性,最终使得数据能够被系统有效地处理和分析;

3.数据处理

在数据集成过程中,可能会遇到各种错误和异常情况。设计适当的错误处理机制,通过异常捕获、日志记录、请求重试等方式来处理错误情况。当发生请求超时的情况,记录入日志并发起重试请求,直到请求成功或达到最大重试次数。采取该机制能够保证系统的稳定性和可靠性,降低数据获取和处理过程中的风险和不确定性;

4.数据细节处理

SysML v2文本数据中可能会存储Data、Real等相关类型的数据,将不同格式的数据转换为统一的标准格式,例如日期格式、数值格式等,以便于数据的后续处理和分析;

5.数据持久化与备份

为保证数据长期稳定的存储,可将数据持久化到本地特定位置内以保证数据的可恢复性与可操作性。此外,可采用数据加密、访问控制等措施来实现数据的安全。此外,定期进行数据备份以及在不同的时间点创建数据的备份副本,确保在需要时可以进行数据的恢复。

 

图6  SysML v2文本集成技术架构

 

 

SysML v2文本语言的优势

(1)解决了模型交付格式混乱的问题

相较于复杂的图形关系结构,自然语言门槛低、通俗易懂;

(2)解决了以往文件数据解读难的问题

以XML格式存储的数据,普遍具有存储规则不统一、数据错综复杂、数据难以理解等问题。以标准文本语言为主的数据文件则有效避免了该问题;

(3)解决了模型集成难、互通难的问题

利用统一的SysML v2文本语言,各协作单位只需将关注点放在文本语言上,即可完成文本语言的交付和集成。

 

 

他们都在用华望数字化设计平台
凭借优秀的产品质量及稳定的技术服务实力,获得多个行业头部企业与高等院校支持
中国载人航天工程中心
国家航天局探月与航天
工程中心
中国航天科技集团
有限公司
中国航天科工集团
有限公司
清华大学
中国广核集团
有限公司
中国核工业集团
有限公司
国家核电技术公司
中国电子科技集团
有限公司
浙江大学
中国船舶集团
有限公司
中国科学院
中国航空发动机集团
有限公司
中国航空工业集团
有限公司
北京航空航天大学
华为技术有限公司
上海电气新能源发展
有限公司
中国铁道科学研究院集团
有限公司
中国兵器工业集团
有限公司
国防科技大学
中国兵器装备集团
有限公司
中国卫星网络集团
有限公司
中国东方电气集团
有限公司
中国工程物理研究院
西北工业大学