Modeling Software With Finite State Machines by Thomas Wagner & Ferdinand Wagner