论文部分内容阅读
模型驱动体系结构(Model Driven Architecture MDA)是OMG组织为解决不同中间件平台间的集成问题而提出的一种开放的、供应商中立的软件开发方法。MDA是以模型为核心的。在MDA框架中,开发者首先构建平台无关模型(Platform Independent Model,PIM),然后根据到特定平台或实现语言的映射规则/方法,从平台无关模型转换生成平台相关模型(Platform Specific Model,PSM),最终生成应用程序代码。
MDA基本思想是将模型作为软件开发过程中的核心制品,这就需要建模者能够用抽象的平台无关模型精确、全面地表达他的真实意图和客观世界。MDA的另一个重要特征就是运用模型转换规则实现高层次抽象模型到低层次抽象模型的转换,逐步细化模型,直至生成代码。其中PIM到PSM的转换是实现MDA思想的关键,在转换过程中不光要有语法的映射,同时还需要保证语义的一致性和模型的一致性。实现模型的自动化转换需要良好的工具支持,而工具的核心就是描述从PIM转换生成PSM或代码的映射规则。
本文采用了UML类图在平台无关层来描述模型的静态结构,而用自定义的动作语言对模型的动态行为进行描述。这个动作语言是符合OMG制定动作规范的,且是可执行的。本文选择了Java EE5作为目标平台,制定出相应的转换规则,实现从动作语言和类图到目标代码的转换。最后本文还以Eclipse插件的形式实现了一个模型转换工具,运用工具可以实现在PIM层上的建模和到Java EE代码的转换。
本文的主要工作包括:
1)本文首先介绍了MDA的基本概念,同时从模型描述方式和模型转换方法对现有的工作进行分析,说明了现有研究和实现工具的缺陷,以及我们需要解决的问题。
2)本文将提出一种符合动作语义规范的动作语言,用于描述系统的业务逻辑和动态行为。结合UML图中描述静态模型的类图,共同描述平台无关模型。这个平台无关模型是可以运行的。
3)本文还研究了针对上述平台无关模型的模型转化技术,建立了平台无关模型到代码层的转换规则。这些规则可以把包含动态行为描述的平台无关模型转换成为直接可运行的、完整的分布式计算系统。
4)本文还将设计并实现一个模型转换工具,这个工具以插件的形式与Eclipse平台紧密结合。该工具用UML2 Tools绘制类图,并可以编辑运行动作语言。在模型转换的过程中,这个工具采用了JDT(Java Development Tools)的AST机制在抽象语法树的层次进行转换映射。
5)在本文中,我们使用了Java EE Blueprints中的Pet Store宠物商店演示系统作为实例。依次介绍了如何用工具对于Pet Store进行建模和转换,并显示了转换生成的代码。