来自IBM的教程
http://www-128.ibm.com/developerworks/cn/linux/l-fsmachine/index.html
简介了状态机的定义和构成。
本文有2个不解之处。
关于门的例子。实际上,开与关的状态下,同时也包含了锁定与否的状态。也就是说,我们可以认为有这样的状态:关闭同时锁着,关闭同时没有锁着。建模的时候,却能分成这样的状态:开启,关闭,锁定,解锁。是不是关闭和解锁合并成一个状态。
关于FSME的局限。该工具体现了状态机由事件驱动。但无法满足以下要求:事件带参数(因为事件只是一个enum),转化的发生需要其他附加条件的组合。
王咏武的火星虫
http://contextfree.net/wangyw/source/oofsm.html
使用MFC编写。包含了一个状态机引擎。