给定一个包含两个组件 A 和 B 的系统,并且
系统同时启动 A 和 B。现在 A 可以通过状态 {A.Starting, A.Ready},B 可以处于状态 {B.Starting, B.DoingX, B.DoingY}。(相应地命名 A 和 B 状态之间转换的事件:B.doingx => B 转到 B.DoingX 等...)
我想建模
- 当 A 在 A.Starting 中,或 B 在 B.Starting 中时,系统正在“启动”
- 当 A 处于 A.Ready 且 B 处于 B.DoingX 时,系统处于“DoingX”状态
- 当 A 处于 A.Ready 且 B 处于 B.DoingY 时,系统处于“DoingY”状态
如果我没记错的话,这里可以使用 fork/join 伪状态。
但是这些模型元素是否具有上述组合状态的声明性语义?有没有另一种方法来模拟这个?
(注:图表来自http://yuml.me)