论文部分内容阅读
MDA是由OMG提出的一种以模型为主要开发产品的软件开发方法。开发人员首先建立与具体技术平台的实现细节无关的高抽象程度的平台无关模型(Platform Independent Model,PIM)。然后,开发人员可以通过模型转换,将高层次的模型逐渐转换成为包含了实现细节的平台相关模型(Platform Specific Model,PSM),直到最终的代码。
模型转换的有效性决定了MDA开发方法的效率。模型转换的难点不在于模型的语法映射,而是保证转换过程中模型语义的一致。基于这个问题,本文将根据领域建模语言的元模型语义来建立转换规则,以实现基于语义的模型转换。
PIM—PSM自动转换是实现MDA思想的关键。高层次PIM到低层次PSM的转换建立起应用系统的设计与实现之间的桥梁,并保持同一系统不同视点的模型之间的一致性。实现自动化的模型转换需要工具的支持,而工具的核心是描述如何从PIM转换得到PSM的方法的模型转换规则。
本文采用EDOC作为平台无关模型的描述方法。EDOC是OMG制定的、和具体应用平台无关的、适用于企业分布式系统建模的标准。本文根据EDOC实体—关系元模型的语义,建立了从这些模型到J2EE平台模型以及目标代码的模型转换规则。我们的目标是使开发人员可以使用模型转换工具由抽象的EDOC模型自动生成可执行的、实用的分布式计算系统。
本文还实现了一个模型转换工具ME4ET(MDA Engine for EDOC Transformations),可以将EDOC ER模型转换为关系数据库和EJB平台上对应的PSM。同时,通过设计模式的应用,ME4ET转换所得到的PSM可以满足更多的非功能性需求。本文的主要工作包括:
(1) 本文首先研究了实施MDA模型转换所需要的基础,进而给出了一个实际的模型转换框架。在本文的模型转换框架中,使用元模型来定义模型的抽象语法,模型的语义以及不同模型之间的映射关系。我们的转换框架中也引入了PIM标记,用于指导转换过程中对同一元素的不同转换方式。
(2) 本文主要探讨了EDOC ER模型作为输入的模型转换技术。首先深入研究了EDOC实体元模型和关系元模型的语义,从而给出了ME4ET环境下EDOC实体—关系模型的建模规范。
(3) 本文研究了EDOC PIM到关系数据库PSM和EJB实体bean的转换。本文研究了EDOC实体—关系元模型到关系数据库元模型的转换规则和EDOC实体—关系元模型到EJB元模型的转换规则。本文还研究了如何使用PIM标记实现转换过程中平台信息的自动生成。
(4) 本文还尝试在模型转换中引入设计模式以提高转换质量。开发人员可以根据应用系统的特定非功能性需求在模型转换中使用不同的设计模式。本文引入了四种适合J2EE系统的设计模式:数据传输对象模式,会话外观模式,业务代理模式和服务定位器模式。这四种模式可以显著提高转换结果的性能,并使得转换结果具有更好的层次性和封装。
(5) 以上所有的工作在ME4ET工具中均有相应的实现。ME4ET可以根据模型转换规则和用户定义的PIM标记,将EDOC ER模型转换为关系数据库模型和EJB实体Bean,同时生成相应的SQL代码和EJB代码。
最后,开发者可以将ME4ET生成的说明性代码在相关平台上部署,得到具体的可执行系统。