FSM 在Rust实现

有限状态机概述、

(Finite State Machine,简称为 FSM)是一种抽象的计算模型,是一个来源于离散数学中的思想,它用于描述系统或对象在不同状态之间转换的行为。
它由一组状态、转移条件 和 动作 组成。
其中:
状态:表示系统或对象所处的特定情况;State
转移条件:定义了从一个状态到另一个状态的条件,Transition
动作:表示在状态转换发生时执行的操作。 Action
FSM 是理解决策逻辑重要工具,在数字控制系统当中是最好的工具之一。
在FSM模型最好的方式是: 输入值是当前状态对象通过FSM后输出当中最好是下一个状态。这个就意味通过FSM选择策略,主要依靠当前状态以及策略路径的条件。

有限状态机应用场景

它的应用范围十分广泛,在电子商务当中的订单业务状态转换,在政务信息系统当中的业务流程,在工业信息领域当中的协议转换以及构件当中状态管理都有相关的应用。

有限状态机种类

1. 莫尔型状态机

在 莫尔型状态机(Moore State Machine)中,状态机的输出仅取决于当前状态,与输入无关。每个状态都定义了固定的输出动作,与状态转换无关。

2. 米型状态机

在 米利型状态机 (Mealy State Machine)中,状态机的输出取决于当前状态和输入。每个状态都可以定义输出动作,它们可以随着状态转换而改变。

有限状态机在UML的展示

状态机在Rust的实现

参考文献

posted @ 2023-11-13 21:01  精彩的世界源自内心  阅读(78)  评论(0)    收藏  举报