论文部分内容阅读
从对象管理组织(OMG)2001年提出模型驱动体系架构(MDA)到现在已经经历了相当长时间,这期间OMG稳步地推动着MDA各种相关标准的制定和完善,产业界也有众多的公司和开源组织开始尝试MDA的各种实现,MDA从单纯的理论研究领域逐步向提供实际应用过渡。
但现有的开源MDA通常基于传统的模板技术来实现代码生成,这样提高了软件的健壮性,但弱化了MDA中模型转换和PSM的概念,增大了实现复杂模型转换的难度。并且缺乏一个可视化的集成环境来整合各种MDA的环节,使得进行MDA开发时,开发人员需要熟悉多种实现并努力使它们相互之间能够协作。本文主要目标是提出一个MDA框架,该框架的目标是克服上面所说的现有MDA实现的缺点,我们的工作主要集中在以下几方面:
采用混合的方式来进行模型的处理,平台无关模型到平台相关模型间的转换通过嵌入在宿主语言中的一种模型转换语言来实现,而从平台相关模型到代码的转换还是采用传统的模板技术来实现,这种方式可以同时具备模型转换语言的灵活性和模板技术的易于理解的特性。
和Eclipse平台相结合以提供良好的开发环境,在Eclipse平台插件架构的基础上建立框架的扩展整合机制,使系统的各个部分可以不断的演化发展,并且在提供系统缺省实现的同时可以整合现有的实现,模型转换开发人员也可以不断加入新的模型转换扩展。
文中最后则给出了使用SiloMDA设计实现的一个基于Java平台的出版系统案例。