0

我在这里读到https://wiki.eclipse.org/OCL/FAQ

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

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

OCL 评估发生在分析时,无论箭头如何,都可以双向导航。

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

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

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

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

4

1 回答 1

2

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

来自 UML 2.5 规范

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

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

于 2015-10-30T11:32:15.827 回答