{UML2.0} MDA Process and Transformation

MDA Process — PIMs and PSMs

  1. 建構最高層次的抽象模型(abstract model)。該模型是獨立於各平台的實做技術,稱之為 PIMs (Platform Independent Models)。
  2. 轉換(Transform) PIM 至與平台相依的可被建構的實作模型,此一轉換過程需經過適當的裁適(tailor)。例如,可以將 PIM 轉換為資料庫的 E-R (Entity-Relationship)模型或者是 EJB (Enterprise Java Bean) 模型。與平台相依、可被具化的實作模型稱之為 PSMs (Platform Specific Models)。
  3. 轉換 PSMs 至程式碼 (Source Code)。

Model Tranformation

Model Tranformation

MDA 轉換(Transformation)程序

  • 轉換的程序分為兩個步驟 (由支援 MDA 轉換工具提供):
    • 第一道:由 PIMs -> PSMs
    • 第二道:由 PSMs -> Source Code
  • 轉換定義 (transformation definition) 明確地描述如何由 PIMs 轉 PSMs,或由 PSMs 轉程式碼。轉換定義是在 MDA 轉換工具內所支援。

Transformation definitions inside transformation tools

轉換定義 (Transformation Definition)

  • 從 PSMs 轉換至特定平台的語言時 (如本例中的 C#),其 “UML to C#” 的轉換定義需要明確描述可產出 C# 語言的轉換規則。
  • 由此觀之,轉換定義 (transformation definition) 會是被定義在來源 (Source),如 UML 及 目標 (Target) ,如 C# 等模式語言之間。

UML to C# Transformation

轉換、轉換規則、轉換定義

  • 轉換(transform),係根據轉換定義(definition),經由自動化 (automation) 的程序,可以將來源模型 (source model) 轉換為 目標模型 (target model)。
  • 轉換定義,係由一組規則 (rule) 所群集,來描述來源語言 (source language) 的模型 (model) 是如何轉換至目標語言(target language) 的模型。
  • 轉換規則 (rule),是一個敘述 (description),描述在來源語言內一到多個的建構 (constructs),是如何可以被轉換至目標語言內的一到多個建構。

基本 MDA 框架 — Overview

  • 從開發者的角度而言,PIMs 及 PSMs 是整個 MDA 框架內最重要的元素。
  • 開發者首先要能懂得先從最抽象的層次,來設計產出 PIMs 模型。
  • 再則,開發者選擇適當的 MDA 轉換工具,並根據實體平台的考量,透過工具將 PIMs 轉換成與平台相依的 PSMs 模型。

Overview of the basic MDA framework

〈參考資料〉

  • 附圖摘錄自 “MDA Explained” 一書。
  • 參考書目:”MDA Explained”, By Anneke Kleppe, Jos Warmer, Wim Bast, isbn: 0-321-19442-X, Addison Wesley 2003。
  • 參考書目:”MDA Guide”, By Joaquin Miller, Jishnu Mukerji, OMG 2003。

文章導覽

   

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *