A generic software state machine (10) for implementing a software application in an object oriented environment includes a set of entity objects (20, 30) defined for software elements of the software application, a set of state objects (26, 34, 38, 40) defined for each entity object representative of...http://www.google.com.au/patents/US6138171?utm_source=gb-gplus-sharePatent US6138171 - Generic software state machine