许多的事件，因此可以定义较复杂的制造週期，其产生的制造週期一般会比线性循序流程复杂许多。一般常常会有一些同时执行的平行路径，以及依不同事件决定执行方式的路径，如下图：
物件导向程式.若程式语言支援物件导向程式设计，就可以将自动机封装为一个物件，隐藏自动机实现的细节。一种称为「」的设计模式即包括了此作法。上述的程式可以改为为以下的物件导向程式，利用C++来实现：class StateMachine {public:};struct StateMachine::branch