Modeling software with finite state machines : a practical approach /: a practical approach. (2006)