基于Wikipedia,我可以进行分层状态分解,其中我有多个正交区域,可以独立更改状态。
该图显示了如何输入正交区域。我假设该条目在所有地区并行发生。我想知道的是,你如何表达出口?如果每个区域都有出口,那么全局父状态是在第一个子区域退出时退出,还是在它们全部退出时退出?我想表达的是,退出发生在他们全部退出时。由于所有子区域都已退出,您如何表示全局父状态转换到下一个全局状态?这总是隐含的吗?
我的具体问题是我的 FSM 以 Initializing 全局状态开始。它以并行方式异步向多个外部系统发送多个查询。只有在收到每个查询的答案后,它才能继续。因此,我将每个异步并行查询建模为全局初始化状态内的正交区域。每个子区域都可以独立改变状态。当所有子区域都达到最终状态时,我可以继续前进。
FSM 将在 Actor 框架中实现,其中异步消息(事件)是唯一的通信方式。
理想情况下,我希望答案指向一个示例图像,因为这样的事情很难用语言表达。