论文部分内容阅读
随着计算机技术的发展,软件功能日益丰富。基于反复编码测试的传统软件开发方法费时且开发的系统不易维护。模型驱动的软件工程是指在软件开发过程中应用建模技术,其目的是软件开发过程中应用建模技术提高抽象层次。纵观软件工程的历史,计算机软件开发方法的每一次变革都是通过提高系统的抽象层次实现,软件开发语言经历汇编语言到第三代语言,如FORTRAN和C到面向对象语言C++和Java。当前,可视化建模语言是计算机语言的最高水平。统一建模语言UML和MDA的流行,使得模型成为软件开发的核心制品,提升了软件开发的抽象层次,从而提高软件开发效率和软件的可维护性。但是,UML作为一种通用的建模语言过于通用,还难以从UML模型生成完整的应用程序系统。首先,UML建模工具生成的代码还是应用程序的框架代码,具体的实现还需手工编写。其次,UML所包含的建模概念(如类,对象、属性和操作等)都是来源于面向对象编程语言,而不是应用系统的问题域,现在还难以实现UML模型生成完整的应用系统,使得UML建模概念与问题域之间存在隔阂。再次,UML虽然是通用建模语言,但是它也并非万能,不同的领域可能需要不同的建模语言。因此,人们通常根据应用系统的需求建立自己的建模语言及其建模环境。面向领域建模被称为“下一代建模方法”,通过对特定领域分析和抽象,得到该领域的共性和特性,建立该领域的构建库,最后通过领域模型和代码生成实现领域应用。面向领域建模采用的建模语言是具有严格语法和丰富语义的面向领域建模语言,而不是通用的UML。面向领域的建模语言是对特定领域的抽象,而不是对代码的抽象,它符合特定领域的使用习惯,具有特定领域的语义。模型集成计算是面向领域的模型驱动开发方法,其开发过程包括领域抽象、元建模、领域建模和应用程序。本文采用的建模工具是通用建模环境,它是一个基于COM技术的可配置工具。开发人员可以在通用建模环境中构建领域元模型,经过解释注册生成领域建模语言和领域建模环境,然后利用领域建模语言搭建领域模型。开发基于元模型的模型解释器,遍历模型中的相关信息并以XML文档格式保存,定义为PIM文档,它是最终生成代码的元数据。本文设计并开发了代码生成系统实现领域模型到代码的自动生成。代码自动生成系统的输入文件包括PIM文档、领域模板文件和配置文件,输出文件是源代码文件。其中,PIM文档是模型解释器生成的XML格式文档,提供模型相关信息。领域模板文件主要由经验丰富的开发人员设置,一般开发人员只要只要掌握设置规则,也可以根据需求设置模板内容。配置文件用于指定代码生成引擎调用哪些模板文件以及生成文件名的命名,类似于C语言的makefile文件。模板文件和配置文件都是自定义的,通过不同的自定义标签,把PIM文档信息整合到模板文件,实现源代码文件生成。本文最后通过洗衣机控制系统实例来阐述基于领域建模的开发方法,在通用建模环境下构建洗衣机的元模型和洗衣机控制系统的建模环境,搭建洗衣控制系统模型。开发洗衣机控制系统的解释器,生成洗衣机控制系统模型的PIM文档。编写模板文件和配置文件,利用代码生成系统实现领域模型到代码的转换。结果显示,在整个系统的开发过程中能够减少开发时间和费用。