Abstract
Graph Rewriting can be viewed as a rather general framework which encompasses a variety of ‘New generation’ computational models, ranging from functional languages through logic languages of the commited choice variety to actor (object) languages.
The language Concurrent Clean is a graph rewriting language augmented with annotations for expressing control of offloading and synchronisation in a distributed architecture. ZAPP is a simple work diffusion architecture which works well for suitable divide and conquer algorithms.
In this paper we describe a scheme for extending ZAPP to support Concurrent Clean. An early experimental implementation on transputers is described, together with some preliminary performance measurements of basic kernel functions. A distinctive feature of our implementation is the use of the transputer process instructions to support concurrent graph rewriting directly. Our results show definite benefit from this approach. In addition, we demonstrate the expressive power of Concurrent Clean with respect to pipelining and programmer control of granularity.
Preview
Unable to display preview. Download preview PDF.
References
Augustsson L., "A compiler for lazy ML", Proc. ACM Symposium on Lisp and Functional Programming, Austin 1984.
Barendregt, H.P., van Eekelen, M.C.J.D., Glauert, J.R.W., Kennaway, J.R., Plasmeijer, M.J., and Sleep, M.R., 1987, “Term graph rewriting”, Proc. PARLE conference, Lecture Notes in Computer Science, 259, 141–158, Springer.
BARENDREGT H.P., EEKELEN M.C.J.D. van, GLAUERT J.R.W., KENNAWAY J.R.,PLASMEIJER M.J. and SLEEP M.R., "Towards an Intermediate Language based on Graph Rewriting"., Journal of Parallel Computing 9, North Holland, 1989., also in Proc. PARLE conference, June 1987 LNCS 259, Springer-Verlag. pp159–177
Brus T., Eekelen M.C.J.D. van, Leer M. van, Plasmeijer M.J., "Clean — a language of functional graph rewriting", Proc. 3rd. Int. Conf. on Functional Programming Languages and Computer Architecture (FPCA '87) Portland, Oregon, USA., Springer-Verlag LNCS 274, pp364–384
Burge W.H., "Recursive Programming Techniques", Addison Wesley 1975
Burton F.W. and Sleep M.R., "Executing functional programs on a virtual tree of processors", Proc. ACM Conf. Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, Oct. 1982 pp187–194
Dershowitz, N., and Jouannaud, J.P., 1989, "Rewrite Systems", Chap. 15. in Handbook of Theoretical Computer Science. B, North-Holland.
Ehrig H, "Tutorial introduction to the algebraic approach of graph grammars", in Lecture Notes in Computer Science, 73, 83–94, Springer
Farmer, W.M., Ramsdell, J.D., and Watro, R.J., 1990 “A correctness proof for combinator reduction with cycles”, ACM TOPLAS, 12, 123–134
J.R.W. Glauert, J.R. Kennaway, M.R. Sleep, N.P.Holt, M.J.Reeve and I.Watson. "Specification of Core Dactl 1". Internal report, UEA SYS-C87-09, University of East Anglia, 1987.
J. Goguen, C. Kirchner, J. Messeguer. "Concurrent term rewriting as a model of computation". in Proc. Workshop on Graph Reduction, LNCS 279, 54–93. (Springer, 1987).
Gregory, S., 1987, “Parallel Logic Programming in PARLOG — The Language and its Implementation”, Addison-Wesley, London.
Hoffmann C. and O'Donnell M.J., 1982, "Programming with equations", ACM Transactions on Programming Languages and Systems, 83–112.
Hoffmann, B., and Plump, D., 1988, “Jungle Evaluation for Efficient Term Rewriting”, Proc. Joint Workshop on Algebraic and Logic Programming, Mathematical Research, 49, 191–203, Akademie-Verlag, Berlin.
Kennaway,J.R. and Sleep,M.R. "Syntax and informal semantics of DyNe". in The Analysis of Concurrent Systems, LNCS207, Springer-Verlag 1985.
Klop, J.W., 1990, “Term rewriting systems”, Chap. 6. in Handbook of Logic in Computer Science, 1, (eds. Abramsky, S., Gabbay, D., and Maibaum, T.), Oxford University Press.
Lafont Y, "Interaction Nets", LIENS report, Paris 1989 (also 1990 POPL).
McBURNEY D.L. and SLEEP M.R., "Transputer based Experiments with the ZAPP architecture"., Proc. PARLE conference, Vol.1, June 1987 LNCS 259, Springer-Verlag. pp242–259
McBURNEY D.L. and SLEEP M.R., "Experiments with a transputer-based diffusion architecture"., Proc.7th OUG and workshop on Parallel Programming of Transputer-based Machines, Univ. Grenoble, Sept. 1987.
McBURNEY D.L. and SLEEP M.R., "Transputers + Virtual Tree Kernel = Real Speedups", Proc. 3rd Hypercube Conference, Caltech Pasedena, Jan 88.
Peyton Jones, S.L., Clack, C.D., and Salkild, J., 1987, “GRIP: a parallel graph reduction machine”, ICL Technical Journal, 5, 595–599.
Plasmeijer M.J., van Eekelen M.C.J.D. and Smetsers J.E.W., "Parallel Graph Rewriting on Loosely Coupled Machine Architectures", proc. 2nd International Workshop on Conditional and Typed Rewriting Systems, June 1990, Montreal, Canada.
Peyton Jones, S.L., 1987, “The Implementation of Functional Languages”, Prentice-Hall, London.
Plasmeijer M.J. and van Eekelen M.C.J.D., "Concurrent Functional Programming", NLUUG Conference on Unix and Parallelism. Mei 1990, Ede, The Netherlands.
Rosenfeld A and Milgram D.L., "Web automata and web grammars", Machine Intelligence 7 (1972), 307–324.
Shapiro, E.Y., 1986, “Concurrent Prolog: A Progress Report”, Fundamentals of Artificial Intelligence — An Advanced Course, Lecture Notes in Computer Science, 232, Springer.
Staples, J., 1980, “Computation on graph-like expressions”, Theor. Comp. Sci., 10, 171–185.
Staples, J., 1980, “Optimal evaluations of graph-like expressions”, Theor. Comp. Sci., 10, 297–316.
D.A. Turner, "A new implementation technique for applicative languages", Software: Practice and Experience, 9, 31–49 (1979).
Wadsworth, C.P., 1971, "Semantics and pragmatics of the lambda-calculus", Ph.D. thesis, University of Oxford.
Watson, I., Sargeant, J., Watson, P., and Woods, V., 1987, “Flagship computational models and machine architecture”, ICL Technical Journal, 5, 555–594.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
McBurney, D.L., Sleep, M.R. (1991). Graph rewriting as a computational model. In: Yonezawa, A., Ito, T. (eds) Concurrency: Theory, Language, and Architecture. CONCURRENCY 1989. Lecture Notes in Computer Science, vol 491. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53932-8_54
Download citation
DOI: https://doi.org/10.1007/3-540-53932-8_54
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53932-2
Online ISBN: 978-3-540-46452-5
eBook Packages: Springer Book Archive