Enterprise Engineering Forum

企业工程论坛
Categorized as: 企业应用   Tagged as: ,, ,

模型即所能

Author: 余彤鹰,  Source: 企业工程论坛,  Published: 2013-02-19

Excerpt: 模型驱动应用(MDApps)的一个重要特性可概括为“模型即所能”(what can be done is what can be modeled),或参照众所周知的短语缩写WYSIWYG称为(what you model is what you handle, WYMIWYH)。在此也显示出与软件领域模型与建模方面的主要思路模型驱动工程或模型驱动软件开发(MDE / MDSD)的基本差别。

在一项将发表的工作[1]中,我们指出,模型驱动应用(MDApps)的一个重要特性,是基于模型的适应性,这也是我们所谓“模型驱动”的本意,在企业应用主题下,我们这样表述这一特性:

业务分析师可以对什么业务建模(按照预定的元模型),就可以在MDApp上处理什么业务;一个设计良好的平台将可能添加新的模型驱动器以支持新的业务(模型)。

这就是说,对于MDApps,模型表示什么决定最终用户可以做什么——应用模型决定用户可基于MDApp处理何种业务。这一特征可简洁地概括为:模型即所能(what can be done is what can be modeled),或参照众所周知的短语“所见即所得”(WYSIWYG),称为”what you model is what you handle”, WYMIWYH。这并不唐突,背后隐藏着计算机应用的重要原理,它们看来是迄今相当程度上被忽视的。

在我们搜集的大量文献[2]中,很少涉及相关理念的清楚阐述;我们追溯到Brian C. Smith(1985)[3]所提出的基于模型的思想,将它视为这一理念的一个逻辑性的起点。Smith将相关的原理概括为这样一句口号:“一切计算都离不开表达”(”no computation without representation”),而这个表达背后的实质就是模型。我们的理念并非Smith观点的重复,超出了他早期工作中对于有关表达和必要的中介模型在计算中的作用的阐述;我们揭示的核心原理之一,就是模型驱动机制(MDM)。我们还特别澄清并强调了介于计算机和所谓现实世界之间的中介模型是现实世界事物的模型,也就是在计算机应用中,作为业务处理对象的事物的模型——计算机软件本身并不是这种模型(抽象)而是拥有和处理它们。我们所说“能做”或“能处理”,是指最终用户基于模型驱动应用平台所做的事情,业务——甚至不能简单说是软件的功能。在这里,应用模型所建模的事物,是软件应用中用户要基于计算机处理的事物,而不是像在模型驱动工程或模型驱动软件开发(MDE / MDSD)中那样,是软件(对象/类)本身。

从面向问题或功能设计的角度来看,MDApp的软件开发任务面对的功能性问题通常并非最终用户理解和直接处理的问题,例如建立修改删除销售单,而是在更抽象(或一般化)的层次上,例如“按用户设定的方式达成某种实体生命周期上特定/可能的作业”——这些作业也许被用户命名为下单审核批准执行等等,而并非由编程员一一编码实现的功能,在MDApp开发中,它们的实现通过这样几个基本方面:规定某一类型事物模型的元模型、开发支持该元模型的驱动器(或称引擎)和建立该类目标事物的实例模型(作为应用模型)。

尽管在字面上似乎很接近,MDApp和相关理念必须区别于当前MDE/MDSD领域的主要认识。MDE/MDSD的一个基本特征或核心价值可概括为能够建立什么样的模型就能得到什么样的软件(模型表示什么决定软件是什么):一方面,就好像说,能画出什么样的图纸就能造出什么样的汽车,MDE的自动代码生成相当于根据图纸自动造出汽车;另一方面,其好处在于对设计(蓝图)工作抽象层次的提升——这种提升令设计者可以尽可能地忽略细节,例如仅仅给出发动机的参数、特性而不需设计其结构细节和材料。另一方面,同样用汽车这个比喻,MDApp的意义则类似于普通汽车添加了自动驾驶设备——WYMIWYH意味着你能够为它画(输入)什么地图,它就能认(行走)什么路。也许有点讽刺意味,尽管十年来一直强调这种区别[4],我们的工作却仍然发表在一个MDE专著中。这或许就是现实状况反映:软件领域涉及到模型与建模,几乎一直围绕着MDE所概括的主导思想,虽然这个领域的一个口号是“一切皆为模型”[5],但实际上被排除在外的(至少是严重忽略)恰恰是我们所说的那种模型。对于这一话题,在论文[1]中也结合MDA的计算无关模型(CIMs)等概念进行了讨论。此外,我们也发现,有一些关于运行时模型和自适应软件的研究也“附着”于MDE/MDSD这个领域。事实上,我想,这种定位的“尴尬”也正是创新的特征。

——–

[1] Yu, T.-Y., Model-Driven Applications: Using Model-Driven Mechanism to Bridge the Gap between Business and IT, In: Progressions and Innovations in Model-Driven Software Engineering, edited by Díaz, V.G. et al., IGI Global, July 2013 (in press), 参见简介 (email me to tongying@ee-forum.org if you want review it personally quickly)
[2] 个人近年收集整理的文献,仅在models and modeling这一目录下,经初步筛选(大致浏览过摘要、结论等)的数量,保守估计可能超过2000份,主要是来自软件、计算机科学领域,还包括科学哲学等领域。
[3] Smith, B. C., The limits of correctness, ACM SIGCAS Computers and Society 14, no. 1 (1985): 18-26.
[4] 企业工程论坛仍然保留着早期的讨论,例如从业务模型与体系结构的关系到MDS与MDA的区别企业应用与信息系统架构及模型驱动系统MDS(一)(二)(三)等。
[5] Bézivin, J. “On the unification power of models.” Software and Systems Modeling 4, no. 2 (2005): 171-188.

Copyright

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

Cite Style

GB7714 style: 余彤鹰. 模型即所能[EB/OL]. 企业工程论坛, http://www.ee-forum.org/wp/pub/ty/2013-02-p3470.html, 2013-02-19[2017-08-22 03:33]

Chicago style: 余彤鹰, "模型即所能", 企业工程论坛, http://www.ee-forum.org/wp/pub/ty/2013-02-p3470.html(accessed 2017-08-22 03:33)

Posted by   2013-02-19(Original)   Hits 4357   Modified 2013-02-19
Prev Post: 
Next Post: 

Related Entries:

一个模型驱动企业应用平台架构方案框架
模型驱动应用(MDApp):以模型驱动机制跨越业务与信息技术鸿沟
模型驱动机制与模型驱动应用系统
用模型驱动机制解释模型驱动应用与模型驱动工程及其本质区别*
模型驱动软件开发与工程的现状

Leave a Response

You must be logged in to post a comment.