通过OCL在Papyrus中分层派生对象

时间:2017-08-02 08:32:42

标签: uml ocl papyrus

对UML / OCL / Papyrus不熟悉,对此的缺乏交流让我觉得我可能走错了道路:

在类图上工作我想分层a)作为合成成员的所有对象和b)从另一个接口继承的所有接口。也就是说,我会说,通过直接和间接关联进行分层。

在纸莎草纸中,我可以通过简单地向图层添加元素来实现这一点。更方便的是使用Reg Exp Layers,它选择在OCL布尔表达式上返回TRUE的所有元素。举个例子,很容易通过self.element.oclAsType(uml :: NamedElement).name =' myclass'

将单个元素放在自己的图层上。

但我还想把所有(向下)相关元素放在' myclass'在那一层。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

回答:https://www.eclipse.org/forums/index.php/mv/msg/1087968/1769850/#msg_1769850

虽然图层可能允许您将多个逻辑图折叠到一个图表中,但它似乎非常错误。

我发现,一旦图表变得非常重要,绘制一个显示继承体系结构的图表,另一个包含体系结构以及可能的构建/破坏,通信体系结构的图表是有帮助的。强制与层的位置共享似乎产生了不期望的限制。请记住,UML图是底层模型的视图。您可能有许多不同视图的图表。