posts - 3,  comments - 1,  trackbacks - 0

          上一篇: BPEL Notes 不小心發在了文章里面,才知道首頁看不到。。。,請大家注意。
          ~~~~~~~~~~~~~~~~~~
          1.MDA
          是什么
          模型驅動的框架。簡單來說就是由原來編程序改成編模型。看起來好像是 4GL 甚至 5GL 的樣子。不過區別還是很大的,一個是語言,一個是模型。

          ?

          2.MDA 和現有的編程語言的關系

          沒關系而又有關系。沒關系是因為 MDA 不與任何一種編程語言邦定。有關系是因為 MDA 最后生成的還是具體編程語言的代碼。

          ?

          3.MDA 的流派

          轉自 Steve Cook

          1. The UML PIM camp: MDA involves the use of UML to build Platform Independent Models (PIMs) which are transformed into Platform Specific Models (PSMs) from which code is generated.

          2. The MOF camp: MDA does not involve the use of UML, but instead the crucial technology is MOF, and the definition of modelling languages and language transformations using MOF.

          3. The Executable UML camp: MDA involves building a UML compiler, making it a first class programming language.

          4. MDD Model Driven Development

          個人覺得:

          最好理解的是第一種,直接用 UML 描述 PIM, 然后轉換為 PSM ,然后再轉成代碼,這當中的每一個轉換都會用到很多已有的 Pattern 或者說技術細節。

          從建模方面來講最靈活和能力最強大的是第二種,同時也是最不好理解的。就像高等代數誰都能用,但是要從代數的基礎理論推導出高等代數的體系就不是人人都能干的了。 MOF 的抽象層次脫離了實際的世界,不過這也是它能夠靈活和強大的基礎。

          最不現實獎頒發給第三種方法,可執行的 UML UML 在設計之初就沒想過要可執行的東西。現在 UML 里面最像可執行代碼的就是 OCL ,不過老早之前 Rule-based 系統就已經出現,而且向我們證明了這種系統只適合特定的需求和環境。那么我們能否擴充UML的動作語義來實現執行呢?簡單的情況是可以的,比如算法的描述即程序流程的描述,動作圖或者狀態圖可以很好的描述這種情況。但是數據庫連接呢? UML 是否要擴展到連關系型數據庫連接都要用個 notation 的程度?那么 UML 就不是建模語言,而是圖形化類庫了。

          第四種我不甚了解,不敢妄加評論。

          ?

          4.MDA 的工具

          基本上現在的 UML 建模工具都或多或少支持 MDA 的功能。如:

          Rational Software Architect

          Enterprise Architect

          Together

          還有很多專門的 MDA 工具,如:

          acceleo

          GMT

          AndroMDA

          ?

          5.RSA 里面的 MDA

          這兩天一直在看紅皮書 Patterns: Model-Driven Development Using IBM Rational Software Architect 。郁悶的事情是我手上的 RSA 6.0.0.0 ,而需要的版本是 6.0.0.1 而且升級要 1G 多。。。。只能紙上談兵一下了。

          個人感覺:最重要的就是 transformation RSA 里面是采用擴展 profiling 的方式來實現 MDA 的。因此首先要做的就是建立商務領域內的 profile 。之后寫一些 transformation 插件來將用這些 profile 描述的需求轉化為 PIM ,之后再利用現有的(或者有需要的話自己擴展的) UML to XXX 插件來轉化為 PSM 和代碼。這個方式理解起來比較簡單,但是需要大量的領域 specific 并且設計良好的 Profile 和轉換器來支撐整個系統。

          另一方面, transformation 插件是以 eclipse 插件的形式存在的,利用了 eclipse 本身良好的插件系統。有點自己開發工具自己用的感覺:)不過在我的機器上真的很慢。。。

          posted on 2006-05-16 14:28 silver.sun 閱讀(721) 評論(0)  編輯  收藏 所屬分類: MDA

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2006年5月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(1)

          我參與的團隊

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 北宁市| 沙洋县| 新营市| 雅安市| 唐海县| 喀喇沁旗| 台山市| 阳春市| 枝江市| 封丘县| 微山县| 奉化市| 北票市| 墨竹工卡县| 正蓝旗| 谢通门县| 竹北市| 郴州市| 黄浦区| 盐边县| 庐江县| 阳山县| 北宁市| 枣阳市| 东乡族自治县| 班戈县| 靖江市| 宜昌市| 荔浦县| 沧源| 板桥市| 平陆县| 沈阳市| 滨海县| 武夷山市| 宜兴市| 林西县| 黄龙县| 沾益县| 炎陵县| 深州市|