您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
EA中的MDA(Model Driven Architecture)转换
 
 
作者: 刘利、俎涛(火龙果软件工程)
 
   次浏览      
2023-1-10

1.EA中的 MDA 转换 是什么

MDA 转换是 EA 提供的一种便捷的转换工具,可以用于自动化建模和转换模型,避免了手动创建转换模型出现错误的可能,提高了工作效率。 EA 使用灵活且完全可配置的模板系统来实现模型驱动的体系结构( MDA )转换。模板充当对机器的指令,该机器将模型作为输入并将其转换为更解析的模型作为输出。输入可以是大型而复杂的模型,也可以是单个元素,并且一个输入模型可以转换为多种输出模型。转换通常是单向的,通常是由一个特定类型的模型转换成另外特定类型的模型。

2.EA 中的 MDA 转换有什么用

转换模型功能可以将 一个类型的模型转换成一个或几个特定类型的模型, 例如由许多不同的关系数据库实现一个系统,可以建立一个概念模型,然后使用此功能转换模型,可以将模型转换成 Oracle , MySQL 和 SQLite 。为了进一步提高效率,一旦生成输出模型,也可以转换为编程代码或数据库定义语言代码。

EA 提供了一些常用的转换类型:

•  数据定义语言

•  EJB 实体

•  EJB 会议

•  Java 语言

•  XSD

•  C#

•  ……

除了 EA 的 MDA 转换类型,还可以自定义转换模板来转换模型,在转换模板可以编辑以下操作:

•  转换连接器:在转换中创建元素的关联关系。

•  转换重复信息:在许多转换中,会有大量的信息被复制。

•  中介语言:在中介语言中可以设置将要转换模型的设置信息,如命名空间、属性等信息。

•  转换类型:将要转换的语言类型。

•  转换名称:不同类型的模型命名方式可能不同,需要进行设置。

•  交叉引用:主要用于转换后类之间创建关系。

通过仔细研究 EA 提供的转换模板,可以收集到更多的提示和技巧。还要注意,编写转换模板和编写代码生成模板非常类似,因此理解代码模板框架将大大有助于理解转换。

3.EA 中的 MDA 转换有什么

3.1 转换元素

模型转换客户端的功能,可以将一类模型转换成另一类模型。可以通过在“浏览器”窗口中选择“包”或在图中的元素来进行操作。

3.2 内置转换

EA 提供了一组常用的内置转换模板,这些模板涉及多个方面从领域建模到代码工程的各种学科都是有用的。

名称

描述

C # 将模型转换成 C #类元素。

C ++

将模型转换成 C ++ 类元素。

数据定义语言

将模型转换成默认数据库类型的数据模型的逻辑模型,可以直接生成 DDL 。

实体关系图到数据模型

将模型转换成默认数据库类型的数据模型的 ERD 逻辑模型,可以直接生成 DDL 。

数据模型到实体的关系图

将模型转换成 ERD 逻辑模型的数据模型。

EJB 会话

将模型转换成 EJB 会话的 类元素。

EJB 实体

将模型转换成 EJB 实体的 类元素。

Java

将模型转换成 Java 类元素。

JUnit

将现有的具有公共方法的 Java 类元素到具有每个公共方法的测试方法的类以及适当设置测试所需的方法。

NUnit

将现有的 .NET 兼容类(具有公共方法)到具有每个公共方法的测试方法的类,以及适当设置测试所需的方法。

PHP

将模型转换成 PHP 类元素。

顺序 / 通讯图

可以将序列图转换成通信图,也可以将通信图转换成序列图。

VB.Net

将模型转换成 VB.Net 类元素。

WSDL

将简单模型转换成适合生成的 WSDL 界面的扩展模型。

XSD

这 XSD 转换将独立于平台的模型 (PIM) 元素转换为 XML 元素的 UML Profile ,作为创建 XML 模式的中间步骤。每个选定的 PIM 类元素都被转换为 XSDcomplexType 元素。

DDL 转换

Java 转换

XSD 转换

C# 转换

3.3 编辑转换

EA 工具内部可以修改或自定义转换模板,用于转换模型。 EA 中现有模板提供了有用的指南和参考,可以帮助我们创建新模板。转换模板基于代码生成模板框架,并且对这些模板的工作方式的理解对于能够调整现有转换模板或创建新转换模板至关重要。

