Abstract
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.
This approach allows parallel execution of programs directly from their equationally axiomatized specification, without having at all to explicit the potential parallelism, thus providing a simple and precise operational semantics.
This research has been partially supported by the GRECO at Programmation of CNRS, the Basic Research Workshop COMPASS of the CEC and contract MRT 89P0423.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
G. Boudol. Computational semantics of term rewriting systems. In M. Nivat and J. Reynolds, editors, Application of Algebra to Language definition and Compilation. Prentice Hall, 1985. Also INRIA research report 192 (1983).
N. Dershowitz. Computing with rewrite systems. Information and Control, 65(2/3):122–157, 1985.
N. Dershowitz and J.-P. Jouannaud. Rewrite Systems. In J. van Leuven, editor, Handbook of Theoretical Computer Science, chapter 6, pages 244–320. Elsevier Science, 1990.
Gregory Burns et al. Trillium operating system. In Proc. Third Conference on Hypercube Concurrent Computers and Applications, pages 374–376. ACM, 1988.
L. Fribourg. SLOG: A logic programming language intepreter based on clausal superposition and rewriting. In Proceedings of the IEEE Symposium on Logic Programming, pages 172–184, Boston, MA, July 1985.
J. Goguen, C. Kirchner, H. Kirchner, A. Megrelis, J. Meseguer, and T. Winkler. An introduction to OBJ-3. In J.-P. Jouannaud and S. Kaplan, editors, Proceedings 1st International Workshop on Conditional Term Rewriting Systems, Orsay (France), volume 308 of Lecture Notes in Computer Science, pages 258–263. Springer-Verlag, 1988. Also as internal report CRIN: 88-R-001.
J. Goguen, C. Kirchner, S. Leinwand, J. Meseguer, and T. Winkler. Progress report on the rewrite rule machine. IEEE Computer Architecture Technical Commitee Newsletter, pages 7–21, March 1986.
J. Goguen, C. Kirchner, and J. Meseguer. Concurrent term rewriting as a model of computation. In R. Keller and J. Fasel, editors, Proceedings of Graph Reduction Workshop, volume 279 of Lecture Notes in Computer Science, pages 53–93. Springer-Verlag, 1987.
J. A. Goguen and J. Tardo. OBJ-0 preliminary users manual. Semantics and theory of computation report no. 10, UCLA, 1977.
J.A. Goguen. The rewrite rule machine project. In Proceedings of the second international conference on supercomputing, Santa Clara, California, May 1987.
J.A. Goguen, C. Kirchner, and J. Meseguer. Models of computation for the rewrite rule machine. Technical report, Rapport CRIN 86-R-104, 1986.
J.A. Goguen and J. Meseguer. EQLOG: Equality, types and generic modules for logic programming. In D. DeGroot and G. Lindstrom, editors, Logic Programming. Funstions, relations and equations. Prentice Hall, 1986.
P.R.H. Hendriks. Asf system user's guide. internal report CS-R8823, Centre for Mathematics and Computer Science, PO BOX 4079, 1009 AB Amsterdam, Netherlands, May 1988.
M. Hermann, C. Kirchner, and H. Kirchner. Implementations of term rewriting systems. Technical Report 89-R-218, Centre de Recherche en Informatique de Nancy, 1989. To appear in the Computer Journal, British Computer Society.
T. Heuillard. Compiling conditional rewriting systems. In S. Kaplan and J.-P. Jouannaud, editors, Proceedings 1st International Workshop on Conditional Term Rewriting Systems, Orsay (France), volume 308 of Lecture Notes in Computer Science, pages 111–128. Springer-Verlag, 1987.
C. Hoffmann and M.J. O'Donnell. Pattern matching in trees. Journal of the Association for Computing Machinery, 29(1):68–95, 1982.
G. Huet and J.-J. Levy. Call by need computations in non-ambiguous linear term rewriting systems. Research report 359, INRIA, August 1979.
G. Huet and D. Oppen. Equations and rewrite rules: A survey. In R. Book, editor, Formal Language Theory: Perspectives and Open Problems, pages 349–405. Academic Press, New York, 1980.
N. Alan Josephson and Nachum Dershowitz. An implementation of narrowing. J. of Logic Programming, 6(1 & 2):57–77, March 1989.
J.-P. Jouannaud and G. Kirchner. Solving equations in abstract algebras: a rule-based survey of unification. Research report, CRIN, 1990. To appear in Festschrift for Robinson, J.-L. Lassez and G. Plotkin, editors, MIT Press.
S. Kaplan. A compiler for conditional term rewriting system. In P. Lescanne, editor, Proceedings 2nd Conference on Rewriting Techniques and Applications, Bordeaux (France), volume 256 of Lecture Notes in Computer Science, pages 25–41, Bordeaux (France), May 1987. Springer-Verlag.
C. Kirchner and P. Viry. Implementing parallel rewriting. In P. Deransart and J. Maluszynski, editors, Proceedings of PLILP'90, volume 456 of Lecture Notes in Computer Science, pages 1–15, Linköping (Sweden), August 1990. Springer-Verlag.
N. Lindenstrauss. A parallel implementation of rewriting and narrowing. In Proceedings 3rd Conference on Rewriting Techniques and Applications, Chapel Hill, (North Carolina, USA), volume 35 of Lecture Notes in Computer Science, pages 569–573, Chapel Hill, NC, April 1989. Springer-Verlag
M. Loi and B. Tourancheau. Trollius 2.0. Technical report, Ecole Normale Supérieure de Lyon, 1990. In french.
José Meseguer. Rewriting as a unified model of concurrency. Technical Report SRI-CSL-90-02, SRI International, Computer Science Laboratory, February 1990.
M. J. O'Donnell. Computing in Systems Described by Equations, volume 58 of Lecture Notes in Computer Science. Springer-Verlag, 1977.
P. Viry. Implantation parallèle de la surréduction et de la réécriture. Rapport de DEA de l'université de Nancy I, September 1989.
P. Viry. Properties of concurrent rewriting. Technical report, Centre de Recherche en Informatique de Nancy, 1991. In preparation.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kirchner, C., Viry, P. (1992). Implementing parallel rewriting. In: Fronhöfer, B., Wrightson, G. (eds) Parallelization in Inference Systems. Lecture Notes in Computer Science, vol 590. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55425-4_5
Download citation
DOI: https://doi.org/10.1007/3-540-55425-4_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55425-7
Online ISBN: 978-3-540-47066-3
eBook Packages: Springer Book Archive