首先设定一个基本的讨论背景,如图1。它表现了模型驱动应用所处的典型情景,显示了信息技术(左侧)与业务(右侧)之间的鸿沟,包括它们各自的抽象层级系统(呈现为两个方向相反的金字塔)。模型驱动应用基于人可理解/操作且计算机可处理的中介模型,跨越鸿沟,对业务领域和计算机领域建立连接(参看Situation for Discussions about MDApps及此文)。本文将主要基于这一背景,对“模型驱动应用”概念进行讨论。近十多年来,我们一直使用类似的词语,包括企业模型驱动应用,模型驱动应用或信息系统等,并没有见到其它相似用法的明确定义[1];在近期发布的论文[2]中,对此做了专门界定。本文建议,模型驱动应用(英文model-driven application, 缩写为MDApp)这一词语,作为专门的术语,主要用于两种含义:一种是指特定的系统类型,另一种指与此类型相关的理念、架构(architecture)、途径或相应的研究领域或知识体;在英文表达中,参照诸如“信息系统”(Information Systems)一词的用法,对后者主要使用复数形式(model-driven applications, MDApps)。
图1:一个讨论模型驱动应用的情境
模型驱动应用系统
根据论文[2]中的定义,模型驱动应用就是一种模型驱动系统,其功能与行为基于或受控于可演变的应用模型,而这些模型的对象就是应用的对象。这个定义是建立在更一般化的概念,即模型驱动系统和模型驱动机制(MDS & MDM)上,它们为模型驱动应用提供了构造性的准则。这一概念的理解涉及三个关键词。
第一个是应用模型(applied model),它定义于模型驱动机制&#