有两种类型的状态机图:
状态机图
协议状态机
但我无法得到它们之间的确切差异
答案 0 :(得分:6)
我将尝试以非常简单的方式解释差异: 你是对的,UML定义了两种类型的状态机:
行为
Protocolar
行为状态机定义行为,重点关注系统状态如何作为对事件发生的反应而变化。理解非常重要。接受事件的事件被定义为转换时的触发器。这种状态机是众所周知的。
协议状态机不主要定义行为。它的基本作用是定义,何时以及在何种条件下可以调用拥有实例的个别行为特征(操作,接收)。
生命中协议状态机的典型例子可能是计算机启动过程:
让我们想象一下计算机的工作状态:加载BIOS,加载操作系统,准备好。 在加载Bios之前无法执行加载操作系统,在加载操作系统之前无法执行应用程序。协议状态机将具有3个状态和两个转换。转换将在加载bios状态之前定义计算机loadBios()的操作,在加载Bios和加载OS的状态之间加载loadOS()。
协议是一组用于执行实例的操作和其他行为特征的规则。
答案 1 :(得分:5)
协议状态机IS状态机,一种状态机的特例,适用于协议规范。
总之,协议状态机是普通UML状态机对协议规范/建模的具体应用。
您可能希望阅读本文以了解有关协议状态机及其如何使用UML状态机的更多信息:
http://www.uml-diagrams.org/protocol-state-machine-diagrams.html
答案 2 :(得分:0)
在UML中,协议状态机是设置合法事件序列的«规范»,而不指定实现的行为(状态更改除外)而行为状态机是«实现»状态机可以采取操作(行为)。< / p>
从这个角度来看,协议状态机就像一个接口(它纯粹是抽象的),而行为状态机就像一个类。行为状态机可以实现协议状态机。
您可以在文章Building Protocol State Machines in UML 2中找到更多详细信息,包括围绕数据库访问的非平凡示例,Michael Jesse Chonoles和James A. Schardt。