Enterprise Engineering Forum

企业工程论坛
Categorized as: 模型工作机制,模型驱动系统,系统架构   Tagged as: ,, , , , , ,

模型驱动机制与模型驱动系统(MDM&MDS)

Author: 余彤鹰,  Source: 企业工程论坛,  Published: 2005年5月

Excerpt: 仅凭MDD,需求的改变仍然需要通过开发者的建模、编码(转换)过程。因为这并未真正将“应用开发者”和“企业规划者”的工作领域分开,仍将遭遇基于编码的定制或开发同样的问题。也就是说,仅凭MDD,我们并不能摆脱在传统的开发或定制中遭遇的困境,不能充分地满足新一代企业信息系统(NEIS)的需求。

1.1 概念

在深入的探索中,我们发现,在“以模型为中心”、“基于模型”或“”这样一些观念背后,隐藏着更深刻的系统原理,MDM是重要的一个。

模型驱动机制Model-Driven Mechanism, )是实现与控制系统(或其功能与行为)的一种方式或途径,即,基于模型运行、实现或控制被建模的、预期的事物——系统或功能及行为,该模型具有独立性,独立于表达、储存、传送、达成或实现的过程或方法。简言之,MDM使系统的全部或部分功能及行为(或结构及形态)受到模型的控制或支配。从系统理论角度理解,模型驱动机制的地位类似于反馈机制。

直接驱动/控制机制

图1表示了一种非经模型实现、控制功能或行为的基本机制,可称为“直接驱动/控制”。它的典型例子如汽车。

模型驱动机制(MDM)

与之形成对照,MDM如图2所示。图2还显示出MDM的另一个要点,即建模知识的分离。在这里“建模知识”是广义的,它至少包括下列几个方面:

  • 表示法(语言或符号、语义、语法等各种预定义的表达要素);
  • 建模方法论,包括过程、方法、规则等;
  • 系统本身或其功能与行为的原理与规律;
  • 预定义模型、参考模型,或系统架构等。

以上第3项常常被忽略,却是基础或支配性的。第4项在实践上非常重要,它是对建模对象认识的归纳和总结,同时也与其他项目相关。

另一方面,在建模知识和应用模型之间存在一个知识分配的平衡:放在建模知识一侧,就会被固化到操作机构中,从而增强了操作机构的能力(甚至最终应用的执行效率),但也可能降低了其“通用性”和“灵活性”(可变性)。放在应用模型一侧,则成为可动态改变的要素,增强了最终应用的可变性,同时也提高了应用模型的复杂性,并或许降低了最终应用的执行效率[1]

需要留意,图2仅仅显示了一个单纯的模型驱动机制,在实际的系统中,它与直接驱动等是共存的。MDM可以被 看作“可相加”的因素,假设对一个功能系统的某些功能“加上”MDM,它就将获得一种新的改变/控制这些功能的能力。

基于MDM,可以简单地导入模型驱动系统(Model-Driven System, )。若一个系统的全部功能与行为都能通过MDM实时地定义、控制和改变,则它是一个“充分的”模型驱动系统。简言之,MDS就是以MDM控制或实现其主要功能的系统。

通过导入MDM,就能在一个更统一基本层次上理解MDA及我们所特别强调的MDS。

1.2 MDS的应用

从MDM应用上说,其应用对象可能是功能系统例如汽车或软件,也可能是企业,甚至开发项目等。

有不少对可执行模型的讨论。虚拟机连同可执行模型就是一个MDS。

模型驱动开发(MDD)同样是MDM在开发系统自身的应用。

就这种情况参考图2,“应用模型”就是系统模型,“执行机构”就是编程员或生成器,输出是软件,其效果是,可以由模型及根据“输入”——用户需求决定软件。很明显,MDS是一个特殊的系统类型,但MDD仅仅与开发或实现过程直接相关。

余彤鹰(2002)指出了二者的关键区别之一:模型的时效性(time-effectiveness of model),即,是“运行期模型”(Run-Time Model),还是开发期模型?这对于我们的主题NEIS是意味深远的。

对MDS型的软件有许多怀疑或争论。这里不能对这个话题展开讨论,但我们认为这只是一个技术课题,并非不可解决(当然也是十分值得解决的)。且我们认为某些怀疑关系到软件方面的一些成见。

在实践中,以MDM为主要功能实现或控制途径,一些软件开发者已经开发了可以支持大型企业应用的解决方案。

事实上,电脑本身就是一个MDS的基本例子——软件正是一种模型,而且它已经在从及其指令、操作系统到应用的多个层次中包含了MDM。

