关于UML 2.1+点符号向XMI映射方式的技术问询
UML点符号到XMI的映射说明
从UML 2.1左右版本开始引入的点符号,核心作用是标记关联端圆点旁的角色名是否代表对立类中的拥有属性,UML 2.5版本之后OMG开始大范围普及使用这个符号。关于它在XMI中的映射规则,我们可以从UML规范的具体说明入手:
UML规范第717页提及UMLEdge(Association/Connector/InstanceSpecification/Property/ConnectorEnd,启用isAssociationDotShown)
对应到XMI结构里,确实会在关联端的元素上看到类似isAssociationDotShown的布尔属性。具体来说,当你在XMI中描述关联的ownedEnd(或是ConnectorEnd等对应元素)时,通过给这个元素添加该属性,就能精准映射UML图中点符号的显示状态:
举个简单的XMI片段示例:
<ownedEnd xmi:type="uml:Property" name="owner" isAssociationDotShown="true"> <!-- 关联端的其他属性定义 --> </ownedEnd>
这里的isAssociationDotShown="true"就对应UML图中关联端圆点的显示,用来明确这个角色名对应的属性是由对立类所拥有的。需要注意的是,这个属性直接绑定在关联端的元模型元素上,不管是普通Association、Connector还是其他关联类型,对应的XMI元素(比如ownedEnd、connectorEnd)都可以通过这个属性来控制点符号的状态。
内容的提问来源于stack exchange,提问作者qwerty_so
相关产品推荐
相关产品推荐

