一、MDA的規劃及實現
MDA的規劃其實是非常宏偉的,MDA顯然充分意識到了問題的復雜性,所有嚴格區分了MDA四類模型:
1、計算無關模型(Computation Independent Model, CIM)
2、平臺無關模型(Platform Independent Model, PIM)
3、平臺特定模型(Platform Specific Model, PSM)
4、實現相關模型(Implementation Specific Model, ISM)。
其中3、4二個模型解決軟件基礎設施問題,也即如今熱門的業務基礎平臺問題。模型驅動實現的關鍵在于,從PIM到業務基礎平臺如何對接。就MDA的規劃來看,主要是通過模型交換。但可執行UML(xUML)顯然給出了另一種快捷的方式。這樣,就有二種模型驅動的實現方式:
xUML--就是使用動態執行引擎直接執行UML模型
模型交換--就是把PIM模型變換為容易執行的PSM模型
MDA更多的是從白盒視角規劃了業務基礎平臺的實現架構?蓤绦蠻ML的模型驅動程度無疑更高。且較之MDA采用PSM來解決對多平臺的支持,xUML則是類java跨平臺的方式,顯得更為敏捷。
二、計算的邏輯模型或邏輯服務模型
更重要的是,xUML實際上消解了PIM與PSM的區分,而專注于計算的邏輯模型。所以,在關于《新一代企業信息系統研究與開發綱要》的對話中,我用不嚴格的語言表術了這個問題:
從現實的觀點出發,邏輯層(或服務層)才是模型驅動的關鍵。就一般而論,業務模型與技術體系的松散耦合,是以邏輯服務層為中介的。所以,我得出一個結論:一套良好的服務元語義,可能是模型驅動系統的關鍵。
這里,我把計算的邏輯模型稱為邏輯服務模型,是想融合進SOA的思想(而不是技術)。所謂一套良好的服務元語義就是指一種xUML的規范。顯然,這里一個隱含的前提是,UML語言本身并不能直接作為這種規范,需要在其上擴展,尤其是融合DSL,方能構建出良好的服務元語義。
當然,這里出現了拋開UML另起爐灶的觀點。從理論上,這也是可行的。比如,Microsoft就可能這樣做。但是,這個成本太高,也只有Microsoft玩得起。事實上,模型驅動的思想很早就出現了。如今通過MDA流行起來,實際上是得益于UML的成功。拋開UML談模型驅動,明顯缺乏根基。最近UMLChina上的一個消息微軟: "UML and more" 的延期和期待表明,就是財大氣粗的Mcrosoft也并不想赤裸裸地拋開UML鬧革命。所以:
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/