有限状态机的详细知识介绍

有限状态机的详细知识介绍

什么是有限状态机?

想一想地铁的十字转门。这个简单的设备被一个简单的FSM管理。图1显示了FSM的部分。图中的圆角矩形就是状态。这个这个十字转门有两个状态。他可以被锁上,也可以开锁。当十字转门锁上时,某人可以在他的槽中塞进一枚硬币。这样,十字转门就会自动开锁,转变到开锁的状态。箭头被称为迁移,因为他描述了 FSM从一种状态迁移到另一种状态。

迁移的标签文本被一个斜线分成两部分,左面部分是触发迁移的事件的名称,右面部分是迁移被触发后所执行的动作的名称。我们可以这样解释图1:

有限状态机的详细知识介绍



如果十字转门处于锁住状态,并且发生了一个投硬币的事件,那么十字转门就会迁移到开锁的状态,并且开锁的动作

被执行了。

这描述了十字转门按预想的情况下是怎样工作的。假设十字转门开始的状态是锁着的。当一个客人想通过这个转门他必须存放一枚硬币。这就会引起投硬币事件发生。投硬币事件在锁门的状态中会引起十字转门迁移到开锁的状态,而且引起开锁的动作被执行,这样一个客人通过这个十字转门,同时又引起通过的事件发生,通过的事件在开锁的状态中,引起十字转门迁移到锁门的状态,同时又引起锁门的动作被执行。