Real-Time and Embedded Systems


Statecharts [1] provide an effective graphical notation, not only for the specification and design of reactive systems, but also for the simulation of the modeled system behavior. However in realistic systems, one is confronted with large and unmanageable graphics due to a high number of components or from interaction and interdependencies. A problem is that existing modeling tools do not offer good mechanisms for abstracting or condensing Statechart representations. The problem becomes even more dramatic when starting to simulate the system, as modular designs typically instantiate Statecharts several times, and each instance may have its own simulation status. Statechart modeling tools generally support Statechart simulation, where the system under development (SUD) is subjected to some input stimuli, and the Statechart model is animated according to the current configuration of the SUD. The paradigm generally offered is that the Statechart is shown as drawn by the user, and active states and transitions are marked in a specific color. This is fine if the model is small enough to be visible on the screen in its entirety; it becomes problematic for realistic, larger models.

At the Real-Time and Embedded Systems group the tool KIEL (Kiel Integrated Environment for Layout) is developed, which presents an alternative paradigm for visualizing Statecharts during simulation. The basic idea is to dynamically construct a view of the system model that includes all active states (the focus) and their parent states (the context); all other states are hidden. This constitutes a dynamic variant of the semantic focus-and-context representation [2]. This not only considers the static structure of a Statechart, but also a specific configuration that the system is in. We call this a Dynamic Statechart Normal Form (DSNF), which lead to dynamic Statecharts . An example sequence of dynamic Statecharts is shown in the Figures 1, 2, 3, and 4.

Figure 1

Figure 1: Example of a Statechart


Figure 2

Figure 2: View before appearance of event a


Figure 3

Figure 3: View after appearance of event a


Figure 4

Figure 4: View after appearance of event b


Further Approaches

Further approaches are proposed in the project overview presentation (PDF, p. 14 ff.)


[1]   David Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3):231–274, June 1987.

[2]   Oliver Köth and Mark Minas. Structure, Abstraction, and Direct Manipulation in Diagram Editors. In DIAGRAMS ’02: Proceedings of the Second International Conference on Diagrammatic Representation and Inference, pages 290–304, London, UK, 2002. Springer-Verlag.