名称 详情
默认转换模板 EA 提供了一组默认转换模板,您可以按原样使用或根据需要进行自定义。
中介语言的通用语法 EA 转换生成转换中创建的模型的中间代码形式。可以查看和编辑代码。
中介语言调试 还可以通过检查从 Transform 脚本生成的中间代码来调试转换脚本。
编辑转换模板和代码 编写转换时,可以使用通用代码编辑器的功能。
代码模板框架 可以使用代码模板框架执行 UML 模型的正向工程。转换模板框架是从此派生的。
创建对象的语法 要在转换中生成对象或元素,请在模板脚本中应用特定的语法。
创建连接器的语法 要在转换中生成连接器(关系),还可以在模板脚本中应用特定的语法。
转换重复信息 在许多转换中,有大量信息要复制。可以使用宏从其源中读取信息,而不是将这些信息放在模板中。
转换模板参数替代 在转换模板中,如果要转换 “ 模板绑定 ” 连接器绑定参数替换,则可以使用 “ 模板参数 ” 替换宏。
转换类型 可以应用各种方法将数据类型转换为不同的目标平台类型。
转换名称 可以应用各种方法将元素名称转换为不同的目标平台命名约定。
交叉参考 在转换期间,可以对转换后的元素执行交叉验证。

4.操作指南

4.1 转换模型

以聊天室的 DDL 转换为例

首先创建模型(聊天室服务器端逻辑模型)


选择浏览器上的包元素,点击转换模型功能

选中包含子包,将显示子包内全部元素,选择要转换的元素、要转换的类型、转换模型生成的位置,点击“ Do Transform ”开始转换。


转换后模型

4.2 编辑转换模板

4.2.1修改 DDL 类型转换模板中 file 文件

DDL 类型转换模板中 file 文件原始代码:

上边代码主要内容:设置转换后模型生成的包和图名称,调用了 Namespace 文件。

执行转换功能后生成的包和图名为“ DDL ”。

File 文件修改后:

执行转换功能后:

4.2.2 修改 DDL 类型转换模板中 Class 文件

DDL 类型转换模板中 Class 文件原始代码:

上边代码主要内容:设置转换模型类型为“ Table ”,调用了 Attribute 文件,然后设置主键信息。

执行转换后生成的模型为:

Class 文件修改后:(删除了设置主键代码)

执行转换功能后:

 

6. 后记

希望您读了此文后有所收益。

如果您有经验乐于分享,欢迎投稿给我们,如果您对我们的培训、咨询、和工具感兴趣,欢迎了解。

火龙果软件提供团队协同建模环境的咨询服务,可以帮助用户搭建完整的团队建模和 MBSE 解决方案,详细信息请见 http://tool.uml.com.cn/ToolsEA/introduce.asp

希望本文对您的建模工作有帮助。更多的有关 EA 建模资料如下:

•  视频: http://tool.uml.com.cn/ToolsEA/jswd-ysm.asp?partname=sp

•  文章: http://tool.uml.com.cn/ToolsEA/docea.asp?partname=wk

如果您希望了解更多信息:

  • 欢迎访问建模者频道 http://tool.uml.com.cn/ToolsEA/introduce.asp

  • 也欢迎直接联系我们 zhgx@uml.net.cn , 010-62670969

     

     

  •    
    次浏览       
     
    相关文章

    用户手册:EA Helper
    自然语言自动化生成图
    使用iSpace进行多人协作建模
    基于模型的软件复用(MBSR)
     
    相关文档

    AUTOSAR_TR_BSW UML模型建模指南
    UML时间图建模(基于EA)
    UML 模型框架(基于EA)
    UML序列图编写规范
     
    相关课程

    UML+EA+面向对象分析设计
    UML + 嵌入式系统分析设计
    业务建模与业务分析
    基于UML和EA进行系统分析设计

    工具新闻
    2024年6月 EA v17.0 Beta版发布
    2022年11月 EA v16.1的发布说明
    2022年11月 EA v16.1正式版介绍
    2022年7月 EA v16.05的发布说明
    2022年4月 EA16.0 正式版发布
     
    最新文章
    在EA中内嵌文档- Artifact
    EA中模型视图
    EA中的实体关系图
    使用EA进行风险建模
    EA中的项目词汇表
    EA的模型导出或导入csv文件
    自定义表格(Custom Table)在EA中的使用
    Gap Analysis Matrix(差距分析矩阵)
    更多...   
    MBSE工具
    MBSE平台
    建模工具 EA
    模型库-Model Center
    需求管理-ReqManager
    自动建模-Modeler
    多级仿真-Sys Simulator
    代码工程-Code Engineer
    文档生成器-DocGenerator
    更多...   
    成功案例
    广汽研究院 SysML+EA+软件分析设计
    高合汽车研发部门 建模工具EA、WebEA、学习视频
    国汽智联 建模工具EA、模型库、WebEA和iSpace
    亿咖通 MBSE工程体系与工具链咨询
    中航无人机 MBSE工具链
    吉利汽车 购买EA工具
    华科汽车零部件 购买EA工具
    东风岚图汽车 购买EA工具 以及EA定制开发
    更多...