System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及模型转换,特别是涉及一种基于元模型的sysml模型到x语言模型的转换方法。
技术介绍
1、在系统工程领域,mog组织提出的系统建模语言sysml具有图形可视化,无歧义等优点,因此基于模型的现代工程(mbse)方法就逐步替代了传统的基于文本的系统工程方法。但是sysml缺乏对物理模型的描述,系统集成阶段还是采用物理系统集成的方式,导致开发效率低下,因此需要结合物理建模语言(例如modelica、matlab/simulink)进行复杂产品设计和仿真集成;或者通过与物理建模语言的映射关系,实现系统模型和物理模型的自动转化。
2、x语言的设计目标是提供一种实现对复杂系统全流程(需求、设计、验证等)、多领域(机、电、液、控等)、多粒度(零部件、组件、设备、子系统、系统乃至体系)、多特征(连续、离散、混合等)一体化建模仿真语言,基于x语言,可以真正实现对复杂系统的全流程、多领域、多粒度、多特征的一体化建模仿真,使得整个研发过程易追溯、便于维护,真正做到缩短复杂产品研发周期、降低成本、提高效率。
3、在推广x语言时,企业有很多之前使用sysml建立的模型,将这些已经存在的sysml模型转换成x语言模型,可以节约企业时间,也可以增强x语言的适配性。目前国内外对不同语言模型之间的转换有不少研究,有人使用元模型的方式进行模型比对以及模型转换,有人使用混成接口自动机等方法。且目前市面上有较多使用系统建模语言sysml建立的模型,使用x语言建立的系统模型较少,为了在企业中推广x语言,需要一种将市面上已有的sysm
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的本文档来自技高网...
【技术保护点】
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语言模型的转换方法,其特征在于,所述S
6.根据权利要求5所述的基于元模型的SysML模型到X语言模型的转换方法,其特征在于,所述将SysML模型转换成为XML元数据交换格式,其转换方法包括:
7.根据权利要求1所述的基于元模型的SysML模型到X语言模型的转换方法,其特征在于,所述S3、基于所述映射规则,构建SysML和X语言进行转换的元模型,包括:
...【技术特征摘要】
1.一种基于元模型的sysml模型到x语言模型的转换方法,其特征在于,包括步骤:
2.根据权利要求1所述的基于元模型的sysml模型到x语言模型的转换方法,其特征在于,所述sysml元模型包括行为部分、结构部分和需求部分三个部分;所述x语言元模型中定义了连续类、离散类、智能体类、耦合类、连接器类、记录类和函数类共七种特定类,每个特定类都具有图形和文本两种建模方式。
3.根据权利要求1所述的基于元模型的sysml模型到x语言模型的转换方法,其特征在于,所述x语言包括x语言class基类、用例图和需求图,所述x语言class基类包括定义部分、连接部分、方程部分、活动部分和状态部分五个部分,这五个部分都和与之相应的图进行对应、转换。
4.根据权利要求1所述的基于元模...
【专利技术属性】
技术研发人员:陶怡然,张霖,陈真,谢堃钰,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。