Grady Booch展望UML之路

[2004/6/7]

Grady Booch,IBM Rational分部首席科学家,UML的关键发明者之一。Booch近日和Darryl K. Taft讨论微软的建模策略对UML可能产生的影响。

Booch特别提到了微软主席和首席架构师Bill Gates在最近eWEEK的采访中的评论。

你对微软的建模技术有什么想法吗?

我一直在跟踪Bill的言论,包括一年左右之前微软财政会议上他关于建模的第一次声明

因此,我实际上是很高兴看到他越来越更多地参与进来-因为,和他一样,我们都完全同意这一点,建模将越来越重要。

单击这里 阅读微软在Burton中支持UML的诺言,Burton是其新的Visual Studio 2005团队系统。

现在,我们面对的系统正遇到日益壮大、异构、多平台、多语言、分布、安全、并行以及可信赖的复杂等问题,我们的观点是,建模正是解决之道。

那么,是什么时候我们开始和Bill开始共同关注这些的呢,应该是两年前,从在San Francisco发布Visual Studio .Net算起,有时候建模成了我们相互的“雷达屏幕”。有人曾和我说,“天阿,有人在搞分裂(因为微软采取的是和UML所不同的方案)。”

我的观点是,很高兴看到微软认识到建模的重要性。因为我们已经为之努力多年,而且我们也很高兴地看到几乎所有的主流平台厂商都在真正进入这一领域。

