photo

Dr. John Glauert

Information Systems Staff



Personal Details

Education:    1973-1976    Cambridge University: BA in Natural Sciences
              1976-1977    Manchester University: MSc in Computer Science
              1980         Cambridge University: MA in Natural Sciences
              1978-1981    Cambridge University: PhD in Computer Science
Employment:   1981-1983    Research Associate, Manchester University 
              1984-1990    Information Technology Lecturer, University of East Anglia
              1991-Present Senior Lecturer in Computing Science, University of East Anglia

Dr Glauert is a member of the DSE research group.

Recent Research Grants:

1992-1995 "Multi-Paradigm Programming through Graph Rewriting" ~ £76k
SERC

1992-1994 "SemaGraph II: The Semantics and Pragmatics of Extended Term Graph Rewriting"
ESPRIT III Working Group: Lead Partner with Imperial College, University of Nijmegen, CWI Amsterdam, European Computer-Industry Research Centre, (with Prof. M.R. Sleep and Dr. J.R. Kennaway)

Research Interests

My PhD study was based on the application of coroutines to the evaluation of relational database queries. A functional language was implemented as an interface to the system, allowing queries to be written as recursive functions over the relational algebra. Studies included transformation of such relational expressions and optimisation of final query evaluation using indexing and pipelining techniques.

At Manchester, during my MSc studies and as a Research Associate, I was part of the Dataflow project which built a highly-successful practical prototype dataflow system. My MSc project involved the design and complete implementation of a simple functional language. An important achievement of this work was the development of a general scheme for implementing recursive functions on a dataflow machine. As a Research Associate, I was part of a small international team which designed Sisal, a high-level functional programming language for dataflow programming. I was responsible for initial implementation of the language on the Manchester Dataflow System.

At the University of East Anglia I have broadened my interest in declarative languages and architectures. This led to a grant under the Alvey Programme in collaboration with ICL, Manchester University, and Imperial College, to develop a sound computational model and intermediate language for new generation architectures. This resulted in Dactl, a practical language of generalised graph rewriting for which there is a stable experimental implementation.

Practical aspects of my work on the exploitation of parallelism continued with the ESPRIT TIP project "European Declarative System" involving ICL, Bull, Siemens, and ECRC. The recently announced ICL "Goldrush" product arose from this project.

Contacts established during the Dactl project with several strong European groups having similar research interests are now formalised within the ESPRIT Basic Research Action "SemaGraph", led by UEA. This includes a very fruitful collaboration with the Dutch Parallel Reduction Machine Project led by Barendregt at Nijmegen; the Process Algebra and Term Rewriting group of Klop at CWI, Amsterdam; Lambda Calculus research at the Laboratoire d'Informatique, Ecole Normale Supérieure, Paris, of Curien; and the Abstract Interpretation group at Imperial College, led by Hankin.

The focus of my current research is the theory and application of graph-rewriting techniques. With my research student, George Papadopoulos, there has been a special emphasis on implementation of parallel logic languages. A current strand of work in collaboration with the European Computer Industry Research Centre in Munich is the implementation of functional and process languages through fine-grain process notations. These may also be implemented via graph rewriting.

Here is a manifesto statement I made some time ago:


Open Declarative Systems: A Multi-Paradigm Approach

There is little evidence that current purely declarative systems are commercially attractive. Whether or not they can become attractive in the future, it is necessary to start from where we are. Arguments that ``one last push'' on compiler technology or language design will make the difference are unconvincing.

The need is rather for interim solutions allowing exploitation of declarative systems alongside conventional, established tools and techniques. Meanwhile, continuing research into declarative solutions may provide effective purely declarative systems for niche application areas, or may show that declarative techniques can coexist happily with traditional methods.

Coexistence: Multi-paradigm systems

There is a tendency to develop complete systems which make too many internal assumptions about data representation and evaluation order. Systems should be engineered to allow integration with other systems supporting both declarative and non-declarative paradigms: systems should be able to embed and interface to other systems; systems should tolerate being invoked from other systems.

Systems must therefore relinquish the idea of total control of space management, data representation, and other attributes. In particular, control of evaluation must become very flexible, with a range of evaluation strategies being tolerated.

Research into multi-paradigm languages combining declarative and non-declarative styles is valuable. The aim is not to find the ideal language to replace all others, but to allow seamless access to a range of styles in one program, separate modules using whatever model is most appropriate.

Applications and Algorithms

A stream of applications research is needed, focussing on applications with a significant declarative core, but certainly not insisting that declarative techniques are used for the complete system. If ``open'' declarative systems are available an increasingly large element of applications can be made declarative in stages. Development of key algorithms in declarative notations will be required.

Theory

Substantial theoretical work is required to underpin carrying of foreign values and handling of state and side effect in a declarative context. Abstract analysis will be required to ensure correctness when handling state and for optimisation during compilation.

Work will be required on integration of computation models, with special reference to evaluation strategies. In particular, the interaction between lazy evaluation and both logic and concurrent programming does not seem straightforward.


Selected Recent Publications

1994

"On Relative Normalisation in Orthogonal Expression Reduction Systems" J.R.W. Glauert, and Z. Khasidashvili
CTRS Workshop (ICALP 94, Jerusalem, July 14-15)
LNCS, To Appear, 1994.

1993

"A New Process Model for Functions" J.R.W. Glauert, L. Leth, and B. Thomsen
in "Term Graph Rewriting: Theory and Practice",
M.R. Sleep, M.J. Plasmeijer, and M.C.J.D. van Eekelen (eds), Chapter 18,
Wiley, 1993.

1992

"Parallel Implementation of Functional Languages Using Small Processes" J.R.W. Glauert
Proceedings, International Workshop on Parallel Implementation of Functional Languages, RTWH Aachen, September 1992.

"Asynchronous Mobile Processes and Graph Rewriting" J.R.W. Glauert
Proceedings PARLE'92, Champs Sur Marne, Paris, June 1992.
Lecture Notes in Computer Science Vol 605, Springer-Verlag, 1992.

1991

"Unifying Concurrent Logic and Functional Languages in a Graph Rewriting Framework" J.R.W. Glauert and G.A. Papadopoulos.
Proceedings, 3rd Panhellenic Computer Science Conference, Athens, May 1991.

"Dactl: An Experimental Graph Rewriting Language" J.R.W. Glauert, J.R. Kennaway, and M.R. Sleep.
Proceedings, 4th International Workshop on Graph Grammars, Bremen, 1990.
Lecture Notes in Computer Science Vol 532, Springer-Verlag, 1991.

1989

"Lean: An Intermediate Language Based on Graph Rewriting" H.P. Barendregt, M.C.J.D. van Eekelen , J.R.W. Glauert, J.R. Kennaway, M.J. Plasmeijer, and M.R. Sleep.
Parallel Computing, Vol 9, p163-177. 1989.

Recent External Reports and Presented Papers

"Process Models for Functions" J.R.W. Glauert, L. Leth, B. Thomsen,
Magic Note Nr.25,
European Computer-Industry Research Centre, Munich, March 1992.

Theses

"Evaluating Recursive Relational Queries Modelled by Networks of Coroutines" J.R.W. Glauert.
PhD Thesis, University of Cambridge, January 1984.

"A Single-Assignment Language for Dataflow Computing" J.R.W. Glauert.
MSc Thesis, Victoria University of Manchester, January 1978.

External Research Seminar Presentations


Staff List / SYS Home
John Glauert / www.admin@sys.uea.ac.uk