MicroSoft Vs OMG :DSL Vs UML

文章转载了几篇与微软和UML相关的文章,包括UML之父批评微软抛弃UML,微软反击称未抛弃,以及厂商分歧致UML和MDA发展艰难等内容,还提及微软对MDA的回应,方便用户查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载几篇文章:

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

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

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


“微软抛弃了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) 来自:优快云 熊节

几天前,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) 来自:优快云
<!--StartFragment -->

(以下是Ivar Jacobson在优快云聊天活动中所说的话。聊天全文参见http://event.youkuaiyun.com/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工作了-虽然他们自己还不知道。

dsl1.jpgequations.gif

“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袁峰 摘译,不得转载用于商业用途)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值