Uml 用OCL分层纸莎草中的衍生对象

Uml 用OCL分层纸莎草中的衍生对象,uml,ocl,papyrus,Uml,Ocl,Papyrus,作为UML/OCL/Papyrus的新手,缺乏关于这一点的交流让我觉得我可能走错了路: 在处理类图时,我希望将a)作为组合成员的所有对象和b)从另一个接口继承的所有接口分层。也就是说,我会说,通过直接和间接关联进行分层 在纸莎草中,我可以通过简单地在一层中添加元素来实现这一点。更方便的是使用Reg Exp层,它选择OCL布尔表达式上返回TRUE的所有元素。例如,通过self.element.oclAsType(uml::NamedElement).name='myclass' 但我也希望将“my

作为UML/OCL/Papyrus的新手,缺乏关于这一点的交流让我觉得我可能走错了路:

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

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

但我也希望将“myclass”的所有(向下)相关元素放在该层上。有什么建议吗?

回答:

虽然层可能允许您将多个逻辑图折叠成一个图,但这似乎是非常错误的

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

回答:

虽然层可能允许您将多个逻辑图折叠成一个图,但这似乎是非常错误的

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