CN103092594B - 模型转换方法及装置 - Google Patents
模型转换方法及装置 Download PDFInfo
- Publication number
- CN103092594B CN103092594B CN201110348265.7A CN201110348265A CN103092594B CN 103092594 B CN103092594 B CN 103092594B CN 201110348265 A CN201110348265 A CN 201110348265A CN 103092594 B CN103092594 B CN 103092594B
- Authority
- CN
- China
- Prior art keywords
- model
- metadata
- data information
- structured data
- universal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开一种模型转换方法,包括获取结构化模型元数据;调用与结构化模型元数据的格式类型相对应的元数据解析插件,解析结构化模型元数据,获得结构化模型结构数据信息;创建用于传递结构化模型结构数据信息的通用模型;根据结构化模型结构数据信息,向通用模型结构写入相对应的结构数据信息;获取通用模型结构数据信息;创建UML模型,根据通用模型结构数据信息,向UML模型写入相对应的结构数据信息。此外,本发明还公布了相应的模型转换装置。本发明用于将结构化模型转换为UML模型,可以封装通用模型与UML模型的转换逻辑,以及支持不同元数据格式的结构化模型与通用模型的转换逻辑的封装和扩展。
Description
技术领域
本发明涉及计算机领域,具体涉及一种模型转换方法及装置。
背景技术
统一建模语言(UML,UnifiedModelingLanguage)作为业界通用的模型描述,具有统一标准、面向对象和直观的图形表达方式等优点。但软件开发过程中所建立的结构化模型并非都是采用UML来建立模型,而是采用其他语言来建立模型。其他语言多是文本形式的表达,缺乏直观的图形描述,不易于理解分析,如可扩展标记语言(XML,ExtensibleMarkupLanguage)。如果将其他语言的模型转换为UML模型,无疑将克服其他语言不够直观的缺点。例如,在一些企业管理软件的开发过程中,其采用的基于模型驱动架构(MDA,ModelDrivenArchitecture)的开发平台输出的模型一般是私有的,文本形式描述的语言模型,如XML模型,而不支持UML语言,不能输出UML模型。因此,在一般情况下,MDA开发平台输出的结构化模型不能利用UML工具进行模型编辑和集成,无法直观的分析模型,也不能直接利用现有的其他UML模型,影响软件开发效率。因此,将软件开发平台输出的模型转换为UML模型是一个亟待解决的问题。
发明内容
本发明实施例提供一种模型转换方法及装置,用于将结构化模型转换为UML模型。
一种模型转换方法,包括:
获取结构化模型元数据;
调用与结构化模型元数据的格式类型相对应的元数据解析插件,解析结构化模型元数据,获得结构化模型的结构数据信息;
创建用于传递结构化模型的结构数据信息的通用模型;
根据结构化模型的结构数据信息,向通用模型写入相应的结构数据信息;
获取通用模型的结构数据信息;
创建统一建模语言UML模型;
根据通用模型的结构数据信息,向UML模型写入相应的结构数据信息。
优选的,调用与结构化模型元数据的格式类型相对应的元数据解析插件包括:调用元数据解析器工厂,元数据解析器工厂根据结构化模型元数据的格式类型,从元数据解析插件库中调用与结构化模型元数据的格式类型相对应的元数据解析插件。
优选的,结构化模型是可扩展标记语言XML模型。
一种模型转换装置,包括:
第一转换单元和第二转换单元;
第一转换单元包括:
模型解析转换执行子单元,用于获取结构化模型元数据;
调用单元,用于调用与结构化模型元数据的格式类型相对应的元数据解析插件;
解析子单元,用于解析结构化模型元数据,获得结构化模型的结构数据信息;
通用模型创建子单元,用于创建用于传递结构化模型的结构数据信息的通用模型;
通用模型写入子单元,用于根据结构化模型的结构数据信息,向通用模型写入相应的结构数据信息;
第二转换单元包括:
获取子单元,用于获取通用模型的结构数据信息;
UML模型创建子单元,用于创建UML模型;
UML模型写入子单元,用于根据通用模型的结构数据信息,向UML模型写入相应的结构数据信息。
优选的,调用子单元用于调用元数据解析器工厂,元数据解析器工厂根据结构化模型元数据的格式类型,从元数据解析插件库中调用与结构化模型元数据的格式类型相对应的元数据解析插件。
本发明实施例有益效果在于:通过引入元数据解析插件机制,实现不同元数据格式的结构化模型与通用模型转换逻辑的封装和扩展;采用通用模型,将结构化模型与UML模型隔离,实现通用模型与UML模型转换逻辑的封装。因此,本发明只需调用相应的元数据解析插件而无需做其他改动便能够支持不同开发平台的结构化模型向UML模型转换。
附图说明
图1是本发明实施例一种模型转换方法流程示意图;
图2是本发明实施例一种模型转换装置结构示意图。
具体实施方式
本发明实施例提供一种模型转换方法及装置,以下分别进行详细说明。
本发明实施例一种模型转换方法的流程可参考图1,包括步骤:
101、获取结构化模型元数据。
结构化模型元数据可以是XML模型元数据,也可以是MDA开发平台输出的以文本形式描述的模型元数据。
102、调用与结构化模型元数据的格式类型相对应的元数据解析插件,解析结构化模型元数据,获得结构化模型的结构数据信息。
由于不同的模型元数据的格式类型,需要不同的元数据解析器插件进行解析。因此,在调用解析插件时,根据结构化模型元数据的格式类型,需要调用与之对应的元数据解析插件对其进行解析。通过解析,元数据解析插件获取到结构化模型的结构数据信息,该数据信息包括模型名称、继承的父模型名称、属性名称、属性描述、方法名称、作为描述、方法参数等。
元数据解析插件直接实现接口元数据解析器,如果需要解析的是XML格式的元数据文件,元数据解析器可以直接继承抽象类元数据解析器。元数据解析插件可以获取元数据文件参数,包括元数据的路径、文件名等信息。同时元数据解析插件可以设置解析器日志记录装置和元数据处理器。其中元数据处理器实现原始数据处理器接口,可以针对元数据解析进行特殊处理,一般情况可以不予写入;解析器日志记录装置是记录解析过程中的日志,它必须实现解析器日志接口。
103、创建用于传递结构化模型的结构数据信息的通用模型,并根据结构化模型的结构数据信息,向通用模型写入相应的结构数据信息。
所创建的通用模型主要包括数据结构,如构造型、方法、属性和参数,构造型可以写入为实体、外观枚举等类型。通用模型可以为抽象类型,也可以继承另外一个模型,通用模型可以包含0到多个的属性和0到多个的方法,属性可能会含有构造型,方法可能会有0到多个参数和0到多个异常抛出,其中属性和参数都需要确认事件的类型。上述通用模型的数据结构内容都是根据结构化模型的结构数据信息进行写入的,如属性信息、方法信息、模型名称等。换而言之,通用模型保存了结构化模型的结构数据信息。通用模型在后面的模型转换步骤中起到了将结构化模型的结构数据信息传递给UML模型的作用。
104、获取通用模型的结构数据信息。
由于通用模型是一个数据结构,用于传递结构化模型的结构数据信息,其结构数据信息可以通过直接调用获取。
105、创建UML模型,根据通用模型的结构数据信息,向UML模型写入相应的结构数据信息。
根据通用模型的结构数据信息,将这些数据信息写入相对应的UML模型结构中。如将通用模型中的属性信息写入UML模型的属性中,将通用模型中的方法信息写入UML模型的方法中。其他信息亦如此,不再赘述。
待将所有通用模型的结构数据信息写入UML模型后,即完成通用模型到UML模型的转换。
优选的,调用与结构化模型元数据的格式类型相对应的解析插件包括:调用元数据解析器工厂,元数据解析器工厂根据结构化模型元数据的格式类型,从元数据解析插件库中调用与结构化模型元数据的格式类型相对应的元数据解析插件。元数据解析器工厂起到了根据结构化模型元数据的格式类型,自动调用对应的元数据解析插件的作用。
需要指出的是,由于一种元数据类型对应一种元数据解析器,针对不同的元数据类型,需要不同的元数据解析器。以下列举出各种不同的元数据解析器,如简单元数据解析器和复合元数据解析器,简单元解析器又包括业务单元元数据解析器和关系元数据解析器,复合元数据解析器又包括实体元数据解析器、元数据解析器,枚举元数据解析器、异常元数据解析器和用户界面元数据解析器。
以下以MDA开发平台中的XML模型向UML模型转换为例,对本发明方法做详细说明。在该例中,MDA开发平台中的XML模型元数据是XML格式文件,XML模型元数据是实体元数据。
通过模型解析转换执行器读取XML模型元数据后,调用元数据解析器工厂,元数据解析工厂根据该XML模型元数据的格式类型,从元数据解析插件库中调用与该类型对应的元数据解析插件,然后解析插件对该XML模型元数据进行解析。该解析器插件在解析之后,获取了该XML模型元数据的结构数据信息。该结构数据信息包括属性信息、方法信息、模型名称信息等。
在获取到该XML模型元数据的结构数据信息后,创建通用模型。根据该XML模型元数据的结构数据信息,向通用模型写入相对应的结构数据信息。由于XML模型元数据是实体元数据,将通用模型中的构造型写为实体。根据XML模型元数据中的包信息、模型名称、模型中文名称、继承的父模型名称,写入通用模型相对应的结构数据信息;根据XML文件中的属性名称、属性描述,分别在通用模型中增加相应的属性信息。如果是关联属性,读取这个关系的文件名,并调用关系元数据解析器,解析该关系的数据,并将该数据写入到通用模型中,同时计算关联属性的包信息,作为XML模型的导入类型;根据XML文件中的方法名称、作为描述、方法参数和异常描述,分别在通用模型中增加相应的方法信息,同时计算方法参数和异常的包信息,作为XML模型的导入类型。
在该XML模型元数据的结构信息导入通用模型后,即将该XML模型转换为通用模型。在这之后,进行通用元数据模型向UML模型文件的转换。
读取通用模型的结构数据信息,创建UML模型文件。
根据通用模型的结构数据信息,写入UML模型的头信息,包括包名称、导入类型名称;写入类声明语句,包括类名称、继承的类或接口名称;循环UML模型中所有的属性,写入属性的声明语句,包括属性的可见性、类型和属性名称;如果是关联属性,标注关联的描述。;循环UML模型中所有的方法,写入方法的声明语句,包括可见性、方法名称、方法参数。
在完成所有UML模型结构的数据写入后,实现通用模型向Together模型的转换。
从上述看出,通过通用模型,隔离了结构化模型与UML模型,可以封装通用模型与UML模型的转换逻辑。
转换得到的UML模型可以使用Together工具进行编辑,Together工具是一种通用的UML建模工具。
以下对模型转换的装置进行说明,其基本结构可参考图2,包括:
第一转换单元201,用于将结构化模型转换为通用模型;
第二转换单元202,用于将通用模型转换为UML模型;
第一转换单元201包括:
模型解析转换执行子单元203,用于获取结构化模型元数据;
调用子单元204,用于调用与结构化模型元数据的格式类型相对应的元数据解析插件;
解析子单元205,用于通过与结构化模型元数据的格式类型相对应的元数据解析插件解析结构化模型元数据,获得结构化模型的结构数据信息;
通用模型创建子单元206,用于创建用于传递结构化模型的结构数据信息的通用模型;
通用模型写入子单元207,用于根据结构化模型的结构数据信息,向通用模型写入相对应的结构数据信息;
从以上可以看出,第一转换单元可以作为适配层,其引入元数据解析器插件机制,可以支持不同类型的模型元数据的转换逻辑的封装和扩展。
第二转换单元202包括:
获取子单元208,用于获取通用模型的结构数据信息;
UML模型创建子单元209,用于创建UML模型;
UML模型写入子单元210,用于根据通用模型的结构数据信息,向UML模型写入相对应的结构数据信息。
从上述可以看出,结构化模型向通用模型转换由第一转换单元实现,通用模型向UML模型转换由第二转换单元实现。
首先,由模型解析转换执行子单元203获取结构化模型元数据,再由调用子单元204调用与结构化模型元数据的格式类型相对应的元数据解析插件,再由解析子单元205通过与结构化模型元数据的格式类型相对应的元数据解析插件解析结构化模型元数据,获得结构化模型的结构数据信息;再由通用模型创建子单元206创建用于传递结构化模型的结构数据信息的通用模型,该通用模型可以为一个数据结构;再由通用模型写入子单元207根据结构化模型的结构数据信息,向UML模型写入相对应的结构数据信息,从而完成结构化模型向通用模型的转换。
然后,由获取子单元208获取通用模型的结构数据信息;再由UML模型创建子单元209创建UML模型;再由UML模型写入子单元210根据通用模型的结构数据信息,向UML模型写入相对应的结构数据信息,从而完成通用模型向UML模型的转换。
从以上可以看出,第二转换单元可以作为模型转换引擎,封装通用模型与UML模型的转换逻辑。
优选的,调用子单元用于调用元数据解析器工厂,元数据解析器工厂根据结构化模型元数据的格式类型,从元数据解析插件库中调用与结构化模型元数据的格式类型相对应的元数据解析插件。即在模型解析转换执行子单元获取结构化模型元数据之后,调用子单元调用元数据解析器工厂,元数据解析器工厂根据结构化模型元数据的格式类型,从元数据解析插件库中调用与结构化模型元数据的格式类型相对应的元数据解析插件。
以上对本发明实施例所提供的一种模型转换的方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法和装置及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种模型转换方法,其特征在于,包括:
获取结构化模型元数据;
调用与所述结构化模型元数据的格式类型相对应的元数据解析插件,解析所述结构化模型元数据,获得所述结构化模型的结构数据信息;
创建用于传递所述结构化模型的结构数据信息的通用模型;
根据所述结构化模型的结构数据信息,向所述通用模型写入相应的结构数据信息;
获取所述通用模型的结构数据信息;
创建统一建模语言UML模型;
根据所述通用模型的结构数据信息,向所述UML模型写入相应的结构数据信息。
2.根据权利要求1所述的模型转换方法,其特征在于,所述调用与所述结构化模型元数据的格式类型相对应的元数据解析插件包括:调用元数据解析器工厂,所述元数据解析器工厂根据所述结构化模型元数据的格式类型,从元数据解析插件库中调用与所述结构化模型元数据的格式类型相对应的元数据解析插件。
3.根据权利要求1或2所述的模型转换方法,其特征在于,所述结构化模型是可扩展标记语言XML模型。
4.一种模型转换装置,其特征在于,包括:
第一转换单元和第二转换单元;
所述第一转换单元包括:
模型解析转换执行子单元,用于获取结构化模型元数据;
调用单元,用于调用与所述结构化模型元数据的格式类型相对应的元数据解析插件;
解析子单元,用于解析所述结构化模型元数据,获得所述结构化模型的结构数据信息;
通用模型创建子单元,用于创建用于传递所述结构化模型的结构数据信息的通用模型;
通用模型写入子单元,用于根据所述结构化模型的结构数据信息,向所述通用模型写入相应的结构数据信息;
所述第二转换单元包括:
获取子单元,用于获取所述通用模型的结构数据信息;
UML模型创建子单元,用于创建UML模型;
UML模型写入子单元,用于根据所述通用模型的结构数据信息,向所述UML模型写入相应的结构数据信息。
5.根据权利要求4所述的模型转换装置,其特征在于,所述调用单元用于调用元数据解析器工厂,所述元数据解析器工厂根据所述结构化模型元数据的格式类型,从元数据解析插件库中调用与所述结构化模型元数据的格式类型相对应的元数据解析插件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110348265.7A CN103092594B (zh) | 2011-11-07 | 2011-11-07 | 模型转换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110348265.7A CN103092594B (zh) | 2011-11-07 | 2011-11-07 | 模型转换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103092594A CN103092594A (zh) | 2013-05-08 |
CN103092594B true CN103092594B (zh) | 2016-01-20 |
Family
ID=48205211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110348265.7A Active CN103092594B (zh) | 2011-11-07 | 2011-11-07 | 模型转换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092594B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224299B (zh) * | 2014-06-25 | 2018-06-26 | 成都普中软件有限公司 | 一种基于系统元模型构造系统模型的通用建模方法 |
CN105278936B (zh) * | 2014-06-25 | 2018-06-22 | 成都普中软件有限公司 | 一种基于软件元模型构造软件模型的通用软件建模方法 |
CN105204834B (zh) * | 2014-06-25 | 2018-06-29 | 成都普中软件有限公司 | 一种构造软件模型的可视软件建模编辑器 |
KR101770292B1 (ko) * | 2014-11-27 | 2017-08-22 | 주식회사 엘지씨엔에스 | 컴퓨터 수행 가능한 모델 역공학 방법 및 장치 |
CN105740300B (zh) * | 2014-12-12 | 2021-03-16 | 北京神州泰岳软件股份有限公司 | 一种构建模型系统的方法及一种模型系统 |
CN105512102A (zh) * | 2015-12-01 | 2016-04-20 | 北京交控科技股份有限公司 | 一种数据解析方法及系统 |
CN106598921A (zh) * | 2016-12-12 | 2017-04-26 | 清华大学 | 基于lstm模型的现代文到古诗的转换方法及装置 |
CN111159509B (zh) * | 2019-12-31 | 2023-06-09 | 深圳云天励飞技术有限公司 | 数据处理方法及相关产品 |
CN111324965B (zh) * | 2020-03-04 | 2023-04-21 | 杭州群核信息技术有限公司 | 一种基于云的通用参数化模型解析方法及设计系统 |
CN111752544B (zh) * | 2020-06-29 | 2023-11-10 | 郑州大学 | 一种构建支持星载传感器观测过程语义表达的本体模型的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002031688A2 (en) * | 2000-10-10 | 2002-04-18 | Koninklijke Philips Electronics N.V. | Uml model and xml representations of digital imaging and communications in medicine structured reports (dicom sr) |
-
2011
- 2011-11-07 CN CN201110348265.7A patent/CN103092594B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002031688A2 (en) * | 2000-10-10 | 2002-04-18 | Koninklijke Philips Electronics N.V. | Uml model and xml representations of digital imaging and communications in medicine structured reports (dicom sr) |
Non-Patent Citations (1)
Title |
---|
XML模式到UML类图的转换规则;卢正鼎,范小丹;《计算机工程》;20060531;第32卷(第10期);第53-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103092594A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092594B (zh) | 模型转换方法及装置 | |
CN108885545B (zh) | 用于实时数据流编程语言的工具和方法 | |
US8418125B2 (en) | Incremental model refinement and transformation in generating commerce applications using a model driven architecture | |
US7174533B2 (en) | Method, system, and program for translating a class schema in a source language to a target language | |
US20090083297A1 (en) | Apparatus and method of customizable model import and export to and from XML schema formats | |
US20060230070A1 (en) | System and method for creating target byte code | |
US20060253508A1 (en) | System and method for creating target byte code | |
CN101763255B (zh) | 一种专用界面工具的格式转换方法及装置 | |
Chillón et al. | A model-driven approach to generate schemas for object-document mappers | |
CN111562919A (zh) | 基于psd文件生成前端网页代码的方法、系统及存储介质 | |
CN102566984B (zh) | 一种配置参数的方法及装置 | |
US20120158416A1 (en) | Web-service based generation of business objects | |
CN112433701A (zh) | 工业软件开发项目实施流程、内容及代码生成方法及装置 | |
CN105468793A (zh) | 一种仿真模型数据的自动化管理方法 | |
CN104699518A (zh) | 一种基于微内核插件的万用抄表机适配器及其实现方法 | |
CN117648833B (zh) | Simulink到SysML的模型生成方法和装置 | |
Irwin et al. | Object oriented metrics: Precision tools and configurable visualisations | |
CN101794223A (zh) | Wade服务消息架构的设计方法 | |
CN117850792A (zh) | 智能合约解析方法、装置及计算机设备 | |
KR101080849B1 (ko) | Step 모델링 언어의 컴파일 장치 및 방법 | |
CN101655797A (zh) | 含有描述信息的构件及函数库的构建方法 | |
Barth et al. | Efficient use of data exchange formats in engineering projects by means of language integrated queries—Engineers LINQ to XML | |
Rose et al. | Virtual XML: A toolbox and use cases for the XML world view | |
CN1737756A (zh) | 数据转换装置以及数据转换用程序 | |
JP2004303245A (ja) | 情報の永続性に依存しないレンダリング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |