Skip to main content

The Semantics and Pragmatics of Generalised Graph Rewriting

Objective

The principal objective of the SEMAGRAPH Action was to develop knowledge relevant to the semantics and pragmatics of computing by graph transformations, also known as generalised graph rewriting.
Generalised Graph rewriting extends term rewriting notions to include sharing, multiple non-root rewriting and explicit control of reduction order. These can be used for optimised reduction, side effects and process communication and synchronisation. These extensions provide a potentially unifying framework for a variety of models of computation, including functional languages, logical languages, object oriented languages, parallel generalisations of imperative languages.
The research aimed to develop the theory and practice of computing by graph transformation, and to relate these to existing theory especially abstract interpretation and the theory of orthogonal term rewriting systems. Implementation work ranges from sequential interpreters for graph rewriting languages to experiments with parallel machines. Efficient normalizing techniques for lambda terms are a case study for the theory and practice.

A common model of term graph rewriting (TGR) was developed.
The SEMAGRAPH work on establishing the foundations of TGR has been extremely fruitful. Its foundation is the extension of classical term rewriting to handle tranfinite rewriting sequences and infinite terms. This allows classical notions, such as Levy equivalence, neededness, typing and strictnes analysis to be mapped to the TGR world. The CAIMENS work on explicit substitutions is clearly seminal for tree based semantics, and there are now signs of a surprising connection with graph rewriting. Overall, SEMAGRAPH's theoretical contributions are certain to be of increasing importance as workers in Functional, Logic, Object and other higher level languages recognize the importance of understanding rewriting with sharing. With respect to state of the art sequential implementations which poutperform classical languages an impressive envirnonment has been developed for functional programming using the Concurrent Clean model of computation. The implementation includes many advanced optimization features, and the sequential performance is state of the art for a lazy functional language. Real speedups on experimental parallel implementations involves work on integrating the fast sequential compiler technology with the parallel distributed evaluation architecture ZAPP producing impressive performance figures. The formal exchange of standard, stable, interfaces between Concurrent clean compilers and ZAPP is regarded as an important milestone: it will provide a proper basis for study ing a range of distribution mechanisms without needing to modify the top end of the compilation route.
APPROACH AND METHODS
The Action was divided into three areas of work:
Semantic foundations. Both categorical and operational semantics were explored and related to existing term rewriting theory. Appropriate type systems were sought, and existing abstract interpretation techniques extended.
Language design and implementation. Practical experiments examined existing and novel designs and implementations and sought methods for expressing the control of reduction order.
Case study. Efficient strong reduction techniques for the lambda calculus (the basis of all functional programming languages) were explored.
PROGRESS AND RESULTS
Deliverables at the end of the Action contained over 60 scientific papers, most published, and several state-of-the-art prototypes of graph rewriting systems. The major achievements were:
-A common model of graph rewriting: The partners, who started with different notions of graph rewriting, have increasingly focused the term graph rewriting (TGR) model. This identification of a common model is a major achievement.
-Theoretical foundations: The SEMAGRAPH work on establishing the foundations of Term Graph Rewriting has been extremely fruitful. Its foundation is the extension of classical term rewriting to handle tranfinite rewriting sequences and infinite terms. Thi s allows classical notions, such as Levy equivalence, neededness, typing, and strictness analysis to be mapped to the term graph rewriting world. Interestingly, there has also been a 'backward' transfer of ideas: the abstract reduction technique, develope d for term graphs, is now being investigated in more classical contexts. The CAIMENS work on explicit substitutions is clearly seminal for tree based semantics, and there are now signs of a surprising connection with graph rewriting. Overall, SEMAGRAPH's theoretical contributions are certain to be of increasing importance as workers in Functional, Logic, Object and other higher level languages recognise the importance of understanding rewriting with sharing.
-State-of-the-art sequential implementations which poutperform classical languages: Nijmegen have developed an impressive environment for functional programming using the Concurrent Clean model of computation. The implementation includes many advanced op timisation features, and the sequential performance is state-of-the-art for a lazy functional language. The environment has been widely distributed on the Macintosh, and demonstrated at CEBIT'92 in Hanover.
-Real speedups on experimental parallel implementations: The KUN/UEA work on integrating the fast sequential compiler technology of Nijmegen with the parallel distributed evaluation architecture ZAPP is producing impressive performance figures. The forma l exchange of standard, stable, interfaces between Concurrent Clean compilers and ZAPP is regarded as an important milestone: it will provide a proper basis for studying a range of distribution mechanisms without needing to modify the top end of the compilation route.
POTENTIAL
A major achievement ofSEMAGRAPH has been the close interworking between theory and practice. This has resulted in a Macintosh environment for the Concurrent Clean language which allows extremely rapid and efficient development of Macintosh applications.The experimental work with parallel implementations of Concurrent Clean demonstrates real potential for scaleable performance improvements via parallelism.

Coordinator

University of East Anglia
Address
University Plain
NR4 7TJ Norwich
United Kingdom

Participants (5)

Centre National de la Recherche Scientifique (CNRS)
France
Address
1919 Route De Mende
34405 Montpellier
IMPERIAL COLLEGE OF SCIENCE, TECHNOLOGY AND MEDICINE
United Kingdom
Address
Queens Gate 180
SW7 2BZ London
International Computers Ltd (ICL)
United Kingdom
Address
Icl House 1 High Street
SW15 1SW London
KATHOLIEKE UNIVERSITEIT NIJMEGEN
Netherlands
Address
Toernooiveld, 1
6525 ED Nijmegen
STICHTING VOOR MATEMATISCH CENTRUM - CENTRUM VOOR WISKUNDE & INFORMATICA
Netherlands
Address
Kruislaan 413, 4079
1009 AB/10 Amsterdam