• 2004-11-13

    微软的Domain-Specific Language

    Tag: Tech

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://sharing.blogbus.com/logs/494515.html

     微软发布了他的Domain-Specific Language,不过需要MS Visual Studio.Net 2005才能安装。
     http://lab.msdn.microsoft.com/vs2005/teamsystem/workshop/dsltools/
     没有MS Visual Studio.Net 2005,没法试一试这个工具。粗看一下介绍,这应该是一个建模工具,类似于UML;不过,他利用模型生成的代码不再是固定的,而是可以进行定制的。终于有主流厂商开始推广MetaCASE了,但前景仍然不能乐观,因为类似极限编程技术的流行,使得使用UML进行建模的CASE工具丢失了很多战场(Is Modelling dead?),而MetaCASE tools的空间会更加狭小。比较著名的MetaCASE工具有Objecteering的UML Modeler和UML profile Builder(支持UML2.0和OMG定义的完整的MDA过程,包含了定义UML profile、由PIM到PSM的映射工具)和meta modelling工具MetaEdit+(UML profile和meta modelling代表了两种对UML进行扩展的不同的方式,light weighted和heavey weighted,可以参考OMG的网站,解释为什么UML profile选择了light weighted)。使用领域建模或者Meta Modelling技术,在解决领域问题时可能会非常得心应手,能够大大的提高软件的生产效率。
     从另一个方面来说,XML Schema与UML同样可以应用在建模领域内(XML Schema和UML, 谁的描述能力更强呢?我看过一篇W3C的文章,它认为XML Schema可能更胜一筹),因此对于微软的DSL解决的问题,完全可以使用XML+XML Schema+XSLT加以解决(而且,);sf.net上的Butterfly项目是类似思想的一个尝试。Butterfly项目利用UML工具,将模型导出为XMI(XML MetaData Interchange)格式,再将XSLT应用在导出的XMI文件上,从而生成所有的EJB以及EJB的所有描述符。比起来,Butterfly的思想更接近MDA,而不是Meta Modelling(不过很遗憾,Butterfly Code Generator这个项目已经很久没有任何Activity了)。

    收藏到:Del.icio.us




    评论

  • 你好!
    请问这个博客是否可以转让给我……sharing这个子域名不错,而且看你长期也不用了……谢谢了。等待你的回复……

    papa_other@hotmail.com
  • 最近JetBrains也发布了他的http://www.onboard.jetbrains.com/articles/04/10/lop/mps.pdf,AOP 还没学完,LOP又出来了