UML/MDA技术研究

研究UML/MDA/软件工程技术,欢迎同道人互相交流。

用户操作
[即时聊天] [发私信] [加为好友]
袁峰ID:yuandafeng
109004次访问,排名808(-1)好友0人,关注者1
yuandafeng的文章
原创 56 篇
翻译 0 篇
转载 4 篇
评论 98 篇
袁峰的公告
如非声明,均属原创
转载请注明出处,谢谢!

  
   管理

与我联系

栏目

最近评论
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
papam:想拥有你自己的手机软件下载主页吗?风格,背景,幻灯片,广告位全部可定制化,独立子域名!

想制作自己个人DIY的手机写真集和手机电子书吗。

中国手机网姐妹站胖胖网
http://www.papam.cn
给您提供发布软件的最佳平台,优秀的软件还可能获得网站推广宣传哦!

欢迎前来交流!
yuandafeng:对啊,涵涛是这方面的专家,下次我买手机之前一定要好好咨询资讯你 :)
gehantao:欢迎尝试WindowsMobile!
欢迎光临我的博客http://blog.csdn.net/gehantao
aswallow0323:正版盗版的?据说vista总是会莫名其妙死机,是不是?
文章分类
收藏
    相册
    网站
    JavaEye软工版
    MDACHINA
    OMG-MDA
    UMLCHINA
    相关英文blog
    Alan Cameron
    Andrej Koelewijn
    Cockburn
    Don Box
    Grady Booch
    H.S. Lahman
    Jean Bézivin
    Keith Short
    MartinFowler
    Stefan Tilkov
    Steve Cook
    Stuart Kent
    相关中文blog
    J2EE与ERP禅话
    MDA之路(RSS)
    矇矇的秘密基地
    阿飞外传
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 AndroMDA:是真正的MDA实现吗?收藏

    新一篇: OMG 2005年日程安排 | 旧一篇: MicroSoft Vs OMG :DSL Vs UML


    这里有一个老外的blog,其中对AndroMDA是否真正的MDA提出了疑问:

    http://andrej.racchvs.com/archives/2003/08/10/is-andromda-really-a-mda-tool/

    内容如下:

    Is Andromda really a MDA tool?
    The Andromda project just released version 2 of their tool. According to their website Andromda is an open source code generation framework that follow the model driver architecture (MDA) paradigm. It’s a nice tool which will generate j2ee code based on xml diagrams saved as xmi files. So you can design your application in an UML tool (e.g., poseidon), save the diagrams, and then use andromda to generate your application.

    Andromda支持XMI,那么它对MOF标准的支持如何?

    This is all very usefull ofcourse, but how’s this different than UML tools which generate code? What exactly makes this MDA? As i see it, one of the important characteristics of MDA is that is has models on different levels, and you’ll have tool based support to keep these models in sync. The three levels in MDA are PIM, platform independent model, PSM, platform specific model, and the implementation. Currently the combination of Poseidon (or a similar UML tool) and Andromda seems to be missing the PIM level.

    原来他是觉得这里缺少了PIM这一层。

    Ofcourse, if you know j2ee and uml, and you just want to be more productive, the combination of a UML tool and Andromda might be exactly what you need.

    =========================================================

    结果恰巧AndroMDA的首席架构师Matthias路过:

    Hi folks,

    I’m the lead architect and founder of the project AndroMDA and just came across this interesting discussion. I’d like to contribute.

    From my point of view, I say: Yes, AndroMDA is an MDA tool. You have asked: What makes it MDA?

    谈到MDA是什么?他对MDA的理解:

    MDA is all about modeling at a platform-independent level (modeling the PIM) and be able to map this PIM to a concrete technical platform. Two points make this differ from traditional, CASE tool based code generators:
    1) The level of abstraction of the PIM is very high.
    2) The level is maintained over the whole project lifecycle. The mapping to a concrete platform can be changed “after the fact”.

    What does this mean?

    Example for 1): A class in the PIM can mean anything. AndroMDA translates the class to whatever artifact you like, one or more of them. A class in the PIM need not mean a class in the implementation language (e.g. a Java class). The mapping function (product of script helper objects and template code) determines which kind of artifacts are generated. The templates and script helpers are written by the target project’s architects.

    Example for 2): An element of the PIM can be mapped to a few Java classes today but may be mapped to a table of bytes driving a state machine interpreter tomorrow. The PIM element remains the same and does not know about this. The high level of abstraction is maintained. Compare this to code generation techniques in traditional CASE tools! An EJB in a traditional CASE tool remains an EJB forever, even if you should find out after three months that you prefer a Hibernate object!

    Andrej said: “the combination of Poseidon (or a similar UML tool) and Andromda seems to be missing the PIM level.”

    No, we are not missing the PIM but the PSM level, in fact. The models that we design are a kind of “marked PIM”, i.e. a PIM with a small amount of additional markup (tagged values) that configures the code generation process. We skip the PSM because we feel that a PSM does not give our users any additional value.

    In AndroMDA, we have a demo app that we call “the car rental system”. The PIM of this app is so platform independent that I was able to port the whole system from EJB entity beans to Hibernate objects in only one hour, once I had written the Hibernate cartridge for AndroMDA!

    恩,这确实是MDA的初衷也是价值所在。

    One fact made this possible: The high level, platform independent architectural patterns of the car rental app remained invariant. Examples:

    Each component has a facade.
    Each component throws one exception type.

    About the PSM:

    In AndroMDA 3.0, we’ll try to let Eclipse regenerate a kind of “very low level PSM” from the code (the so called abstract syntax tree, or AST) and let Eclipse make refactorings to it when AndroMDA detects a refactoring at the model level. But, I would rather not call this a PSM, either.

    If you want to know more about all this, you have got two options:

    Post questions on the andromda-user mailing list at sourceforge.net.
    Come to my MDA tutorial at the openMDA 2003 conference on Sept. 15 in Cologne, Germany (see http://www.openmda.de ).

    Keep on “MDA-ing”...
    Matthias


    附录:

    下面这个blog中对androMDA的文档给了中文翻译,有兴趣的可以去看:
    AndroMDA是什么?-
    http://starrynight.blogdriver.com/starrynight/149721.html
    AndroMDA:概貌和工作原理- -
     http://starrynight.blogdriver.com/starrynight/149726.html

    初步印象:

    AndroMDA中基于template的形式来进行转换的。从model到text。转换规则被封装为cartridge(Arcstyler中也这么叫)。对于一些特定的应用很有帮助,但未来对于model到model的转换支持,或者说QVT之后的转换实现,目前都觉得不是很清楚……

    发表于 @ 2004年12月29日 19:47:00|评论(loading...)|编辑

    新一篇: OMG 2005年日程安排 | 旧一篇: MicroSoft Vs OMG :DSL Vs UML

    评论

    #袁峰 发表于2006-02-17 16:00:00  IP: 211.100.21.*
    TrackBack来自《[新闻] MDA工具分类方法:一个评价模版》

    呵呵,区别MDA工具和伪MDA工具,这个事情俺在去年就做拉:

    见俺的这个blog:MOF:基于MOF的元建模工具列表

    MOF就是MDA的灵魂!

    相关的blog还有:

    AndroMDA:是真正的MDA实现吗?

    MDA工具列表(最新!)
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 袁峰