程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> DSM:使用MetaEdit+編寫Family Tree Modeling Language

DSM:使用MetaEdit+編寫Family Tree Modeling Language

編輯:關於.NET

在信息系統開發平台OpenExpressApp - 總體架構的由來中說到MetaEdit+是全球DSM領域內著名的產品,OpenExpressApp將借鑒它的思想來形成自己的模型引擎,本篇介紹一下如何使用MetaEdit+來建立一個家族模型語言,這個也是MetaEdit+提供的一個示例,通過家族樹語言的生產來加深對MetaEdit+的了解。如果你也想開發自己的建模工具,那麼推薦你也去研究一下。

MetaEdit+下載

去官方網站MetaCase下載Free 31-day evaluation version of full MetaEdit+ Workbench,它自帶一些示例模型,例如UML示例的一個圖的界面如下:

需求

對家族樹進行建模,圖形建模後如下:

GOPPRR 元模型語言

再開始之前介紹一下GOPPRR原模型語言。對於家族樹圖形語言表示如下,在圖中標識了多個元類型,每個類型有自己的功能和語義:

Eachmetatype has its function and semantics as follows:

Graph 圖:一個獨立模型,通常使用圖來表示

Objects 對象:圖的主要元素,例如例子中的Person

Property 屬性:圖、對象、端口、角色和關系都可以擁有一些屬性描述

Port 端口:定義角色如何連接對象的可能語義

Relationship 關系:讓對象連接在一起

Role 角色:連接關系與對象之間

家族樹例子使用這些元類型表示如下:Person為對象,Family為關系,Parent、Child為角色,First name、Family Name為屬性,沒有定義端口,整個顯示為一張圖

實現家族樹模型語言

生成對象Person,對象屬性如下:

生成標記

在上圖Object Tool中點擊【Symbol Editor】按鈕,彈出標記編輯器界面,生成標記如下:

生成關系Family

生成角色Parent、Child

生成圖Family Tree

  

經過上面5步,Family Tree模型語言就輕易地建立起來了,這一步主要是應用模型語言生成家族樹

模型演進

上面只是實現了一個簡單的家族樹模型,一般模型會隨著要求不斷演進,對於上面示例我們現在做一下演進:Person區分男性和女性

修改Person屬性

增加從Person繼承下來兩個對象:Female和Male對象

增加男性和女性標記

修改圖(Graph)定義

增加端口,限制連接點

再次修改Graph定義

應用模型生成一個家族圖

轉載請注明:http://zhoujg.cnblogs.com/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved