ViSta: a tool suite for the visualization of behavioral requirements☆
Introduction
Statecharts are widely used for the requirements specification of reactive systems. This notation captures the requirements attributes that are concerned with the behavioral features of a system, and models these features in terms of a hierarchy of diagrams and states. The usefulness of statecharts depends primarily on their readability, that is the capability of the drawing to convey the meaning quickly and clearly. Several visualization tools for the specification of reactive systems are available in the market (Harel et al., 1990; Peterson, 2001; Telelogic, 2001; O'Donnel et al., 1999; Artisan Software Tools, 2001). Even though these tools are helpful in organizing designers' thoughts, they are mostly sophisticated small scale graphical editors, and therefore are severely inadequate for the modeling of complex reactive systems. Specifically, hand made diagrams quickly become unreadable when the specification complexity and size increase. Therefore computer assistance is of paramount importance for the graphical representation of complex reactive systems.
In this paper we present ViSta, a tool suite for the automatic visualization of statechart layouts. We proceed in two steps: we manually extract behavioral information from a textual description, and store it into interactive templates; then ViSta automatically generates graphs that model statecharts in a hierarchical fashion. The resulting drawings enjoy several properties: they have a low number of arc crossings; they emphasize the natural hierarchical decomposition of states into substates; and they have a good aspect ratio. The automatically produced graphical representation is an effective requirements assessment tool since it allows the specifier to shift focus from organizing the mental or physical structure of the requirements to its analysis. In addition, the interdependence between the textual, template and graphical representations ensures consistency between the different documents and therefore facilitates the verification and validation effort.
Section snippets
Statecharts
ViSta uses the statechart notation to model the behavioral view of a system (Harel, 1987; Harel and Politi, 1998) statecharts are extended finite state machines used to describe control aspects of reactive systems, and are a central part to the UML notation (Booch et al., 1998; Jacobson et al., 1999). They provide mechanisms to describe synchronization and concurrency, and manage exponential explosion of states by using state decomposition. In the statechart notation, a state is denoted by a
Overview of ViSta
ViSta (Castelló, 2000; Castelló et al., 2000) (version 2.3) was developed in JAVA 1.2 and uses JAVA's Swing API. It consists of four components: the template wizard, the statechart graphical editor, the statechart visualization tool, and the database (see Fig. 5).
The template wizard, statechart graphical editor, and the statechart visualization tool are independent units that can be combined to build customizable systems. The template wizard is an input medium that is used when a requirements
Template wizard and graphical editor
In this section we discuss two input media, namely the template wizard and the statechart graphical editor.
Statechart visualization tool
This tool automatically produces statechart drawings. In our approach, a statechart is treated as a graph. Vertices1 in the graph correspond to states, and edges correspond to transitions between states. Our drawing framework is based on the hierarchical drawing approach, as defined in (Sugiyama et al., 1981), also see (Battista et al., 1999). This approach places nodes on layers and draws edges as
Conclusion
Summary and assessment. In this paper we presented a tool suite for the visualization of statechart diagrams. ViSta consists of four components: a template wizard, a graphical editor, a statechart visualization tool and a database. The template wizard provides a set of interactive templates that are used to capture behavioral information. This information is stored in the database and is used by the statechart visualization tool to automatically produce statechart drawings. The statechart
Acknowledgements
We want to thank Vladlena Benson and Carlos Flores, both from the University of Texas at Dallas, for their contribution to this work. Vladlena coded the template wizard, and Carlos implemented the statechart graphical editor.
References (30)
- et al.
Algorithms for drawing graphs: an annotated bibliography
Comput. Geom. Theory Appl.
(1994) Statecharts: a visual formalism for complex systems
Sci. Comput. Programming
(1987)Optimal orientations of cells in slicing floorplan designs
Inf. Control
(1983)- et al.
Graph Drawing: Algorithms for the Visualization of Graphs
(1999) - et al.
The Unified Modeling Language User Guide
(1998) - Castelló, R., 2000. From Informal to Formal Specification: An Automated Visualization Approach, PhD thesis, The...
- et al.
An algorithmic framework for visualizing statecharts
- et al.
On the automatic visualization of statecharts: the vista tool
- et al.
Drawing clustered graphs on an orthogonal grid
- et al.
Straight-line drawing algorithms for hierarchical graphs and clustered graphs
Dag – a program that draws directed graphs
Software Pract. Exper.
A technique for drawing directed graphs
IEEE Trans. Software Eng.
Statemate: a working environment for the development of complex reactive systems
IEEE Trans. Software Eng.
Modeling Reactive Systems with Statecharts
An algorithm for blob hierarchy layout
Cited by (0)
- ☆
Research supported in part by Sandia National Labs and by the Texas Advanced Research Program under grant number 009741-040.