`
touchmm
  • 浏览: 1038591 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

MicroSoft Vs OMG :DSL Vs UML

阅读更多
转载几篇文章:

其实对我们这些用户而言,更愿意面对一个统一的标准,如果这个标准更简单易用同时保证足够的强大,则是最好。

1. “微软抛弃了UML” UML之父猛烈批评微软软件工厂
http://www.csdn.net/news/newstopic/18/18770.shtml
2. 微软反击批评:我们从未抛弃UML
http://www.csdn.net/news/newstopic/18/18785.shtml
3. Ivar Jacobson:厂商分歧导致UML和MDA举步惟艰
http://www.csdn.net/news/newstopic/18/18784.shtml
4.
软件工厂+DSL: 微软对MDA的回答
http://www.umlchina.com/News/Content/181.htm

为方便查看,我把它们转贴在下面了:


“微软抛弃了UML” UML之父猛烈批评微软软件工厂
(2004.12.13) 来自:IBM developerWorks

“UML三友”之一的Grady Booch近日发表了一篇blog,猛烈批评了微软的“软件工厂”概念。软件工厂实际上可以看作微软对MDA(模型驱动架构)的表述,强调用领域专有语言描述系统,并通过代码生成得到最终的可执行程序。

Grady Booch首先指出,“软件工厂”这个词就很令人失望,因为制造业的“工厂”理念并不适用于软件,Tom DeMarco等人早已证明过这一点。Booch还把“软件工厂”称作是“marketecture”,即“只有市场宣传价值的架构”。

更重要的是,Grady Booch非常反对微软弃UML于不顾、采用自家私有的领域专用语言(Domain-Specific Language,DSL)。Booch认为,UML足以描述绝大多数的领域问题和设计,而引入另一套DSL只会让软件开发各方之间的交流愈加困难。

这篇blog的全文请看:http://www-106.ibm.com/developerworks/blogs/dw_blog_comments.jspa?blog=317&entry=67637&ca=dgr-jw22MSrejectsUML


微软反击批评:我们从未抛弃UML
(2004.12.14) 来自:CSDN 熊节

几天前,UML创始人之一Grady Booch以激烈的言辞批评“微软抛弃了UML”。很快,被他直接批评的两位微软专家Steve Cook和Harry Pierson分别撰写blog发起了反击。

Harry Pierson首先指出,微软从未“抛弃UML”,他认为这种批评是对微软的污蔑和诋毁。他认为微软一直在支持UML,然而UML也仅仅是一种工具,它有适用的场合,也有不适用的场合。而微软的技术专家们一直讨论的是“如何在UML不适用的场合用DSL补充完善”,这并不意味着微软抛弃了UML,只是因为UML有像Grady Booch这样的大师在支撑,不需要微软付出更多的精力来研究。

(Harry Pierson的blog全文:http://blogs.msdn.com/devhawk/archive/2004/12/10/279729.aspx

另一位微软技术专家Steve Cook则继续讨论UML和DSL的语意问题。在他看来,不是各家厂商不愿意遵循UML来实现MDA(Ivar Jacobson:厂商分歧导致MDA举步惟艰),而是因为UML的语意实在不能算精确,因此它更多的价值是在开发者之间的交流,而不是自动生成可执行代码。为了能够根据模型自动生成可执行代码,微软和别的厂商不得不选择增加自己专有的DSL。他认为造成这种状况的正是因为UML的不够精确和标准化进程缓慢。

(Steve Cook的blog全文:http://blogs.msdn.com/stevecook/archive/2004/12/08/278507.aspx



Ivar Jacobson:厂商分歧导致UML和MDA举步惟艰
(2004.12.13) 来自:CSDN
<!--StartFragment -->

(以下是Ivar Jacobson在CSDN聊天活动中所说的话。聊天全文参见http://event.csdn.net/ActDetails.aspx?AID=3daffc21-3238-4ef8-82a8-2003cde27d79

嘉宾[主持人]
我记得两年以前做采访的时候,我当时问你未来有什么新技术的趋势,你提到可执行的UML,现在可执行的UML的发展怎么样呢?
[2004-12-8
<?xml:namespace prefix = st1 /><time minute="50" hour="15"><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: darkgray; FONT-FAMILY: 'Century Gothic'">15:50:00</span></time>]<?xml:namespace prefix = o />


嘉宾[Ivar Jacobson]
可执行的UML实际上并没有如我所预期的发展。原因可能实际上存在着不同的标准,从UML到可执行的UML,因为要和具体的软件的代码要相关,而在软件代码,从UML到软件代码这方面不同的厂商有不同的做法,现在看上去大概有三种途径都可以从UML快速转到代码,包括IBM,包括微软,还有Borland都可以做。但是,事实上这几家最终没有达成共识性的东西,所以,可执行的UML作为标准提出,实际上还是有待时日。

实际上MDA就是模型驱动的体系结构),这种开发方法和可执行的UML的现状是完全相同的,实际上由于各家在标准上还没有达成共识,实际上对开发人员来讲,对最终用户来讲,还没有一个非常统一的一个解决办法。

IBM
现在实际上在领导和倡导一个标准的形成,IBM采纳了比如说UML这样的技术,另外IBM也积极的倡导像开发源码,像Eclipse,像IBM所做的一切,都是为软件领域做一个非常好的贡献。但是,实际上我也担心,在这个圈子里面其他的厂商未必去沿着IBM的路线去走。


软件工厂+DSL: 微软对MDA的回答
Stephen Swoyer

[2004/12/1]

两年前,OMG推出了MDA,用UML来自动化来自应用、中间件或者定制组件的软件集成。顾问公司META集团的副总裁Thomas Murphy认为,从某种程度上说,软件工厂和与之相关的领域特定语言DSL(Domain Specific Languages)的概念,是微软对MDA的回应。

“MDA是OMG的软件工厂。微软的目标是DSL领域,因此很多事情都是建立在观察建模以及事情运转的不同视角(View)的价值之上”
那么,微软认为一个DSL是什么呢?微软企业框架和工具组的架构师Keith Short指出,许多开发人员已经在使用DSL工作了-虽然他们自己还不知道。

“SQL就是我们用得很好的一种DSL”,Keith解释,开发人员使用SQL的过程中并不需要了解关系数据库是如何工作的。

好,那么这和软件工厂的概念有什么关系吗?对初学者而言,微软把软件工厂作为自动化一些手工任务和封装领域知识的一种方式。举例来说,领域知识可以被封装为代码或者组件,并可以容易地被复用。Short认为,这也就是DSL的设计目的:从开发人员的角度来看,DSL可以帮助抽象某个特定领域的复杂度(例如架构、过程、技术标准等)。如Web services就很复杂,要求开发人员要了解哪些service是可用的,如何连接的细节等。Short指出,“设想你可以把这些抽象到一个DSL,这个DSL就是关注特定开发环境的工具”。

和Web services一样,SQL 是多年来标准化努力的成果。微软和其它开发商都有义务来开发好的工具帮助开发人员创建自己的DSL。Short说,“要实现理想的场景,我们要做的事情之一就是要帮助设计人员简单地构建DSL并实现它们……”

这个软件巨人在九月的OOPSL会议上发出了DSL的呼吁,并捧出了一个新的工具集,帮助开发人员在图形化环境下定义、编辑DSL。Short指出,藏在该工具集后面的想法就是使得“软件工厂的创建者可以更容易地描述一些事物之间的交互,例如源代码和schema之间。”

微软的动作已经引起了开发人员的关注,即使是像Michael Hudson这样过去对微软的技术通常不屑一顾的程序员。Hudson是Praxis公司的程序员,J2EE专家。他认为DSL是微软的软件工厂中最有震撼力的思想。但他认为很多思想都是从其它的技术例如XDE中借用过来的。XDE是Rational支持MDA方法的RAD工具。

Hudson 说,“我觉得他们找对了关键的地方,那就是:高层建模必须用领域特定的语言来描述。你可以更快地得到你所面对领域的业务逻辑,开发过程更快更有效。我觉得,软件工厂这个概念如果能够获得成功的话,应该是因为在DSL上的创新。”

开发人员是可以将他们的经验用DSL的方式进行封装的,这是完全有可能的。这实际上也是他们对自己工作或多或少的抽象。

但Thomas Murphy认为这种事情将不会发生,“我们已经推动这个概念很久了:通过抽象来简化软件开发,使得谁都可以进行软件开发。但未来还是会需要大量有创造力的开发人员,在软件开发的最前线去开发组件、进行设计”。

(自adtmag,UMLChina袁峰 摘译,不得转载用于商业用途)




分享到:
评论

相关推荐

    OMG 统一建模语言(UML) V2.51 英文版

    Unified Modeling Language® (OMG UML®) V2.51.pdf This specification defines the Unified Modeling Language (UML), revision 2. The objective of UML is to provide system architects, software engineers...

    OMG UML Specification.7z

    "OMG UML Specification.7z" 包含了UML 2.5.1的官方规范文档,对于深入理解和应用UML至关重要。本文将详细介绍UML中的关键概念和图表,以便于读者更好地掌握这一强大的建模工具。 首先,UML 2.5.1规范中包含了五种...

    最新版 OMG --UML (Unified Modeling Language) 2.51

    UML 2.51版是UML标准的最新修订版本,由对象管理组织(Object Management Group,简称OMG)负责维护。UML是一种面向对象的建模语言,它提供了一组丰富的图形符号和文本模板,这些符号和模板可以帮助开发人员、分析师...

    UML讲义UML讲义UML讲义

    1997年,UML 1.1版本被Object Management Group(OMG)接纳为标准,进一步巩固了其在业界的地位。 **UML的性质:** UML本身只是一种建模语言,它不包含具体的建模过程。建模方法应该包括建模语言(如UML的图形符号...

    UML2.0规范 UML Specification 2.0

    UML 2.0是该语言的第二个主要版本,由Object Management Group(OMG)制定并维护。OMG是一个国际标准组织,致力于创建和推广面向对象技术的标准。UML 2.0的发布极大地扩展了UML的表达能力和灵活性,使其成为现代软件...

    UML2规范参考 Object Management Group Unified Modeling Language (OMG UML)

    UML(Unified Modeling Language),统一建模语言,是软件开发领域中一种重要的建模工具,由Object Management Group(OMG)制定并维护。UML2是其最新的版本,相比UML1,它在功能性和表达力上都有显著提升,旨在更好...

    OMG Unified Modeling Language(OMG UML) V2.5.1 (with change bars)

    OMG Unified Modeling Language(OMG UML)是Object Management Group(OMG)组织制定的一种建模语言,用于软件系统的设计和开发。UML是一种可视化工具,它为软件工程师提供了标准化的方式来描述系统的静态结构和...

    UML 2.0 Infrastructure-10-11-16.pdf

    《UML 2.0 Infrastructure 规范》是对象管理组织(OMG)发布的一份标准文档,旨在详细阐述统一建模语言(UML)的基础设施部分,版本为2.4。这个版本是对UML 2.3规范的次要修订,取代了2010年5月4日发布的正式版本。...

    OMG Unified Modeling Language (OMG UML) V2.5.1 -2017 - 完整英文电子版(7

    OMG Unified Modeling Language (OMG UML),全称为对象管理组织统一建模语言,是软件工程领域中一种广泛使用的建模工具,旨在帮助系统分析师、设计师和开发人员以图形化的方式表达软件系统的结构和行为。UML 2.5.1是...

    UML2.1.2Infrastructure.rar_Number 11_OMG

    《UML2.1.2 Infrastructure 规范详解——基于 OMG Document Number formal/2007-11-04》 UML(统一建模语言)是软件工程领域广泛使用的建模工具,用于可视化、规格化和构建复杂的系统。UML2.1.2版本的发布,是对UML...

    eclipse UML2插件

    3. **Eclipse UML2插件**:该插件是Eclipse中的一个扩展,基于OMG(Object Management Group)的UML2标准。它提供了丰富的UML模型元素操作,包括创建、修改和导航。用户可以通过插件直接在Eclipse中绘制UML图,将...

    uml_tutorial

    UML 由 Object Management Group (OMG) 创建,并在 1997 年 1 月向 OMG 提交了 UML 1.0 规范草案。自那时起,OMG 一直致力于将其发展成为真正的行业标准。 #### UML 的特点与用途 UML 与 C++、Java 和 COBOL 等...

    uml2.0-test-profile.rar_OMG

    《UML 2.0测试概览:OMG组织与软件测试的紧密联系》 UML(统一建模语言)2.0是软件工程领域中一个重要的建模工具,它为系统、软件以及业务流程提供了可视化表示的标准。作为其拓展,UML 2.0 Test Profile是由OMG...

    火球UML大战需求分析

    Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,...

    UML包:软件建模的瑞士军刀

    UML(Unified Modeling Language,统一建模语言)是一种标准化的建模语言,广泛...UML 是由 Object Management Group(OMG)创建的,UML 1.0 规范草案于 1997 年 1 月提交给 OMG,OMG 不断努力创造一个真正的工业标准。

    UML标准2.1.2英文版(PDF格式)

    UML由OMG(Object Management Group,对象管理组织)制定并维护。本文将基于给定的UML标准2.1.2版文档进行详细的知识点解析。 #### 1. 发布背景与版本更新 - **发布时间**:该文档发布于2007年11月。 - **版本概述...

    UML for Java Programmers中文版

    UML由Rational Software Corporation最初开发,后来被OMG组织采纳并进一步发展。 ### UML与Java程序员的关系 对于Java程序员而言,学习和掌握UML是非常重要的。这是因为Java作为一种面向对象的编程语言,其设计...

    UML建模介绍

    - **1997年**:Object Management Group (OMG)接受UML作为面向对象系统视觉建模的标准语言。 - **当前版本**:UML的最新版本为1.4。 - **官方文档**:可以在OMG的官方网站www.omg.org上找到UML的官方规格文档,文档...

Global site tag (gtag.js) - Google Analytics