ABSTRACT

Statecharts (Harel 1987) was introduced by David Harel in 1987 as one of the most popular state-based visual/graphical formalism for designing reactive systems. With hierarchy, concurrency, and many other features, statecharts were more practical and expressive than the classical state diagrams. They have been adopted by a number of object modeling techniques and languages, including the Object Modeling Technique (OMT) (Rumbaugh et al. 1991), where they are called the “State Transition Diagrams,” and the Unified Modeling Language (UML) (Rumbaugh 2004; OMG 2007), where they are known as the “State Machines,” for modeling the dynamic behaviors of objects. Besides, there are many formalisms for statecharts supported by software such as STATEMATE (Harel et al. 1990), Rhapsody (Harel and Kugler 2001), Fujaba (Geiger and Albert 2005), and so on.