日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MetaModelEngine:域模型定义

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MetaModelEngine:域模型定义 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

 每一個DSL的核心都是一個域模型,它定義了這一語言所代表的各種概念,以及這些概念的屬性和它們之間的關系,在創建DSL每一個元素時都是使用域模型來描述。域模型還為語言的其他方面的建立提供了基礎:圖形符號、工具箱、資源管理器、屬性窗口、驗證、序列化和部署、代碼生成等的定義。在MetaModelEngine:元模型引擎開發思路中介紹總體思路,本篇著重考慮一下域模型定義相關內容。?

模型架構圖

GOPRR為元元模型層、領域概念為元模型層、產品規格為模型層、實例為系統應用層。對于域模型定義,我們主要關注GOPRR這一層。

域模型概念:GOPPRR

  • Graph 圖:一個獨立模型,通常使用圖來表示,我們還支持列表和矩陣兩張表格方式的展現
  • Objects 對象:域類
  • Property 屬性:圖、對象、端口、角色和關系都可以擁有一些屬性描述
  • Port 端口:定義角色如何連接對象的可能語義
  • Relationship 關系:域關系
  • Role 角色:連接關系與對象之間

屬性和非屬性對象

元模型對象分為屬性和非屬性對象,非屬性對象都可以定義多個屬性對象。Graph、Object、Port、Role和Relationship都是非屬性對象。它們的屬性定義如下:

對象屬性附加信息說明
PropertyName 名稱
?
Ancestor 父屬性
?
Project 域模型基于存儲庫管理,這里指定所屬項目 
DatatypeString字符串
?
Text文本備注 
Number數字 
Boolean? 布爾 
Createion Timestamp生成日期 
Collection:Item type集合類型,指定集合項類型,可以為String、Graph...、Object...、Port...、Role...、Relationship…
Graph…彈出選擇【圖形】對象對話框,選擇項目中的一個圖形對象
Object… 
Port… 
Role… 
Relationship… 
WidgetInput Field輸入框
Editable List:Values列表編輯
Fixed List:Values枚舉值
Default Value 默認值 
Value Regex 正則檢查串 
Description 描述 
Object
Relation
Role
Port
Graph
的基本信息
Name 名稱 
Ancestor 父對象 
Project 所屬項目 
Properties[]Local name屬性作為公共對象存儲,在對象本身中引用后可以設定屬性在本對象中顯示的名稱
Unique?是否唯一
?
Description 描述 

圖形對象

在MetaEdit+中式通過如下窗口進行定義的:

??

它們之間是通過一個叫做綁定Bindings的虛擬對象關聯起來的。在綁定中可以包含多個關系,每個關系可以包含兩個或更多的角色,每個角色可以包含多個對象,關系如下圖所示:


注:圖中還可以定于約束,這個在現階段不考慮。

域關系

圖形對象由Relationship、Roles、Objects三種對象組成,關系鏈接多個對象,關系與關系之間不進行連接:

  • 關系是有方向的

在圖中綁定設置中定義關系時,每個關系都是有先后順序的,定義是第一個Role為關系的源,也就是我們畫關系時連接的第一個對象代表的Role,其他順序依次類推。

  • 重數(Cardinality)

對于關系綁定中對于Roles,我們可以指定重數(1,0..1,0..N,1..N),如下圖所示:










?本文轉自 jingen_zhou 51CTO博客,原文鏈接:http://blog.51cto.com/zhoujg/524447,如需轉載請自行聯系原作者


創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的MetaModelEngine:域模型定义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。