2016-02-23 32 views
1

考慮到下面的類圖:如何在UML的活動圖中使用上下文屬性?

enter image description here

System是活性和它的行爲是連續

  • 呼叫filterPressureSensorFilter傳遞 PressureSensor.Pressure作爲參數
  • 呼叫Display.show傳遞輸出參數 PressureSensorFilter.filter作爲參數

我想通過ActivityDiagram來模擬System的行爲。

這樣做的主要挑戰是訪問System的屬性PressureSensor。 閱讀UML 2.5規範後,我認爲,要做到這一點的唯一方法是使用ReadSelfAction(PAG 457 UML 2.5規範)和ReadStructuralFeatureAction(PAG 466 UML 2.5規範)所描繪通過以下活動圖:

enter image description here

其中

  • ReadSelfAction給出作爲輸出的一個System當前實例。
  • ReadPressureSensorFe..是一個REadStructuralFeatureAction,它讀取在其輸入引腳處給出的對象的屬性PressureSensor,在這種情況下它是當前的系統實例。
  • CallBesselFilter.filter ActionCallDisplay.show Action分別是分別撥打PressureSensorFilter.filterDisplay.show的兩個CallOperationAction(s)。

這個問題是非常複雜和不清楚。 有沒有更少的複雜和更清晰的方式來描述通過活動圖的系統行爲?

回答

0

ReadSelfAction作爲額外的行爲是多餘的。您可以減少控制流程是這樣的:

enter image description here

的壓力從Pressure類的屬性過濾器讀取。已過濾的輸出發送到Display並循環...

您應該看看SysML。它旨在解決你處理的那種問題。

0

這一切都取決於您希望在活動圖中提供的詳細信息。你提供的圖是正確的。順便說一下,它的詳細程度可以直接用於生成代碼。如果你想描述更抽象的行爲,不要使用像閱讀結構特徵等行爲。但在你的例子中,它是非常好的和精確的描述方式。