ViSta: a tool suite for the visualization of behavioral requirements

https://doi.org/10.1016/S0164-1212(01)00137-6Get rights and content

Abstract

ViSta is a tool suite designed to support the requirements specification phase of reactive systems. It enables the user to prepare and analyze a diagrammatic description of requirements using the statechart notation. ViSta includes a template wizard, a graphical editor and a statechart visualization tool. The template wizard guides the user through the steps necessary for the extraction of relevant information from a textual description of requirements. This information is stored in a database that is used by the statechart visualization tool to automatically generate statechart layouts. The statechart visualization tool offers a framework that combines hierarchical drawing, labeling, and floorplanning techniques. Hence, the automatically produced drawings enjoy several important aesthetic properties: they emphasize the natural hierarchical decomposition of states into substates; they have a low number of edge crossings; they have a good aspect ratio, and require a small area. These aesthetic features are invaluable since they allow the user to shift focus from organizing the mental or physical structure of the requirements document to its analysis.

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)

  • G.D. Battista et al.

    Algorithms for drawing graphs: an annotated bibliography

    Comput. Geom. Theory Appl.

    (1994)
  • D. Harel

    Statecharts: a visual formalism for complex systems

    Sci. Comput. Programming

    (1987)
  • L. Stockmeyer

    Optimal orientations of cells in slicing floorplan designs

    Inf. Control

    (1983)
  • G.D. Battista et al.

    Graph Drawing: Algorithms for the Visualization of Graphs

    (1999)
  • G. Booch et al.

    The Unified Modeling Language User Guide

    (1998)
  • Castelló, R., 2000. From Informal to Formal Specification: An Automated Visualization Approach, PhD thesis, The...
  • R. Castelló et al.

    An algorithmic framework for visualizing statecharts

  • R. Castelló et al.

    On the automatic visualization of statecharts: the vista tool

  • P. Eades et al.

    Drawing clustered graphs on an orthogonal grid

  • P. Eades et al.

    Straight-line drawing algorithms for hierarchical graphs and clustered graphs

  • E.R. Gansner et al.

    Dag – a program that draws directed graphs

    Software Pract. Exper.

    (1988)
  • E.R. Gansner et al.

    A technique for drawing directed graphs

    IEEE Trans. Software Eng.

    (1993)
  • D. Harel et al.

    Statemate: a working environment for the development of complex reactive systems

    IEEE Trans. Software Eng.

    (1990)
  • D. Harel et al.

    Modeling Reactive Systems with Statecharts

    (1998)
  • D. Harel et al.

    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.

    View full text