Implementing Parallel Rewriting

Rewriting is a computation paradigm that allows to implement directly an equational specification (eg. an abstract data type). Much work has been done about theoretical aspects of rewriting, which has made this technique of practical interest for programming. The next step is now to provide an efficient implementation. We present in this paper an implementation technique of rewriting on any loosely-coupled parallel architectures. Restricted to one processor, its efficiency is in the same order of magnitude as those of functional languages such as interpreted LISP or ML, and we expect an almost linear increase of the efficiency when increasing the number of processors.

[1]  Claude Kirchner,et al.  Solving Equations in Abstract Algebras: A Rule-Based Survey of Unification , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[2]  José Meseguer,et al.  EQLOG: Equality, Types, and Generic Modules For Logic Programming , 1986, Logic Programming: Functions, Relations, and Equations.

[3]  Naomi Lindenstrauss A Parallel Implementation of Rewriting and Narrowing , 1989, RTA.

[4]  José Meseguer,et al.  A Rewrite Rule Machine. Models of Computation for the Rewrite Rule Machine. , 1986 .

[5]  Nachum Dershowitz,et al.  An Implementation of Narrowing , 1989, J. Log. Program..

[6]  Joseph A. Goguen,et al.  The Rewrite Rule Machine Project , 1989 .

[7]  G. D. Burns,et al.  Trillium operating system , 1988, C3P.

[8]  Claude Kirchner,et al.  Implementations of Term Rewriting Systems , 1991, Comput. J..

[9]  G Boudol Computational semantics of term rewriting systems , 1986 .

[10]  Nachum Dershowitz,et al.  Computing with Rewrite Systems , 1985, Inf. Control..

[11]  G. Huet,et al.  Equations and rewrite rules: a survey , 1980 .

[12]  José Meseguer,et al.  Rewriting as a unified model of concurrency , 1990, OOPSLA/ECOOP '90.

[13]  Stéphane Kaplan,et al.  A Compiler for Conditional Term Rewriting Systems , 1987, RTA.

[14]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[15]  Christoph M. Hoffmann,et al.  Pattern Matching in Trees , 1982, JACM.

[16]  José Meseguer,et al.  Concurrent term rewriting as a model of computation , 1986, Graph Reduction.

[17]  José Meseguer,et al.  An Introduction to OBJ 3 , 1988, CTRS.

[18]  Laurent Fribourg,et al.  SLOG: A Logic Programming Language Interpreter Based on Clausal Superposition and Rewriting , 1985, SLP.

[19]  Michael J. O'Donnell,et al.  Computing in systems described by equations , 1977, Lecture Notes in Computer Science.

[20]  Thierry Heuillard Compiling Conditional Rewriting Systems , 1987, CTRS.