UML是如何描述主/从状态机交互的
我的系统有两个状态机,一个主,一个从。主设备和从设备之间的状态不是一对一。可能的相互作用如下UML是如何描述主/从状态机交互的,uml,state-diagram,Uml,State Diagram,我的系统有两个状态机,一个主,一个从。主设备和从设备之间的状态不是一对一。可能的相互作用如下 如果主设备过渡到某个主设备状态,它将通知从设备过渡到某个从设备状态 从机可以请求主机进入某一主机状态;如果主机成功,主机将通知从机进入某个从机状态 从机可以向主机请求某些数据 描述这些交互的合适UML图是什么?状态图仅限于状态转换,不能描述从机的请求(状态转换或数据);交互图仅限于类/对象,不能应用于状态 您可以使用两个UML状态机图来描述这些交互,一个用于主系统,另一个用于从系统。例如,要指定从机
- 如果主设备过渡到某个主设备状态,它将通知从设备过渡到某个从设备状态
- 从机可以请求主机进入某一主机状态;如果主机成功,主机将通知从机进入某个从机状态
- 从机可以向主机请求某些数据
描述这些交互的合适UML图是什么?状态图仅限于状态转换,不能描述从机的请求(状态转换或数据);交互图仅限于类/对象,不能应用于状态 您可以使用两个UML状态机图来描述这些交互,一个用于主系统,另一个用于从系统。例如,要指定从机在接收到来自主机的信号
Req
时从空闲状态转换为繁忙状态,请在从机的状态机图中绘制从空闲状态转换为繁忙状态的转换标签Req
。要指定主机在进入状态X时发送信号Req
,请在主机状态机图中的状态符号X内写入entry/Req
或者,您可以绘制用于发送和接收信号的元素(参见UML 2.5.1规范第14.2.4.8.2节至第14.2.4.8.5节):
例如,在收到带有参数id的信号Req时,从空闲变为忙碌:
您还描述了从属服务器向主服务器请求某些数据的情况。为此,您需要一个主界面提供的、从界面所需的第三个界面图(或文本规范),例如:
在从机的状态机图中,可以调用接口中定义的操作。例如,要在从机进入忙状态时调用read
操作master
,并将其存储在局部变量x
中,请在状态符号x内写入entry/x:=master.read()
有关UML状态机图的介绍,请参阅您描述的主设备和从设备之间的交互 对于这一点,没有单一的解决方案,而且很难在同一张图片上同时显示所有可能的状态和事务的逻辑(实际上我认为根本不可能) 这里要考虑的主要图表是:
如果不清楚,请随意评论这个答案,询问更多细节。然后,我将尝试构建这些图的示例(www.admiralit.nl上的答案中已经有了活动图示例)。您的尝试在哪里?我的系统有两个状态机,您是否尝试只拥有一个状态机?@ThomasKilian描述主状态机和从状态机的状态转换,以及two@Bruno一个是不适用的。这种情况下,平板电脑应用程序与桌面应用程序协同工作,平板电脑/桌面有自己的状态机不是“什么”,而是“在哪里”。