基于RSA模型转换框架的开发
本文首先介绍模型转换的基本概念,然后介绍RSA模型转换框架,之后本文以两个具体的例子介绍如何在RSA开发平台中以模型转换框架为基础创建和扩展模型转换。
1 内容简介
模型转换框架(Model Transformation Framework)是IBM最新开发平台RSA(Rational Software Architect)中的重要组成部分,其主要功能是在模型驱动的开发过程中,为实现各种模型之间的转换提供基础平台的支持。基于这个框架,能够很容易地实现模型之间的转换程序,以及扩展已有的转换。
本文首先介绍模型转换的基本概念,然后介绍RSA模型转换框架,之后本文以两个具体的例子介绍如何在RSA开发平台中以模型转换框架为基础创建和扩展模型转换。
2 模型转换
MDA(Model Driven Architecture,模型驱动的体系结构)和MDD(Model Driven Development,模型驱动的开发)是当今软件领域最热门的话题。相比于传统的以代码为中心的开发模式,MDA和MDD则是以模型为中心,在开发的各个阶段,都使用模型来描述系统特征。
模型转换贯穿于MDD的全过程。系统开发初期,为了刻画系统特征,一般会创建系统的分析模型。分析模型是一个比较粗糙的模型,相当于草图的作用,只用于辅助分析。随着系统的特征越来越清晰,系统的设计模型会慢慢形成。设计模型能够比较精确地描述系统,是系统实现的基础。从设计模型可以很容易地导出系统的实现模型。实现模型包括具体的代码、脚本、配置文件等等。这是一个自顶向下、逐层细化的过程,从高层的抽象模型开始,经过一系列的模型转换,最终生成底层的系统实现。

图1 模型转换
由此可见,模型转换在模型驱动的开发和设计中起着非常重要的作用。
3 RSA模型转换框架
RSA(Rational Software Architect)是IBM的新一代软件开发平台,代号为Atlantic。RSA基于开放/可扩展的Eclipse 3.0构建,全面支持UML 2.0标准和模型驱动的开发方法。RSA为开发当今日益复杂的应用系统提供了一个强大的的开发环境,整合了UML建模、J2EE、XML、web services、C++开发工具以及RUP过程指南等诸多功能,是软件架构师/开发人员的首选工具。
为了支持模型驱动开发过程中各种模型之间的转换,RSA提供了一个功能强大、易于扩展的模型转换框架(Model Transformation Framework),该框架是一个基于规则的执行引擎,基于该框架,可以很方便地定义模型转换规则,实现各种模型之间的转换。RSA模型转换框架实现了模型转换的注册和配置管理,提供了统一的运行界面,以及各种开发向导。
RSA预装有一些常用的模型转换,包括UML2JAVA、UML2CPP、UML2EJB,这三个转换分别以UML模型为输入,生成对应的Java程序、CPP程序和EJB。关于如何使用RSA预装的模型转换,请读者参阅RSA的相关文档。
下面简单介绍RSA模型转换相关的一些概念:
Transformation(转换):以源模型对象为输入,目标模型对象为输出,实现模型之间的转换。每个转换由若干条转换规则组成。
Rule(转换规则):以源模型对象中某部分为输入,目标模型对象的对应部分为输出,实现了功能逻辑上相对独立的一部分转换任务。
Transformation Context(转换上下文):转换上下文是转换过程中转换规则之间共享数据的容器。在转换的执行过程中,转换上下文会在规则的实现之间传递,每一个规则可以向上下文中存放需要共享的数据,也可以从中获取所需的数据。
- 本文关键词:

