如何在UML的活动图中使用上下文属性?

时间:2016-02-23 13:19:00

标签: uml

考虑以下类图:

enter image description here

班级System处于活动状态,其行为是持续

  • filter传递时致电PressureSensorFilter PressureSensor.Pressure作为参数
  • 调用Display.show传递输出参数 PressureSensorFilter.filter作为参数

我想通过System来模拟ActivityDiagram的行为。

执行此操作的主要挑战是访问PressureSensor的属性System。 在阅读UML 2.5规范之后,我认为唯一的方法是使用ReadSelfAction(pag 457 UML 2.5规范)和ReadStructuralFeatureAction(pag 466 UML 2.5规范),如下面的Activity所示图:

enter image description here

,其中

  • ReadSelfAction提供当前实例System
  • 作为输出
  • ReadPressureSensorFe..是一个REadStructuralFeatureAction,它在输入引脚处读取对象的属性PressureSensor,在这种情况下是当前的系统实例。
  • CallBesselFilter.filter ActionCallDisplay.show Action分别是CallOperationActionPressureSensorFilter.filter两个Display.show

这个问题是非常复杂和不清楚的。 是否有通过活动图描述系统行为的更简单,更清晰的方法?

2 个答案:

答案 0 :(得分:0)

ReadSelfAction 作为额外的动作是多余的。您可以像这样减少控制流:









过滤器从 Pressure class'属性中读取压力。过滤后的输出将发送到 Display 并循环....





您应该查看SysML。它旨在应对您遇到的那种问题。




答案 1 :(得分:0)

这完全取决于您希望在活动图中提供的详细信息。您提供的图表是正确的。顺便说一句,它的详细程度可以直接用于生成代码。如果您想描述更抽象的行为,请不要使用读取结构特征等操作。但在您的示例中,它是非常好的和精确的描述方式。