Steve Cook(看到他的说话我觉得有些奇怪,一查他的身份,哦,Micorsofter,难怪)在他的
blog
中说到他在OOPSLA会议MDA小组上的发言,把MDA支持者分成了三个阵营:
1)UML PIM阵营:用UML来构建PIM,转换到PSM,再由PSM生成代码;
2)MOF阵营:MDA的核心是MOF,而不是UML,建模语言和语言转换都基于MOF来描述;
3)可执行UML阵营:构建UML编译器,从而使UML成为一种“编程语言”;
其实我觉得我在前面
blog
中的划分倒更清晰一些:
1) 不严格遵循OMG标准的;
2) 严格遵循OMG标准的;
在那篇blog中,我把它们分别叫做广义和狭义的MDA。
个人感情上,我更倾向于后者。这可能说明了我是个理想主义者。
但现实往往和理想存在差距。
标准化的好处毋庸置疑。标准化带来的重用级别的提高,是所有开发者和广泛意义上的所有开发商所乐意看到的。但具体到利益第一的厂商,大家的ROI和他的ROI,经常是不一致的。
同时,没有了羁傲不逊的厂商们的鞭策(说好听点,是积极参与或民主监督),技术的进步也难以保证(说委婉点,是动力较小)。比如,OMG官僚的作风已经让很多人难以没有微词。
这是一个矛盾。有点像民主和自由。
作为处于大厂商和大组织战场上的小小沙砾,作一个广义的MDAer,显然比狭义的MDAer更现实一些。
Stefan Tilkov已经说,他对EMF的期待,更多于MOF(这是他的
blog
)。
Ps:关于EMF,请看我前面的
blog
。
btw,微软发布了一个DSL的工具,有兴趣的去下载:
Microsoft Tools for Domain Specific Languages Technology Preview
。
Stefan
觉得
微软的DSL让人觉得奇奇怪怪的,让人感觉更象又一种编程语言。哈哈,这话深得我心,虽然我对微软的东西了解不多,但按照他们的宣传,可以对建模的细节描述得多么精确,从而保证模型和代码的同步多么的好,照目前技术的进展,我的确是有不小的怀疑。从那天看到的一点点演示来看,好像也部分证实了我的怀疑。