一种基于元模型的SysML模型到X语言模型的转换方法

    专利2026-08-27  5


    本发明涉及模型转换,特别是涉及一种基于元模型的sysml模型到x语言模型的转换方法。


    背景技术:

    1、在系统工程领域,mog组织提出的系统建模语言sysml具有图形可视化,无歧义等优点,因此基于模型的现代工程(mbse)方法就逐步替代了传统的基于文本的系统工程方法。但是sysml缺乏对物理模型的描述,系统集成阶段还是采用物理系统集成的方式,导致开发效率低下,因此需要结合物理建模语言(例如modelica、matlab/simulink)进行复杂产品设计和仿真集成;或者通过与物理建模语言的映射关系,实现系统模型和物理模型的自动转化。

    2、x语言的设计目标是提供一种实现对复杂系统全流程(需求、设计、验证等)、多领域(机、电、液、控等)、多粒度(零部件、组件、设备、子系统、系统乃至体系)、多特征(连续、离散、混合等)一体化建模仿真语言,基于x语言,可以真正实现对复杂系统的全流程、多领域、多粒度、多特征的一体化建模仿真,使得整个研发过程易追溯、便于维护,真正做到缩短复杂产品研发周期、降低成本、提高效率。

    3、在推广x语言时,企业有很多之前使用sysml建立的模型,将这些已经存在的sysml模型转换成x语言模型,可以节约企业时间,也可以增强x语言的适配性。目前国内外对不同语言模型之间的转换有不少研究,有人使用元模型的方式进行模型比对以及模型转换,有人使用混成接口自动机等方法。且目前市面上有较多使用系统建模语言sysml建立的模型,使用x语言建立的系统模型较少,为了在企业中推广x语言,需要一种将市面上已有的sysml模型转换为x语言模型的方法。

    4、现有技术中,张政等人基于sysml和modelica元模型的定义,以modelica元模型为基准,从结构、行为和公共元素三个方面定义了sysml扩展m-design,之后构造了设计和仿真模型映射规则,对元模型映射规则进行了定义。其缺点在于:在目前,模型映射规则对于modelica的元模型定义不够完整,有一些复杂的元模型并未定义,且转换得到的语言模型并不是x语言模型,缺失对于模型的需求、用例等元素的转换。

    5、现有技术是为了将系统建模语言sysml的模型转换成物理建模语言,例如modelica,matlab等,但在转换的过程中,忽略了系统建模语言中的需求部分、结构部分等。例如现有技术一在对sysml模型进行转换时,只讨论了模块定义图、内部模块图、参数图和状态机图,并没有对sysml模型的其他五大类图进行讨论转换,造成了在模型转换的时候的语义缺失情况。

    6、总之,亟需一种将sysml模型转换为可以进行物理仿真的x语言模型的方法。


    技术实现思路

    1、本发明的目的是提供一种基于元模型的sysml模型到x语言模型的转换方法,能够对于sysml进行全语义的转换,并将不能物理仿真模型运行的sysml模型转换为可以进行物理仿真的x语言模型。

    2、为实现上述目的,本发明提供了如下方案:

    3、一种基于元模型的sysml模型到x语言模型的转换方法,其特征在于,包括步骤:

    4、s1、构建sysml元模型和x语言元模型;

    5、s2、基于元对象机制,在元模型的层次上对sysml和x语言进行对应,建立所述sysml元模型和所述x语言元模型的映射规则;

    6、s3、基于所述映射规则,构建sysml和x语言进行转换的元模型;

    7、s4、基于sysml和x语言进行转换的元模型,构建atl模型转换架构;

    8、s5、使用所述atl模型转换架构将待转换的sysml模型转换为x语言模型。

    9、进一步的,所述sysml元模型包括行为部分、结构部分和需求部分三个部分;所述x语言元模型中定义了连续类、离散类、智能体类、耦合类、连接器类、记录类和函数类共七种特定类,每个特定类都具有图形和文本两种建模方式。

    10、进一步的,所述x语言包括x语言class基类、用例图和需求图,所述x语言class基类包括定义部分、连接部分、方程部分、活动部分和状态部分五个部分,这五个部分都和与之相应的图进行对应、转换。

    11、进一步的,所述基于元对象机制,在元模型的层次上对sysml和x语言进行对应,建立所述sysml元模型和所述x语言元模型的映射规则,具体包括:

    12、sysml元模型的模块定义图bdd对应于x语言class基类的定义部分;

    13、sysml元模型的内部模块图ibd对应于x语言class基类的连接部分;

    14、sysml元模型的参数图par对应于x语言class基类的方程部分;

    15、sysml元模型的状态机图stm对应于x语言class基类的状态部分;

    16、sysml元模型的活动图act对应于x语言class基类的活动部分;

    17、sysml元模型的需求图和用例图分别与x语言的需求图、用例图对应;

    18、x语言class基类的定义部分、连接部分、方程部分、活动部分和状态部分五个部分与x语言元模型直接进行转换。

    19、进一步的,所述s5、使用atl模型转换架构将所述sysml模型转换为x语言模型,具体包括:

    20、将sysml模型转换成为xml元数据交换格式,通过所述atl模型转换架构将其转换成x语言的xmi格式文件,最后通过python程序将所述x语言的xmi格式文件转换成x语言模型。

    21、进一步的,所述将sysml模型转换成为xml元数据交换格式,其转换方法包括:

    22、1)packagedelement

    23、◎表示模块的packagedelement:

    24、xmi:type:表示模块类型

    25、◎表示关系的packagedelement:

    26、xmi:type:表示模块类型

    27、xmi:id:与关系packagedelement里面的ownedend的association对应,

    28、memberend与模块中packagedelement的ownedattribute的xmi:id对应,

    29、2)generalization

    30、generalization是模块类packagedelement元素中的一个子元素,表示该模块具有泛化的子模块;

    31、general:和泛化得到的模块的packagedelement的xmi:id对应,

    32、3)ownedattribute

    33、ownedattribute只存在于模块类packagedelement中,它表示当前模块包含的元素以及与当前模块有关联的模块

    34、xmi:id:若packagedelement与别的模块有聚合、关联关系,则对应于与别的模块的关系的packagedelement的memberend的前半部分;

    35、name:表示模块名称;

    36、type:若packagedelement与别的模块有聚合、关联关系,则对应于别的模块的packagedelement的xmi:id;

    37、association:若packagedelement与别的模块有聚合、关联关系,则对应于别的关系的packagedelement的xmi:id;

    38、4)ownedend

    39、ownedend只存在关系packagedelement中;

    40、xmi:id:与关系packagedelement的memberend的后半部分对应;

    41、type:关系表示packagedelementa模块到packagedelement b模块的关系,则type对应于packagedelementa模块;

    42、5)ownedrule

    43、ownedrule元素与packagedelement元素是并列关系,它表示一种约束关系;

    44、constrainedelement:与模块packagedelement的ownedattribute的xmi:id对应,表示该模块packagedelement含有的某一个属性或者模块中有一个属性;value:具体显示该属性的内容。

    45、进一步的,所述s3、基于所述映射规则,构建sysml和x语言进行转换的元模型,包括:

    46、在eclipse软件,建立sysml的模块定义图bdd、内部模块图ibd、参数图par、状态机图stm、活动图act;

    47、在eclipse软件,建立x语言class基类,包括定义部分、连接部分、方程部分、活动部分和状态部分五个部分;每个部分包括类名称、类属性、端口、值属性、参数属性、导入和继承,除了类名称、类属性是唯一的以外,其他的多重性都是0..*,也就是0到无穷的多重性,他们的类型都是string类型。

    48、根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的基于元模型的sysml模型到x语言模型的转换方法,基于元模型和元对象机制对sysml模型和x语言模型进行了元模型的构建,之后通过元模型映射的方式建立sysml元模型和x语言元模型的对应,最后通过atl模型转换架构实现模型的转换,本技术将不能进行物理仿真的sysml模型语义完整地转换到可以进行物理仿真的x语言模型,实现从需求分析到模型构建再到物理仿真一体化建模仿真。将sysml的所有语义都在x语言中进行了对应:不仅对于传统模型转换中bdd、ibd、par和stm进行了转换,还对sysml中其他的图形都在x语言中进行了对应;使用元模型的转换方式,结合xmi格式,对模型进行转换,实现了sysml模型到x语言模型的自动转换。


    技术特征:

    1.一种基于元模型的sysml模型到x语言模型的转换方法,其特征在于,包括步骤:

    2.根据权利要求1所述的基于元模型的sysml模型到x语言模型的转换方法,其特征在于,所述sysml元模型包括行为部分、结构部分和需求部分三个部分;所述x语言元模型中定义了连续类、离散类、智能体类、耦合类、连接器类、记录类和函数类共七种特定类,每个特定类都具有图形和文本两种建模方式。

    3.根据权利要求1所述的基于元模型的sysml模型到x语言模型的转换方法,其特征在于,所述x语言包括x语言class基类、用例图和需求图,所述x语言class基类包括定义部分、连接部分、方程部分、活动部分和状态部分五个部分,这五个部分都和与之相应的图进行对应、转换。

    4.根据权利要求1所述的基于元模型的sysml模型到x语言模型的转换方法,其特征在于,所述基于元对象机制,在元模型的层次上对sysml和x语言进行对应,建立所述sysml元模型和所述x语言元模型的映射规则,具体包括:

    5.根据权利要求1所述的基于元模型的sysml模型到x语言模型的转换方法,其特征在于,所述s5、使用atl模型转换架构将所述sysml模型转换为x语言模型,具体包括:

    6.根据权利要求5所述的基于元模型的sysml模型到x语言模型的转换方法,其特征在于,所述将sysml模型转换成为xml元数据交换格式,其转换方法包括:

    7.根据权利要求1所述的基于元模型的sysml模型到x语言模型的转换方法,其特征在于,所述s3、基于所述映射规则,构建sysml和x语言进行转换的元模型,包括:


    技术总结
    本发明公开了一种基于元模型的SysML模型到X语言模型的转换方法,涉及模型转换技术领域,该方法包括步骤:S1、构建SysML元模型和X语言元模型;S2、基于元对象机制,在元模型的层次上对SysML和X语言进行对应,建立所述SysML元模型和所述X语言元模型的映射规则;S3、基于所述映射规则,构建SysML和X语言进行转换的元模型;S4、基于SysML和X语言进行转换的元模型,构建ATL模型转换架构;S5、使用所述ATL模型转换架构将待转换的SysML模型转换为X语言模型;本发明能够对SysML中的包图和序列图之外的语义转换,并将不能物理仿真模型运行的SysML模型转换为可以进行物理仿真的X语言模型。

    技术研发人员:陶怡然,张霖,陈真,谢堃钰
    受保护的技术使用者:北京航空航天大学
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-101204.html

    最新回复(0)