看看 [Sun公司的James] Gosling以及他的TopHat项目,这显然是在同一方向上的努力。天阿,当你面对这些对手的时候,有一点是可以保证的:巨大的变化是不可避免的(it certainly indicates there's a sea change)。

现在,我们着不同的见解。当然,我们是坚定地基于UML符号以及其公开标准的。但看起来微软对他们在这一点的立场有些像是在胡扯,尽管我认为现在他们确实是清清楚楚在做一些和UML所不同的东西,尽管你必须要了解他们在做什么。

如果你回溯我们和微软的关系,你会发现,实际上他是我们在UML联盟中最早的拍档。当Jim [Rumbaugh]、Ivar [Jacobson] 和我(UML三友)在创建UML的时候,我们要让我们的工作稳定可靠,我们意识到我们需要更多的听众,因此,微软是我们联系的第一个伙伴。
事实上它们也对UML本身做出了实质的贡献。UML 的界面标识、语义以及符号都是直接基于微软的工作的。

这里 可以读到更多的IBM在建模方面的工作。

现在,不管为什么原因-你将不得不问微软,为什么他们这么做,或者为什么不那样做-直到我们将UML成文提交,微软都一直和我们在一起。但当我们把UML提交给OMG以寻求标准化的时,微软却选择了不参与。但是,从最长的时间来看,微软是参与过UML的努力的。

你从微软现在对UML的评价中看到了什么迹象?

嗯,Bill对UML的看法有些是我认为不精确的。UML的标识已经变成了一个复杂的元模型,而且UML也在变得越来越复杂……嗯, 如果你打开一个操作系统或者其他任何技术的内部,从外面看,它是非常丑陋的。

而且,坦率地说,UML的元模型就是UML被打开的内部的部分。因此它……我还是不愿意说是复杂;我更愿意说它是语义丰富。但是这对于工具开发商来说是非常重要的,而且UML的实际的使用者是永远不会看到这些的。

其意义就在于,借助如此丰富的元模型,像我们这种工具开发商可以作很多有趣的事情-这些可以重构的符号,在Elipse中比其他IDE(集成开发环境)中更容易绘制,因为Elipse中提供的元模型更加丰富一些。

这使得转换的源的自动化成为可能,如果考察更高的抽象层,转换的形式可以是模式,并且用户可以将他们应用到系统中。

实际上,即使基于Bill的建议,我们也有相同的愿景-我认为有一个,尽管有着不同的实现-那就是对这个领域的各种内容的事实的影响。

我们已经看见了语言上的稳定。当然,我们看见了新的C#,但是,它不能和Java、Smalltalk或者C++相比,C#并不是语言上的真正变革。

因此,这也保证了一些稳定性。底层的平台发生了转移,基于较少的裸的操作系统而更多是基于中间件层。

Danny Sabbah,IBM软部门的首席架构师,认为中间件是Internet时代的操作系统。因此,这是另一个转移。

因为,我们看到的就是两件事情的发生:语言的稳定和向中间件的转移-以及一个事实:人们在构建越来越复杂的东西。

我们看到了建模、模式和部分基于这些的方面(aspects)标识的影响。我们认为,建模就是一个长长过程的起点、帮助提高抽象层次。

但是,你没有发现一些问题吗?比如,共同的愿望,但是不同的实现?

恩,我确实失望过,而且将继续失望,如果微软不选择UML的道路。UML是全行业成千上万的人花费多年时间努力的结果,它实际上一个非常可行的标准。

因此,我对微软不选择参与进来表示失望,因为世界上又会出现一种新的编程语言,或者建模语言。

但是,这甚至超出了语言的纯粹语义。你必须认识到,围绕一个语言,有一个大的生态系统-事实就是,有很多相关的书籍和课程,UML已经编织来看一个在高校内部甚至涉及高中课程的网络。

因此,已经有这么一个生态系统支持UML成为一个标准,人们将开始使用它、赞成它,并实际了解如何应用它。

但是,如果你应用另外一种不是公开标准的语言。恩,你必须拥有关于它的一整套教育。调查的结果应该是令人失望的。

你感觉围绕的举动是他们对Rational和IBM的反应吗?

恩,我从来不想猜测微软的想法,但Rational显然已经置于到IBM整个工具策略之中。对IBM,它不仅仅意味着是一个IDE,而是更加重要是,所有其他的产品生命周期管理工具将围绕它建立。

软件开发最终是一个团队运动。因此,我们将关注编译器的加速以及其他一些事情,但是最终,它是要把项目中涉及到的各种人都紧密结合起来。

尤其是在外包情况下,团队成员的日益分布在不同的地理位置。但在这里我们将不深入讨论这一点,这本身就是一个焦点问题。

这也意味着,不仅需要具有单个的开发人员的经验,也需要有团队开发的经验。这也正是Rational追求已有一阵子的目标了。

而且事实上,作为微软的拍档,我们为它们的顾客提供了很多。但是现在,作为IBM的一部分,我仅仅是不得不在微软的策略中留下一个空缺。

单击这里 阅读IBM关于微软的应用生命周期工具举动的更多回应。

在建模领域中,你看到了一些好的事情吗?

恩,如果你看看涉及到UML的公司,它们为小公司们提供了一个整体的宿主(host),所有大的平台开发商都已经在某种程度上参与到UML中了。

Borland公司显然是在这一行列之中的。另外,还有一些关于UML的开源项目-ArgoUML可能是最早的一批之中的。而且你可能认为它们给我们带来了麻烦。

但是,作为同样信仰开源的一员,我知道这将激怒Redmond的一些人,我认为这是一个好事情,因此它代表了市场的部分,并且它促使我们增加价值,事实就和开源社区跟我所说的一样,它们的支持者已经遍布天下。

单击这里 ,阅读Borland JBuilder X的介绍。

好,那么UML目前渗透有多么深入了呢?

你可以在很多地方看到UML的渗透,但这并不是一个全部是或者否的问题。最酷的是UML的良好设计保证了它可以满足很多不同的涉众的需要。

因此,尽管你阅读规约的话,发现它是如此的乏味,但在实践中的事实是-这是我们所期待将发生而且应该发生的-是,不同的涉众使用UML的不同方面。

比如,我最近和某些使用UML来描述系统部署的人打电话。因此,我看到了大型的企业系统,其中你要询问自己的一个问题是,所有这些部署的部分中,瓶颈在哪儿?它们的版本是什么?对这些问题,有不同的方法可以来进行可视化。

但有趣的是,你可以用UML来进行可视化。因为它意味着我可以使用同样的语义、同样的可视化方法同网络工程师沟通,他对编程一无所知,但这种同样的语言也可以被你的安全人员所理解,它也需要了解这些模型。

因此,我们看到的是-我们在模型驱动开发方面的特别努力在于UML确实在一些部分增加了价值,首先跃入脑海的三个就是部署、业务规则和模式。

但这每一个都不是完整的UML,而只是UML的一部分。但事实在于他们都在使用各种UML的手段。作为一个开发经验丰富的人,你可能有清晰和唯一的设计思路,但是开发总是存在足够的“噪音”,因此所有可以降低摩擦的方法,以及同一的语言都会起到帮助作用。

因此,微软现在许诺对建模的支持底线是什么呢?

很高兴看到他们现在开始考虑这个。我们已经认为建模是主流,有一阵子了。但事实是微软现在也开始认识到这一点,这是非常非常酷的。

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

posted on 2004-07-04 01:49  voyage  阅读(537)  评论(0编辑  收藏  举报

导航