论文部分内容阅读
模型驱动软件开发(MDSD)关注的焦点是模型驱动架构(MDA)在软件工程中的运用。MDSD的主要目标是提高软件开发效率,并通过提高模型的抽象层次来提高软件复杂度的易处理性。随着建模的复杂度不断提高,定义不同模型之间的转换规则变得越来越复杂,并且不同MDSD平台都有一套相对独立的开发技术和模型转换语言,这使得平台之间缺乏兼容性。针对以上问题,本文提出了一种为转换规则建模的方法,其基本思路是:定义一种平台无关的转换规则元模型来描述转换规则模型。通过转换规则模型可以描述模型之间的转换关系。利用模型转换技术,将建立的转换规则模型转换为具体平台的转换语言模型。然后设计转换规则代码的模板,实现转换语言模型到转换规则代码的自动生成。最后生成的转换规则代码可作为模型转换引擎的输入,实现不同模型之间的转换。以上方法的步骤和具体实现过程分为:首先,分析模型转换的基本需求,设计一种与具体转换语言无关的转换规则元模型来定义模型转换的基本要素。其次,采用Eclipse插件技术实现转换规则模型的建模插件,该插件可以构造转换规则模型,并自动生成相应的XML文件。为了实现转换规则模型到具体转换语言模型的转换,本文以ATL模型转换语言为例,从KM3语言中提取并设计ATL的Ecore元模型。然后,在Eclipse平台下定义转换规则元模型及ATL元模型,以及转换规则元模型与ATL元模型之间的映射关系。基于该映射关系,可实现转换规则模型到ATL模型的自动转换。最后,利用模板技术编写ATL语言的转换模板,实现了ATL模型到ATL代码的自动转换。本文提出的转换规则元模型与具体转换语言无关,增强了转换规则模型往不同转换语言扩展的能力。在模型转换过程中加入一层平台无关的转换规则模型,能使开发人员复用模型转换代码,更直观了解整个模型转换过程,提高了开发和维护的效率,增强了转换规则模型的可管理性。在Eclipse平台下对提出的方法和过程进行了实现,实验表明所提出的方法和实现过程能是可行有效的,为MDSD的软件开发和模型转换过程提供了一种新的思路。