簡體   English   中英

Papyrus UML:使用配置文件(元模型擴展)將類型添加到屬性

[英]Papyrus UML: add a type to a property using a Profile (Metamodel Extension)

我正在Eclipse中使用Papyrus UML定義配置文件。 我用幾個構造型類擴展了元類“類”和“屬性”。 我可以在實際模型中正確看到新的構造型。 我想做同樣的事情,在個人資料中定義自己的類型,以將它們用於模型中類的屬性。

示例:我想在基本Java Type中未定義的HashMap類型的類中具有一個屬性。 我可以在配置文件中定義一個<<Primitive Type>>類,將其命名為“ HashMap”,但我不清楚我需要擴展哪個UML元類。

如果您有時間,請提供一個有關配置文件定義的分步示例。 非常感謝!

您不需要擴展現有的UML元類來創建新類型。 在UML元模型中,定義了一個屬性(一個Property )通過引用type鏈接到Type 可以附加到屬性的Type可以是Inteface/Class/PrimitiveType... 實例 實際上,一部分UML基本類型只是在導入的其他模型中定義的PrimitiveType實例(請在您的UML模型XMI中查找packageImport )。

Property的類型設置為Integer ,將Property實例的類型設置為名為IntegerPrimitiveType實例。 因此,如果您要使用HashMap類型,則只需創建一個名為HashMapPrimitiveType實例(已完成)即可。

但是,當您將模型“綁定”到Java時,我懷疑您可能希望對通用類型進行建模(例如HashMap<String, Integer> )。 為此,您將必須處理UML模板。

http://www.uml-diagrams.org/template.html

在這種情況下,您將必須使用兩個名為HashMap形式參數創建可模板化的Class並將其綁定,以生成綁定類型。 然后,您將能夠使用綁定類型作為Property實例的類型(也不需要UML元模型擴展)。

注意PrimitiveType是UML元類。 您可以使用構造型 (在這里說A )擴展它,以創建更完善的PrimitiveType元類。 如果執行此操作,則可以在UML模型中創建A實例,但不希望將A用作Property類型。 您將只能使用創建的A實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM