状态机图:如何判断一个转换是否导致另一个转换?

时间:2012-12-13 21:02:08

标签: audio uml real-time aggregate-functions state-machine

我有一个实时聚合声音的课程。 Aggreation意味着它计算声音参数,如平均幅度,噪声水平等,时间单位,比声音帧长。帧是PCM,持续时间小于毫秒,而聚合单位是1/10秒和更长。

我希望绘制这个类的UML状态机图。

它由两个较小的状态图组成,一个跟踪帧,其他跟踪聚合单元,按周期。如果第一个图检测到接收到全帧,则应该触发第二个图,处理帧并更新一个单元的聚合数据。

我画了下面的照片。

我的问题是:如何绘制第一台机器从全帧状态转换到初始状态的初始状态引发第二台机器的转换?

我将第二个图表上的问题转换为“框架”。

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要的是第一台机器在输入Full frame received时向第二台机器发送事件。有几种方法可以做到这一点。您可以对导致Full frame received的转换添加效果,或者,您还可以为Full frame received定义“输入操作”。

在您输入Full frame received后发送事件后,您可以在第二个状态机中定义对其作出反应的转换。

UML Spec. 2.4.1中,第561页上介绍了“输入操作”,第581页上的effect过渡。