论文部分内容阅读
随着软件规模和软件复杂度的不断扩大,软件生产效率低、系统可移植性差、互操作性差以及文档维护更新困难等问题逐渐突显出来。在这样的背景下,对象管理组织OMG (Object Management Group)在2001年提出了一种新的软件开发方法学——模型驱动架构MDA (Model Driven Architecture), MDA能有效减低需求变更对软件开发的影响,提高软件开发效率,增强系统的可移植性、互操作性和可维护性。另外,随着大数据时代的到来,HBase数据库成为当前应用广泛且非常适合大数据处理的非关系型数据库。由于HBase自身的巨大优势,越来越多的Web应用开始尝试在其上构建数据中心,传统的关系型数据库到HBase数据库的迁移以及HBase数据模型的设计等成为有价值的研究问题。本文在MDA思想的基础上,主要研究由平台无关的类图模型到HBase数据模型的模型转换方法,该方法在元模型层次上提出了类图模型到HBase数据模型的自动转换思想,实现MDA过程中平台无关模型PIM (Platform Independent Model)到平台相关模型PSM (Platform Specific Model)的模型转换。本文首先基于Ecore定义类图模型和HBase数据模型的元模型,然后设计类图模型到HBase数据模型的转换规则,使用模型转换语言ATL(Atlas Transformation Language)将转换规则进行代码级的描述,最后给出一个具体的符合类图元模型的模型实例,实现类图模型到HBase数据模型的自动转换。本文旨在说明自动生成数据库数据模型的可行性,也为NoSQL数据模型的自动化开发提供一个启发式的方案。最后,为了能自动的生成高效、正确的实现代码,必须保证生成的PSM(如HBase数据模型)的完整性和正确性,因此模型验证不可或缺。基于该思想,本文设计实现了一个模型验证工具,通过调用XML解析器来读取目标模型及其元模型元素,生成目标模型树和元模型树,最后遍历目标模型树并对比元模型树,验证生成的PSM是否符合其元模型的定义,以此来确保模型转换的正确性。