关系数据库管理系统(RDBMS,特别是参照Codd的12条规则)实际上已经为模型驱动系统的可行性和优点作出了经典的范例。

从实现过程说,我们并没有要一步到位地实现MDS(如NEIS)的负担,可以有许多种中间或过渡方案,这种状态也许会持续很久,就好像和Codd的12条规则的在商业性RMDBS中的情形一样。

1.3 MDS对NEIS的意义

如上所述,“模型驱动”对NEIS至少有两方面的基本含义:对开发过程——MDD,或对最终系统类型——MDS。

  • 首先,MDD与MDS均能为NEIS带来多种好处。我们特别强调MDS为NEIS的核心。由于用户需求的不确定性、幼稚性和其生命周期与应用过程的关系(参见对ERAR的讨论),EIS应该有在运行期持续、动态地适应与改变的能力,这是无法回避的根本需求。但仅凭MDD,需求的改变仍然需要通过开发者的建模、编码(转换)过程。因为这并未真正将“应用开发者”和“企业规划者”的工作领域分开,仍将遭遇基于编码的定制或开发同样的问题。也就是说,仅凭MDD,我们并不能摆脱在传统的开发或定制中遭遇的困境,不能充分的满足NEIS的需求。
  • 现代企业,尤其是电脑化企业,因其复杂性和迅速频繁地改变,需要EE。EE是属于企业管理者的领域而非软件开发实施领域的一种专业性活动,是在整个企业生命周期上持续的过程。EE与企业建模及NEIS间的密切关系也是需要MDS的内在因素之一(参见对EE的讨论)。
  • 在EIS和企业模型间存在一种对应或转换。它是实现NEIS为EMDS——企业模型驱动系统的关键。
  • NEIS需要支持EE。简言之,需要实时、动态、企业模型驱动(enterprise-model-driven)。在EE、企业建模和NEIS间的关系是导致对MDS需要的内在因素之一。(见对EE的讨论)
  • 再者,倘若果企业模型足够精确,由模型到可执行软件的编程过程可以自动进行,我们又为什么不将它变成企业平台的能力,达成最佳的应用模式?纵然这种方式会将计算的效率降低——历史和MDS的好处都告诉我们:这无需顾虑。
  • 综言之,我们相信,也许并非所有的企业应用都可以或适合于以MDS方式实现,但EIS或基于信息系统的应用可能正是最适合的类型之一。从实践上看,只要对那些已经积累了许多研究的要素(例如功能、信息、业务过程、组织机构、资源等)中的部分实现集成的动态建模并令其可操作和可管理,就能给企业用户带来前所未有的好处。例如工作流软件。

[1] 对这一点其实有很大的讨论空间,也非常有意义,但限于篇幅就不予讨论了。

编者注:摘自《新一代企业信息系统:从实质性需求分析与研究到模型驱动系统》,第四章(发表于2005年,全文下载:YU_MDEIS2005_050816a_CH.pdf

Copyright

  本发布物版权归原作者所有,经原作者许可在企业工程论坛(EE-Forum.org)公开发布,并允许个人及公益性机构非牟利性使用及传播。传播中需保持从标题、署名到各项内容及此声明包括链接地址等完整内容不变。引用或摘编文中内容或观点应符合公认准则。其它机构,或牟利性使用,请预先取得作者许可。保留一切未说明的权利。
  详细说明见: http://www.ee-forum.org/about/copyright ,管理者电子邮箱:admin(at)ee-forum(.)org

Cite Style

GB7714 style: 余彤鹰. 模型驱动机制与模型驱动系统(MDM&MDS)[EB/OL]. 企业工程论坛, http://www.ee-forum.org/pub/1998-2009/downloads/YU_MDEIS2005_050816a_CH.pdf, 2005年5月[2016-07-31 12:45]

Chicago style: 余彤鹰, "模型驱动机制与模型驱动系统(MDM&MDS)", 企业工程论坛, http://www.ee-forum.org/pub/1998-2009/downloads/YU_MDEIS2005_050816a_CH.pdf(accessed 2016-07-31 12:45)

Posted by   2010-01-01(摘录)   Hits 4834   Modified 2010-01-10(Locked)
Prev Post: 
Next Post: 

Related Entries:

模型驱动软件开发与工程的现状
模型驱动工程的语言与系统国际会议MODELS 2011论文征集
元数据驱动的动态网络服务系统与方法:有关模型驱动应用的最新美国专利
模型驱动机制的意义
提升软件领域模型驱动研究的境界

Leave a Response

You must be logged in to post a comment.