Свойство isAssociationDotShown является свойством UmlDiagramWithAssociations (UML 2.5 § B.7.15) в приложении B обмена диаграммами UML и описывается как
isAssociationDotShown : Boolean [1..1] = false
Указывает, следует ли использовать точечную нотацию для ассоциаций.
Обратите внимание, что по умолчанию это свойство имеет значение false, что означает, что на диаграмме не должны отображаться точки ассоциации.
Сама точечная запись определена в UML (UML 2.5 § 11.5.4) как
Принадлежность концов ассоциации ассоциированному классификатору может быть обозначена графически маленьким закрашенным кружком, который для краткости мы будем называть точкой.
Отображение в XMI на самом деле не что иное, как право собственности на члены ассоциации.
Пример из спецификаций UML: ![введите здесь описание изображения](https://i.stack.imgur.com /Fnf2j.png)
Пример 1: точка с обеих сторон
Связь между InteractionFragment
и Interaction
имеет точку с обеих сторон, что указывает на то, что оба конца принадлежат противоположному классификатору.
И действительно, в xmi, предоставленном OMG, мы находим:
<packagedElement xmi:type="uml:Association" xmi:id="A_fragment_enclosingInteraction" name="A_fragment_enclosingInteraction" memberEnd="Interaction-fragment InteractionFragment-enclosingInteraction"/>
без собственных целей. Оба конца принадлежат классификаторам на концах как OwnedAttributes
<ownedAttribute xmi:type="uml:Property" xmi:id="Interaction-fragment" name="fragment" type="InteractionFragment" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_fragment_enclosingInteraction">
<ownedComment xmi:type="uml:Comment" xmi:id="Interaction-fragment-_ownedComment.0" annotatedElement="Interaction-fragment">
<body>The ordered set of fragments in the Interaction.</body>
</ownedComment>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-fragment-_upperValue" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-fragment-_lowerValue"/>
</ownedAttribute>
И другой:
<ownedAttribute xmi:type="uml:Property" xmi:id="InteractionFragment-enclosingInteraction" name="enclosingInteraction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_fragment_enclosingInteraction">
<ownedComment xmi:type="uml:Comment" xmi:id="InteractionFragment-enclosingInteraction-_ownedComment.0" annotatedElement="InteractionFragment-enclosingInteraction">
<body>The Interaction enclosing this InteractionFragment.</body>
</ownedComment>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionFragment-enclosingInteraction-_lowerValue"/>
</ownedAttribute>
Пример 2: точка на одной стороне
Связь между StateInvariant
и Constraint
имеет точку только на конце Constraint
Сама связь определяется в XMI как:
<packagedElement xmi:type="uml:Association" xmi:id="A_invariant_stateInvariant" name="A_invariant_stateInvariant" memberEnd="StateInvariant-invariant A_invariant_stateInvariant-stateInvariant">
<ownedEnd xmi:type="uml:Property" xmi:id="A_invariant_stateInvariant-stateInvariant" name="stateInvariant" type="StateInvariant" subsettedProperty="Element-owner" association="A_invariant_stateInvariant">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_invariant_stateInvariant-stateInvariant-_lowerValue"/>
</ownedEnd>
</packagedElement>
Конец без точки принадлежит ассоциации.
Конец с точкой принадлежит StateInvariant
как ownedAttribute.
<ownedAttribute xmi:type="uml:Property" xmi:id="StateInvariant-invariant" name="invariant" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_invariant_stateInvariant">
<ownedComment xmi:type="uml:Comment" xmi:id="StateInvariant-invariant-_ownedComment.0" annotatedElement="StateInvariant-invariant">
<body>A Constraint that should hold at runtime for this StateInvariant.</body>
</ownedComment>
</ownedAttribute>
Импорт в ЕА
К сожалению, похоже, есть ошибка в функции импорта xmi в EA, поскольку она теряет понятие принадлежащих концов (и, следовательно, точек). При импорте в EA (v14.5 BETA) результат такой:
![введите здесь описание изображения](https://i.stack.imgur.com/NPJlP.png)
person
Geert Bellekens
schedule
17.04.2018