首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

DSM 實戰:使用 MetaEdit+ 建立家族樹模型語言

     編輯:關於.NET

前言

MetaEdit+ 是領域特定建模(DSM)領域的標杆產品。本文以 MetaEdit+ 官方範例「家族樹建模語言」為例,詳細記錄從元模型定義到模型演進的完整流程,幫助開發者快速掌握 DSM 工具開發的核心概念與操作步驟。

一、 環境準備與範例概覽

從 MetaCase 官網下載 MetaEdit+ Workbench 31 天試用版,安裝後內建 UML 等範例模型。本範例目標:建立一個家族樹圖形建模語言,支援人物、家庭關係、性別區分等概念,並能生成視覺化家族圖譜。

二、 GOPPRR 元模型語言核心概念

MetaEdit+ 採用 GOPPRR 元模型架構,包含六大核心元類型:

  • Graph(圖):獨立模型容器,如「家族樹圖」。
  • Object(對象):圖的主要元素,如「Person(人物)」。
  • Property(屬性):描述元素特徵,如「First Name」、「Family Name」。
  • Port(端口):定義連接語義,限制關係連接點。
  • Relationship(關係):連接對象,如「Family(家庭)」。
  • Role(角色):關係與對象的連接介面,如「Parent(父母)」、「Child(子女)」。

家族樹語言對應關係:Person 為 Object,Family 為 Relationship,Parent/Child 為 Role,姓名為 Property,初期無 Port 定義。

三、 逐步建立家族樹模型語言(5 步驟)

  1. 建立 Person 對象:定義屬性(First Name, Family Name)。
  2. 設計 Person 圖形符號:使用 Symbol Editor 繪製視覺表徵。
  3. 建立 Family 關係:定義連接兩個 Person 的關係類型。
  4. 定義 Parent、Child 角色:分別關聯 Family 關係的兩端。
  5. 建立 Family Tree 圖類型:整合上述元素,定義圖的工具箱與規則。

完成後即可在模型編輯器中拖放建立家族樹實例。

四、 模型演進:支援性別區分與連接約束

隨著需求變更,模型需支援男女性別區分,並限制連接語義(如:父親只能連接為 Parent 角色)。

  1. 修改 Person 屬性:新增 Gender 屬性。
  2. 繼承建立 Male、Female 子類型:從 Person 衍生,分別擁有專屬符號(如方形/圓形)。
  3. 更新圖定義:工具箱中替換為 Male、Female 兩種對象工具。
  4. 引入 Port 端口:在 Male/Female 定義輸入/輸出端口,限制 Family 關係的連接點(如:Male 只能作 Parent)。
  5. 驗證生成:建立新家族圖,驗證性別符號與連接規則生效。

五、 結語

MetaEdit+ 以「元模型驅動」方式,讓領域專家能快速建構專屬建模語言。家族樹範例展示了從核心概念定義、視覺符號設計、關係角色約束,到模型演進擴充的完整生命週期。若您計劃開發領域專用建模工具,MetaEdit+ 的 GOPPRR 架構與圖形化定義環境極具參考價值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved