Towards a Theory of Diagrammatic Notations in Computing

Recent years have witnessed a rapid, ongoing popularisation of diagrammatic notations in the specification, modelling and programming of computing systems. Most notable among them are Statecharts, a notation for modelling reactive systems, and the Unified Modelling Language (UML), a family of diagrammatic notations for object-based modelling. As the popularity of diagrammatic languages in computing and software engineering increases, so does the need of supporting best practice in terms of a sound theory accounting for the multitude of syntactic, semantic and pragmatic issues involved.

A major difficulty in achieving this goal becomes evident when one begins to appreciate the intricate structural complexities of the diagrams typically found in practice, which consist of a multitude of largely heterogeneous and interacting features, the combinations and interactions among them often being ad hoc and poorly understood. Our approach to dealing with this problem is to investigate how diagrams may be decomposed into elementary, underlying structures and features, the properties and interpretations of which we study in mathematical and cognitive terms, and to formulate principles and techniques for sensibly combining them in the design of improved diagrammatic notations. Thus our approach is to first uncover underlying, fundamental structure, which serves for diagrams a role akin in spirit to the role played by various lambda-calculi in the study of conventional programming languages.

Ongoing work

We have taken a step in this direction by developing a algebraic framework for higraphs. The latter are an extension of graphs which underlie a number of sophisticated diagrammatic formalisms including, most prominently, Statecharts, the state diagrams of UML, and the domain-specific language Argos for programming reactive systems. The feature of higraphs we consider as definitive is that of depth, the containment of nodes inside other nodes. This feature is systematically exploited in applications to produce concise, economical representations of complex state-transition systems, such as those underlying realistic reactive systems.

Even diagrams which are designed with economy and compactness in mind may still grow impractically large, or simply become too detailed to be effective. Often this is because the same diagram simultaneously conveys multiple (and frequently orthogonal) aspects of the represented system. One therefore still needs effective mechanisms, and tools to support them, for re-organising, abstracting and filtering the information present in diagrams.

Our leading example is a filtering operation on higraphs, introduced briefly and motivated by Harel under the name of zooming out.


Last altered: 19th September, 2001, by K. Tourlas