【问题标题】:How to use context properties in an Activity diagram in UML?如何在 UML 的活动图中使用上下文属性?
【发布时间】:2016-02-23 13:19:00
【问题描述】:

考虑下面的类图:

System 类是活动的,它的行为是持续的

  • 通过PressureSensorFilter 调用filter PressureSensor.Pressure 作为参数
  • 调用Display.show传递输出参数 PressureSensorFilter.filter 作为参数

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

这样做的主要挑战是访问System 的属性PressureSensor。 在阅读了 UML 2.5 规范后,我认为唯一的方法是使用 ReadSelfAction(pag 457 UML 2.5 spec) 和 ReadStructuralFeatureAction (pag 466 UML 2.5 spec),如下图所示:

在哪里

  • ReadSelfAction 提供System 的当前实例作为输出。
  • ReadPressureSensorFe.. 是一个 REadStructuralFeatureAction,它在其输入引脚上读取对象的属性 PressureSensor,在本例中是系统的当前实例。
  • CallBesselFilter.filter ActionCallDisplay.show Action 是两个 CallOperationAction(s),分别调用 PressureSensorFilter.filterDisplay.show

这个问题非常复杂且不清楚。 有没有更简洁明了的方式通过活动图来描述系统的行为?

【问题讨论】:

    标签: uml


    【解决方案1】:

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

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

    您应该研究 SysML。它旨在解决您处理的这类问题。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2022-10-25
        • 2018-04-25
        • 1970-01-01
        • 2022-10-17
        • 1970-01-01
        • 1970-01-01
        • 2013-11-30
        • 2010-09-29
        • 1970-01-01
        相关资源
        最近更新 更多