MDA 概述
MDA 是“模型驱动构架”(Model Driven Architecture)的缩写。它是由 OMG
规范定义的一个软件开发框架。MDA 提供了一种开放的、供应商中立的 方法以应
对商业与技术变化的挑战。其关键之处是,模型在软件开发过程中扮演了非常重
要的角色。在 MDA 中,软件开发过程是由对软件系统的建模行为驱动的。
MDA 开发生命周期和传统的生命周期并没有很大的不同。MDA 的工件是形式
化模型,也就是可以被计算机理解的模型。下面列出的 3 种模型位于 MDA 的核心:
· 平台独立模型(PIM):具有高抽象层次、独立于任何实现技术的模
型。
· 平台相关模型(PSM):为某种特定实现技术量身定做,让你用这种
技术中可用的实现构造来描述系统的模型。PIM 会被变换成一个或多
个 PSM。
· 代码:用源代码对系统的描述(规约)。每个 PSM 都将被变换成代码。
传统上,从模型到模型的变换,或者从模型到代码的变换,主要是手工完成
的。与此相反,MDA 变换总是由工具执行的,许多工具可以把 PSM 变换成代码,
这并不令人惊奇。MDA 的创新之处是把 PIM 到 PSM 的变换也自动化了。MDA 是把
建模语言作为编程语言来使用而不仅仅作为设计语言, 用模型语言编程能够带
来提升生产力,软件质量以及更长远的好处。实际上,在真正应用这种技术的时
候,开发人员 面临着更大的挑战,就是需要在面向对象开发的基础上加入以模
型为中心的思想。
在 MDA 的世界中,“变换工具”扮演了传统编译器的角色,传统编译器则退
居目前汇编器(就是把汇编语言翻译成机器语言的程序)的地位,其余各层工具
依次后退。调试器也将逐渐进化,就如同从机器码级调试(汇编语言级调试)向
源码级调试的过渡那样,慢慢过渡到模型级调试。在 IDE 中最重要的也不再是基
于文本的代码编辑窗口,而是基于图形的建模窗口。人们将像现在谈论一个 API
函数那样谈论一个设计模式(design patterns),而代码模式(idioms)将完全
由变换工具自动生成,不再是人们关心的内容。
MDA 的主要目标是以下几点:
真正达到重用模型,实现以模型为中心的开发方式和使模型真正成为可复用资产。
对于厌倦了一遍遍在编码层解决在建模的抽象层中同样的问题提出彻底的解决
办法。
最小成本适应不同平台间的迁移。
评论0