如何用UML表达对ChangeEvent的时间限制?

时间:2016-02-23 05:35:41

标签: uml papyrus

我目前正致力于创建嵌入式系统的UML模型,以帮助描述相关的软件需求规范。

我有一个物理压力传感器,它输出一个电压,该电压具有电压值和测量压力之间的确定关系。由于该模型用于引出SwRS,我决定通过抽象电压 - 压力关系的类来对压力传感器进行建模,并通过其压力特性暴露当前测量的压力。

enter image description here

我使用的是属性,而不是getPressure():Real之类的操作,因为压力传感器不仅在需要时连续测量压力。

如果压力变为负值,则认为压力传感器损坏。

我想使用UML来表示此事件与软件显示警报消息所用时间之间的时间限制。

我相信我所追踪的事件是ChangeEvent,即何时(PressureSensor.pressure< 0)。

我相信可用于此的图表类型是序列图,但我无法表达我想要的内容并遵守UML 2.5规范。

例如,如果我使用序列图,我可以用这种方式表达概念。

enter image description here

问题在于pag。 <{3}}中有572个州

  

消息的签名是指操作或信号。

这意味着签名不能引用ChangeEvent,因此我的图表不尊重UML 2.5 spec

我也使用了一个活动图,但是从我无法找到一个正确的方法来为我的目的使用活动图。

2 个答案:

答案 0 :(得分:0)

您有功能性和非功能性要求:

  1. &#34;如果压力低于0,UserInterface将显示警告消息。&#34;
  2. &#34;压力警告信息应在压力低于0后10ms内显示。&#34;
  3. 两者都可以用状态图表示。

    enter image description here

    此处,PressureSensor.Pressure < 0是更改事件,UserInterface.showMessage("WARNING: Pressure below 0")是效果。 时序要求被建模为约束。

答案 1 :(得分:0)

UML允许在SD中包含时序详细信息:

enter image description here

我不知道Papyrus是否允许以这种方式描绘它(我使用EA)。