因此,假设我有一个简单的关系,其中一个“汽车”是由“车轮”(通过“有”关系)组成的。
我知道,在汽车的上下文中,我可以在OCL中很容易地看到与这辆车相关的车轮,通过编写self.has获得一套与这辆“汽车”相连的“车轮”。
然而,有了这样的组合关系(相对于单向关联),是否有可能在“车轮”的背景下重新导航到“汽车”?如果是,应如何做?(如果出于某种原因,我们需要在“车轮”而不是“汽车”的背景下工作。(只是为了这个问题)
发布于 2022-10-21 04:46:19
OCL中的所有关联都可以在任一方向导航。OCL规范第7.5.4节解释了如何从远程类型名称(例如self.Car )和self.CarCar::has模糊的情况下推导出未指定的角色名称。
注意:无论UML定义是单向关联还是双向关联,都没有区别。UML或Ecore定义了运行时的可导航性。OCL关注分析/编译时可见性;所有关联都可以在各个方向导航。
https://stackoverflow.com/questions/74147935
复制相似问题