回答
只要您使用關聯,最好避免使用EMF。
我記得,這是可能的......我沒有插件了...
看看HERE,部分3.2。創建Ecore圖
這不是我所需要的,我的問題是關於EMF中不同類型的關係,它似乎只有3個:簡單的關係(EReferences,Composition(containment),inheritances),我正在尋找如何進行聚合。但是,無論如何感謝你;) – TheCyberXP 2012-04-24 11:54:10
我認爲,當'EReference.containment = True'時,引用被認爲是Composition‖任何父對象在子對象中具有包含引用(EMF元模型中的containment = true)管理生命週期那個孩子「 否則它將被視爲聚合。 – M3HD1 2012-04-24 12:24:59
第一部分是確定的,但你的「其他」部分沒有:)它將被認爲是一個簡單的關係。這就是爲什麼我要問如何進行彙總 – TheCyberXP 2012-04-24 12:28:21
這是真的,EMF中只有組合關係嗎?
的種類。在EMF中定義關聯的唯一方法是使用EReference
(實際上,它們中的一對是精確的 - 每個方向一個)。 EReference有一個'Containment'標誌。它在生成期間由EMF使用:例如,在生成的EMF編輯器中,containment=true
允許您創建引用類型的子節點。如果不是,你只能參考他們。
但是:更相關的問題是:你是什麼意思的聚合與組成? UML中的聚合非常鬆散,每個人都有自己的解釋。
也許你可以說更多關於你想用Aggregation vs Composition來表達的規則嗎?
hth。
好吧,我將解釋我的問題一種例子。假設我們有3個模型:房間,牆壁,椅子。關係{房間,牆壁}是一種構圖關係(牆壁不能在沒有房間的情況下「居住」),但關係{房間,椅子}是我們可以單獨實例化房間和椅子的集合體,而我沒有找到如何在EMF中表達這種關係。在UML中,它由空白/白色菱形表示,但組成由黑暗/完整菱形表示。明白了嗎? – TheCyberXP 2012-04-24 11:46:29
確定有幫助。然後兩件事。 (1)我真的不認爲你需要聚合。你有一個簡單的二元關係。 UML中的聚合是一件大事 - 語義非常薄弱,它在實踐中不會爲直接二進制提供價值。所以這導致點(2):只是使用一個「EReference」,包含設置爲{房間,主席}爲假。心連心。 – sfinnie 2012-04-24 13:18:41
- 1. 使用MongoDB的聚集到了現場
- 2. 使用Android中的磁場
- 3. Spring集成聚集錯誤
- 4. 場的拆分內容分成2場
- 5. 聚集索引的外鍵VS主鍵
- 6. 貓鼬羣聚集不回場
- 7. 彈性搜索:聚集,通過場
- 8. 的MgO聚集和分組
- 9. 廣場電子商務API集成到客戶的網站
- 10. MongoDB:性能優化:聚合管道(一個集合)VS聚集加上附加查詢分離集合
- 11. Xeon Phi中的分散/聚集
- 12. [R傳播VS聚集在tidyr
- 13. Spring集成聚合器
- 14. 的SensorManager:磁場範圍
- 15. 實體vs聚合vs聚合根
- 16. LINQ - 分組和聚集
- 17. R聚集在部分列表中
- 18. 騾子聚集 - 流聚集
- 19. 電子ffmpeg集成
- 20. DirectX SDK與VS 2010集成
- 21. 蒙戈聚集 - 積累了場的值的不同羣體
- 22. Open Graph的Beta版:匯聚的「集團通過」現場
- 23. 如何在android中使用磁力計找到磁場強度
- 24. 開始在C++中建模磁場線
- 25. 總分配使用較小的聚集
- 26. PostgreSQL的數據分析/聚集
- 27. iPhone中的電話卡集成
- 28. 多場不同的聚合MongoDB中
- 29. CUDA中用於電磁學的3D有限差分時域(FDTD)
- 30. Mule批處理vs foreach vs分離器聚合器
爲什麼?這個不清楚,請你詳細說明 – TheCyberXP 2012-04-25 09:40:00
關聯屬性應該由目標分類器擁有,並保存爲UML2中的一個屬性。只要你不能用EMF定義完整的UML關聯屬性,那麼這是無用的。 EMF是面向Java代碼的,在Java中,聚合和組合之間沒有區別。只有在模型或圖形層面上才能看到它。希望這個幫助:-) – 2012-04-25 14:02:47