牛小明
(中央宣传部电影数字节目管理中心,北京 100055)
模型驱动架构的结构大体可以分为4个层次,一般用M0、M1、M2、M3代称:(1)M3是元—元模型层,包含模型语言定义,用于定义M2元模型的抽象一级建模支撑,即模型语言定义是M2所有元模型的元模型。模型语言定义具有自描述特征,可以对自身这个元模型进行描述,因此M3的模型语言定义是整个模型驱动架构的基础层,也是最核心的标准,其他层模型或元模型的语义都来源于M3的模型语言定义,相当于整体的公共定义标准;(2)M2是元模型层,集成了所有来源于模型语言定义下的模型语言,因此通过M2能够根据不同领域要求获取对应的建模语言。而M2提供的建模语言将成为M1建模符号,支撑人们在M1上进行软件建模及开发;(3)M1是模型层,该层是建模人员最常接触的,也是软件模型开发的“工作平台”,在该层建模人员能够通过模型语言对软件模型进行描述。另外,模型驱动架构中的CIM(计算无关模型)、PIM(平台无关模型)、PSM(平台特定模型)、ISM(实现特定模型)等都处于M1层;(4)M0是实例层,是M1整体模型的实例化,即M0包含了M1模型的具体应用程序,该层是模型驱动架构中模型描述与应用的最终层,达到该层就说明开发的软件已经可以投入使用。
为了实现模型驱动架构中各层模型的定义、映射与转换,模型驱动架构开发者提出了相关标准,包括MOF、UML、CWM、XMI、QVT、OCL,具体内容见表1。

表1 模型驱动架构的相关……