【问题标题】:OCL: navigating unidirectional associations against the arrowhead directionOCL:根据箭头方向导航单向关联
【发布时间】:2016-01-30 19:07:33
【问题描述】:

我在这里看到https://wiki.eclipse.org/OCL/FAQ那个

如何在 Ecore 中访问无法导航的对立对象

在 UML 中,一种仅用于在一个中导航的关联 运行时的方向可以用单向箭头绘制。

OCL 评估发生在分析时,并且可以在两者中导航 方向与箭头无关。

这是 OCL 标准的一部分还是只是 eclipse ecore 的一部分?

一个例子:给定两个类 A 和 B,以及从 A 到 B(但不是从 B 到 A)的单向关联。在类图中,这可以用从 A 到 B 的箭头(一条带一个箭头指向 B 的线)来说明。

编写 OCL 约束来导航 这个箭头方向真的是标准的一部分吗?

我在 OCL 规范中找不到任何关于此的内容,请参阅 here

【问题讨论】:

  • 对 OCL 不确定,但 OCL 可以在双方导航似乎是合乎逻辑的。它的目的是在设计时验证模型,而不管实现级别可能应用什么约束。

标签: eclipse uml emf ocl ecore


【解决方案1】:

UML 中的可导航性指示不是绝对的,而只是指示您如何轻松导航。

来自 UML 2.5 规范

可导航性意味着实例在运行时参与链接 (关联的实例)可以有效地从 协会另一端的实例。精确的机制 实现这种有效访问的方式是特定于实现的。 如果一端不可导航,则从另一端访问可能会也可能不会 是可能的,如果是,它可能效率不高。

因此,我认为 OCL 应该能够以两种方式导航,而不管可导航性如何。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2021-11-07
    • 2011-01-02
    • 2012-10-06
    • 1970-01-01
    相关资源
    最近更新 更多