2.MDA 和现有的¾~–程è¯è¨€çš„å…³¾p?/span>
没关¾p»è€Œåˆæœ‰å…³¾p…R€‚æ²¡å…³ç³»æ˜¯å› ä¸?/span> MDA ä¸ä¸Žä»ÖM½•一¿Uç¼–½E‹è¯a€é‚¦å®šã€‚æœ‰å…³ç³»æ˜¯å› ä¸?/span> MDA 最åŽç”Ÿæˆçš„˜q˜æ˜¯å…·ä½“¾~–程è¯è¨€çš„代ç ã€?/span>
3.MDA 的测z?/span>
转自 Steve Cook åQ?/span>
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 åQ?/span> Model Driven Development åQ?/span>
个äh觉得åQ?/span>
最好ç†è§£çš„æ˜¯ç¬¬ä¸€¿U,直接ç”?/span> UML æè¿° PIM, ç„¶åŽè½¬æ¢ä¸?/span> PSM åQŒç„¶åŽå†è½¬æˆä»£ç åQŒè¿™å½“ä¸çš„æ¯ä¸€ä¸ªè{æ¢éƒ½ä¼šç”¨åˆ°å¾ˆå¤šå·²æœ‰çš„ Pattern 或者说技术细节ã€?/span>
ä»Žå¾æ¨¡æ–¹é¢æ¥è®²æœ€ç‰|´»å’Œèƒ½åŠ›æœ€å¼ºå¤§çš„æ˜¯½W¬äºŒ¿Uï¼ŒåŒæ—¶ä¹Ÿæ˜¯æœ€ä¸å¥½ç†è§£çš„。就åƒé«˜½{‰ä»£æ•°è°éƒ½èƒ½ç”¨ï¼Œä½†æ˜¯è¦ä»Žä»£æ•°çš„基¼‹€ç†è®ºæŽ¨å¯¼å‡ºé«˜½{‰ä»£æ•°çš„体系ž®×ƒ¸æ˜¯äh人都能干的了ã€?/span> MOF 的抽象层‹Æ¡è„±¼›ÖMº†å®žé™…的世界,ä¸è¿‡˜q™ä¹Ÿæ˜¯å®ƒèƒ½å¤Ÿç‰|´»å’Œå¼ºå¤§çš„基础ã€?/span>
最ä¸çŽ°å®žå¥–é¢å‘¾l™ç¬¬ä¸‰ç§æ–ÒŽ³•åQŒå¯æ‰§è¡Œçš?/span> UML ã€?/span> UML 在设计之åˆå°±æ²¡æƒ³˜q‡è¦å¯æ‰§è¡Œçš„东西。现åœ?/span> UML é‡Œé¢æœ€åƒå¯æ‰§è¡Œä»£ç 的就æ˜?/span> OCL åQŒä¸˜q‡è€æ—©ä¹‹å‰ Rule-based ¾pÈ»Ÿž®±å·²¾l出玎ͼŒè€Œä¸”呿ˆ‘ä»¬è¯æ˜Žäº†˜q™ç§¾pÈ»Ÿåªé€‚åˆç‰¹å®šçš„éœ€æ±‚å’ŒçŽ¯å¢ƒã€‚é‚£ä¹ˆæˆ‘ä»¬èƒ½å¦æ‰©å……ï¼µåQL的动作è¯ä¹‰æ¥å®žçŽ°æ‰§è¡Œå‘¢ï¼Ÿ½Ž€å•的情况是å¯ä»¥çš„åQŒæ¯”如算法的æè¿°å³ç¨‹åºæµ½E‹çš„æè¿°åQŒåŠ¨ä½œå›¾æˆ–è€…çŠ¶æ€å›¾å¯ä»¥å¾ˆå¥½çš„æ˜q°è¿™¿U情å†üc€‚但是数æ®åº“˜qžæŽ¥å‘¢ï¼Ÿ UML 是å¦è¦æ‰©å±•到˜qžå…³¾pÕdž‹æ•°æ®åº“连接都è¦ç”¨ä¸?/span> notation 的程度?那么 UML ž®×ƒ¸æ˜¯å¾æ¨¡è¯a€åQŒè€Œæ˜¯å›‘ÖŞ化类库了ã€?/span>
½W¬å››¿U我ä¸ç”šäº†è§£åQŒä¸æ•¢å¦„åŠ è¯„è®ºã€?/span>
4.MDA 的工�/span>
基本上现在的 UML 建模工具都或多或ž®‘支æŒ?/span> MDA 的功能。如åQ?/span>
Rational Software Architect
Together
˜q˜æœ‰å¾ˆå¤šä¸“é—¨çš?/span> MDA 工具åQŒå¦‚åQ?/span>
5.RSA 里é¢çš?/span> MDA
˜q™ä¸¤å¤©ä¸€ç›´åœ¨çœ‹çº¢çš®ä¹¦ Patterns: Model-Driven Development Using IBM Rational Software Architect 。éƒé—ïLš„事情是我手上çš?/span> RSA æ˜?/span> 6.0.0.0 åQŒè€Œéœ€è¦çš„版本æ˜?/span> 6.0.0.1 而且å‡çñ”è¦?/span> 1G 多。。。。åªèƒ½çº¸ä¸Šè°ˆå…µä¸€ä¸‹äº†ã€?/span>
个äh感觉åQšæœ€é‡è¦çš„å°±æ˜?/span> transformation ã€?/span> RSA é‡Œé¢æ˜¯é‡‡ç”¨æ‰©å±?/span> profiling çš„æ–¹å¼æ¥å®žçް MDA çš„ã€‚å› æ¤é¦–å…ˆè¦åšçš„ž®±æ˜¯å»ºç«‹å•†åŠ¡é¢†åŸŸå†…çš„ profile 。之åŽå†™ä¸€äº?/span> transformation æ’äšgæ¥å°†ç”¨è¿™äº?/span> profile æè¿°çš„需求è{åŒ–äØ“ PIM åQŒä¹‹åŽå†åˆ©ç”¨çŽ°æœ‰çš„ï¼ˆæˆ–è€…æœ‰éœ€è¦çš„è¯è‡ªå·±æ‰©å±•çš„åQ?/span> UML to XXX æ’äšgæ¥è{åŒ–äØ“ PSM 和代ç 。这个方å¼ç†è§£è“væ¥æ¯”较简å•,但是需è¦å¤§é‡çš„领域 specific òq¶ä¸”设计良好çš?/span> Profile å’Œè{æ¢å™¨æ¥æ”¯æ’‘整个系¾lŸã€?/span>
å¦ä¸€æ–šw¢åQ?/span> transformation æ’äšg是以 eclipse æ’äšgçš„åÅžå¼å˜åœ¨çš„åQŒåˆ©ç”¨äº† eclipse 本èín良好的æ’ä»¶ç³»¾lŸã€‚有点自己开å‘工兯‚‡ªå·Þq”¨çš„æ„Ÿè§‰ï¼šåQ‰ä¸˜q‡åœ¨æˆ‘的机器上真的很慢。。ã€?/span>