Towards the principled design of software engineering diagrams

Diagrammatic specification, modelling and programming languages are increasingly prevalent in software engineering and, it is often claimed, provide natural representations which permit intuitive reasoning. A desirable goal of software engineering is the rigorous justification of such reasoning, yet many formal accounts of diagrammatic languages confuse or destroy any natural reading of the diagrams; hence they cannot be said to be intuitive. The answer, we feel, is to examine seriously the meaning and accuracy of the terms: "natural" and "intuitive" in this context. The paper highlights, and illustrates by means of examples taken from industrial practice, an ongoing research theme of the authors. We take a deeper and more cognitively informed consideration of diagrams which leads us to a more natural formal underpinning that permits: (i) the formal justification of informal intuitive arguments, without placing the onus of formality upon the engineer constructing the argument; and (ii) a principled approach to the identification of intuitive (and counter-intuitive) features of diagrammatic languages.

[1]  Judith Good VPLs and novice program comprehension: how do different languages compare? , 1999, Proceedings 1999 IEEE Symposium on Visual Languages.

[2]  Corin A. Gurr,et al.  Effective Diagrammatic Communication: Syntactic, Semantic and Pragmatic Issues , 1999, J. Vis. Lang. Comput..

[3]  R. W. Lewis,et al.  Programming Industrial Control Systems Using IEC 1131-3 , 1995 .

[4]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[5]  Herbert A. Simon,et al.  Why a Diagram is (Sometimes) Worth Ten Thousand Words , 1987 .

[6]  Ehud Reiter,et al.  Avoiding Unwanted Conversational Implicatures in Text and Graphics , 1990, AAAI.

[7]  Colin Stirling,et al.  Modal and temporal logics , 1993, LICS 1993.

[8]  J. Davenport Editor , 1960 .

[9]  Jon Oberlander,et al.  A Cognitive Theory of Graphical and Linguistic Reasoning: Logic and Implementation , 1995, Cogn. Sci..

[10]  Corin A. Gurr,et al.  On the isomorphism, or lack of it, of representations , 1998 .

[11]  Konstantinos Tourlas,et al.  Formalising pragmatic features of graph-based notations , 1999, Proceedings 1999 IEEE Symposium on Visual Languages.

[12]  N. Hari Narayanan,et al.  Diagrammatic Reasoning: Cognitive and Computational Perspectives , 1995 .

[13]  Atsushi Shimojima,et al.  Derivative meaning in graphical representations , 1999, Proceedings 1999 IEEE Symposium on Visual Languages.

[14]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[15]  Jon Oberlander Grice for graphics: Pragmatic implicature in network diagrams , 1995 .

[16]  K. Stenning,et al.  Image and Language in Human Reasoning: A Syllogistic Illustration , 1997, Cognitive Psychology.

[17]  Maria Kutar,et al.  Cognitive Dimensions of Notations: Design Tools for Cognitive Technology , 2001, Cognitive Technology.

[18]  Jiajie Zhang,et al.  Representations in Distributed Cognitive Tasks , 1994, Cogn. Sci..

[19]  Atsushi Shimojima,et al.  Operational constraints in diagrammatic reasoning , 1996 .

[20]  N. Hari Narayanan,et al.  Visual language theory: towards a human computer interaction perspective , 1998 .

[21]  Gregory D. Abowd,et al.  Formalizing style to understand descriptions of software architecture , 1995, TSEM.

[22]  Marian Petre,et al.  Why looking isn't always seeing: readership skills and graphical programming , 1995, CACM.

[23]  Jon Barwise,et al.  Heterogeneous logic , 1996 .

[24]  Mary Shaw,et al.  Formulations and Formalisms in Software Architecture , 1995, Computer Science Today.

[25]  Eric Hammer,et al.  Towards a model theory of Venn diagrams , 1996 .

[26]  Sun-Joo Shin Situation-theoretic account of valid reasoning with Venn diagrams , 1996 .