220.127.116.11 Statecharts (STC)
Statecharts (STCs) are a method applied for the specification of reactive systems (see /Seifert, 1991/), i. e. of systems that must react to external and internal events in real-time. The method is based on an upgrade of the notation of finite automata suggested in /Harel, 1987/. Event-oriented (sub-) systems are modeled by means of STCs; they may be in combined, nested states-subautomata nested accordingly-and which may have concurrently processing components. STCs are practically oriented on engineering requirements.
The STC strong points are:
- The suitability for the behavior modeling of complex real-time (sub-) systems that are composed of rather few but complex parts and that communicate with an event-oriented environment. This is particularly the case if the object described can be specified as a system of nested, communicating finite automata.
- The particular value of the method is based on the clearly defined notation of complex systems consisting of communicating automata, and on the possibility to structure quickly comprehensive behavior specifications on a user-friendly level.
Peculiarities to be taken into consideration when modeling with STCs:
- The result is always a clock-controlled system (because of "microsteps" and "broadcasting"), i. e. all activated subautomata-in particular the concurrent automata as well-are running in the same global clock pulse.
Some static and dynamic STC semantics (see /SEMSTC, 1990/) are very complex and must be noticed with care by the user. In particular the global presence of the events (see /Harel, 1987/ p. 233, /SEMSTC, 1990/, p. 2, p. 5, pp. 24-28) may cause undetermined state transitions. These can be resolved by the allocation of priorities.
Even though STCs are predominantly suited for clock-synchronous systems, an application to model distributed systems might be considered if synchronization aspects are either irrelevant or covered by additional measures (e. g. communication protocols). Furthermore, it is possible to define additional states-taking over buffer functions-for the copying of explicit communication channels and for the storage of events over several global clock pulses.
STCs may have no notation for current states; but it is still possible-by observing the semantics of the method (see /SEMSTC, 1990/)-to generate reachability graphs to analyze dynamic sequences (possibly tool-supported). To directly model certain characteristics, special states are frequently introduced as so-called traps.
The method is utilized in SD1.5 - User-Level System Structure and SD3.3 - Definition of Requirements for the Functionality to model the courses of functions.
- The graphical and textual description means of the method are of a great variety. The semantics must be thoroughly understood; in this connection the special assumptions of the method have to be noted, e. g. global availability of events, consideration of internally generated events, utilization of history information, limiting of the life cycle of events to one clock interval, description of compound transitions, various time models (generous model, greedy model), etc. (see /SEMSTC, 1990/). The correct evaluation of race conditions should be particularly noted; these conditions have to be traced on both time levels (micro and macro steps). Training and experience are required.
For systems with a high criticality, only causal logical synchronizing and lock mechanisms can usually be accepted, i. e. they have to be specified in the state model, independent of temporal aspects.
In the method allocation (submodel SD), the modeling aspect is most important. Explicit assessment or verification steps are controlled by submodel QA. In this connection, particularly SIMU - Simulation Models is considered as subsequent method for STC. The behavior model generated by STC can be systematically assessed and verified by means of the simulation.
Published versions of the method are not known. Under certain conditions, STCs can be imaged on so-called structured Petri Nets (S-nets) and afterwards analyzed by means of the network theory.
Tool support is absolutely required in order to reconstruct and comprehend the specification of larger systems. So far, one tool is known in connection with the method.
||Reference publication of the developer of Statecharts, suited for the introduction, with examples
||Additional description of the method
||Precise and valid description of the semantics of statecharts
Last Updated 01.Jan.2002
Updated by Webmaster
Last Revised 01.Jan.2002
Revised by Webmaster