Abstract
Tempo is a logic programming language that has recently been designed with the aim of allowing concurrent programs to be written in a more declarative manner than existing languages. One of the benefits of declarative programming is the potential for systematic derivation of programs — the subject of this paper. Here we present a few transformation rules that can be applied to Tempo programs, and then describe in detail the derivation of some concurrent algorithms in Tempo. An outline of the Tempo language is also included in order to make the paper self-contained.
Preview
Unable to display preview. Download preview PDF.
References
Boulanger, D. and Bruynooghe, M. 1993. Deriving unfold/fold transformations of logic programs using extended OLDT-based abstract interpretation. Journal of Symbolic Computation 15, pp. 495–521.
Chandy, K.M. and Misra, J. 1988. Parallel Program Design. Addison-Wesley.
Foster, I., Olson, R., and Tuecke, S. 1992. Productive parallel programming: The PCN approach. Scientific Programming 1, 1, pp. 51–66. Reprinted in Programming Languages for Parallel Processing, D. Skillicorn and D. Talia (Eds.), IEEE Computer Society Press, pp. 358–373, 1995.
Gregory, S. 1987. Parallel Logic Programming in PARLOG. Addison-Wesley.
Gregory, S. and Ramirez, R. 1995. Tempo: a declarative concurrent programming language. In Proceedings of the 12th International Logic Programming Conference (Tokyo, June 1995), L. Sterling (Ed.). MIT Press.
Hayes, I.J. and Jones, C.B. 1989. Specifications are not (necessarily) executable. Software Engineering Journal 4, 6, pp. 330–338.
Kowalski, R.A. 1979. Algorithm=Logic+Control. Communications of the ACM 22, 7, pp. 424–436.
Lamport, L. The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16, 3, pp. 872–923.
McCabe, F.G. and Clark, K.L. 1995. April: Agent Process Interaction Language. In Intelligent Agents — Lecture Notes in Artificial Intelligence 890. Springer-Verlag.
Milner, R. 1989. Communication and Concurrency. Prentice Hall.
Peterson, G.L. 1981. Myths about the mutual exclusion problem. Information Processing Letters 12, 3, pp. 115–116.
Proietti, M. and Pettorossi, A. 1994. Synthesis of programs from unfold/fold proofs. In Proceedings of LOPSTR93 (Louvain-la-Neuve, July 1993), Y. Deville (Ed.). Springer-Verlag.
Ueda, K. and Chikayama, T. 1990. Design of the kernel language for the Parallel Inference Machine. Computer Journal 33, 6, pp. 494–500.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gregory, S. (1996). Derivation of concurrent algorithms in Tempo. In: Proietti, M. (eds) Logic Program Synthesis and Transformation. LOPSTR 1995. Lecture Notes in Computer Science, vol 1048. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60939-3_4
Download citation
DOI: https://doi.org/10.1007/3-540-60939-3_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60939-1
Online ISBN: 978-3-540-49745-5
eBook Packages: Springer Book Archive