Domain-Specific Representations of Software, and Reasoning

The use of diagrammatic notations in design and communication is commonplace in many engineering and industrial domains. As the reliance of such domains on software components increases, the incorporation of diagrammatic notations into programming languages allows domain experts to understand and undertake software development in terms of designing familiar artifacts in their domains.

Moreover, it encourages the transfer of techniques for reasoning about domain artifacts into methods for reasoning about their software "equivalents". This places serious obligations on language designers to ensure the soundness of diagrammatic reasoning and that essential diagram manipulations are well supported.

This project aims to enhance our understanding, and assist towards improving the design and use of diagrams as programming and reasoning notations in domain-specific languages.

Keywords: domain specific languages; diagrams; diagrammatic reasoning; diagrammatic representation; software engineering


Project Overview

The link above points to a presentation of the overall project objectives: the problem to be addressed and the nature of our solution.

Towards a Theory of Diagrammatic Notations

Some thoughts on the nature and objectives of a theory of diagrams for domain-specific computing and software engineering.

People

Stuart Anderson is the principal investigator, with Konstantinos Tourlas being the named researcher. The project enjoys the very active involvement of John Power and Corin Gurr as (unofficial) co-investigators. Collaboration with other researchers in theoretical computer science, cognitive science and sociology of technology is seen as essential to our work. We enjoy established working relationships with industry, mainly with practitioners and consultants in domains such as embedded control, where diagrams are extensively used and safety is a primary concern.

Recent Developments

We are currently developing a mathematical account of higraphs, the diagrammatic structures underlying Harel's popular Statecharts and the state diagrams of UML, using the methods of category theory. The objective is to gain a characterisation of higraph structure, cast common manipulations of higraphs in terms of mathematical operations and examine the soundness and admissibility of such operations with respect to a transition-systems semantics. This work is intended as a stepping-stone towards tackling rich, graph-based representations of computational structures.

Publications

A list of publications produced by this project, including earlier work on languages for programmable logic controllers (PLCs).

A limited download facility is presently available here.

Related Projects at Edinburgh

Dependability of Computer Based Systems (DIRC)

An ongoing interdisciplinary collaboration involving five major UK sites.

Understanding Software Architectures

This is a link to Corin's work on software architectures, with emphasis on diagrammatic representations of software.

Communication in safety cases: a semantics approach

This project looked at the graphical notations used or mandated in safety cases, which are collections of documents that present the arguments for believing that a proposed potentially-dangerous system is acceptably safe.

Links...

...to related projects outside Edinburgh, publication lists and people with interests in domain-specific languages and diagrammatic notations.
Last altered: 4th July, 2001, by K. Tourlas