2013年5月2日 星期四

Eclipse Modeling Projects

講到 modeling,這是一個抽象的東西。不過我想 Unified Modeling Language (UML),應該有不少人都聽過才對。而 Model Driven Architecture (MDA) 聽過的人可能就少了點...

以 UML 的 Class Diagram (類別圖) 來說,可能有些人有玩過。當我們設計了一個如下的簡單的類別圖:
我們是否能將上面的類別圖直接轉換成程式碼?答案是肯定的,印象中現在已經有不少工具是可以將 UML 建構出來的 MODEL直接轉換成可執行的程式碼,微軟的VISUAL STUDIO 似乎也有一套這樣的工具,而 ECLIPSE 也當然有這樣的東西。

ECLIPSE 具相當多的 Modeling Projects 而且還是OPEN SOURCE, 如: Eclipse Modeling Framework (EMF), Graphic Modeling Projects (GMP), Textual Modeling Framework (TMF) ... etc.

當我們在解決各式各樣的問題的時後,有些時後我們可能會定義一些自己的 model來幫忙自解決問題。而我們自己定義的這些 model 是不是一樣可以跟 UML 一樣轉換成我們要的程式碼?答案也是肯定的。透過ECLIPSE 的Modeling Projects,我們可以很輕鬆的做到這件事。

以底下的範例來說:
筆者自己定義了幾個 pattern , , 想要來協助撰寫 dual core (mpu+dsp)的程式,然後將這些定義好的 pattern model在轉換成對應的程式碼。我們就可以用eclipse本身所提供的一堆 modeling tools/projects 來做到這件事。



上圖的範列就不多做解釋,因為不是本篇重點,而且那只是筆者曾經小小的論文的一部份。

不過 ECLIPSE對筆者來說,確實是一個知識的寶庫,可以直接跟著有十幾年軟體經驗的人學習,再來後續的幾篇會來整理有關 EMF, GEF, GMF 的介紹。