Skip to main content

Derivation of concurrent algorithms in Tempo

  • Conference paper
  • First Online:
Book cover Logic Program Synthesis and Transformation (LOPSTR 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1048))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

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.

    Google Scholar 

  • Chandy, K.M. and Misra, J. 1988. Parallel Program Design. Addison-Wesley.

    Google Scholar 

  • 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.

    Google Scholar 

  • Gregory, S. 1987. Parallel Logic Programming in PARLOG. Addison-Wesley.

    Google Scholar 

  • 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.

    Google Scholar 

  • Hayes, I.J. and Jones, C.B. 1989. Specifications are not (necessarily) executable. Software Engineering Journal 4, 6, pp. 330–338.

    Google Scholar 

  • Kowalski, R.A. 1979. Algorithm=Logic+Control. Communications of the ACM 22, 7, pp. 424–436.

    Google Scholar 

  • Lamport, L. The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16, 3, pp. 872–923.

    Google Scholar 

  • McCabe, F.G. and Clark, K.L. 1995. April: Agent Process Interaction Language. In Intelligent Agents — Lecture Notes in Artificial Intelligence 890. Springer-Verlag.

    Google Scholar 

  • Milner, R. 1989. Communication and Concurrency. Prentice Hall.

    Google Scholar 

  • Peterson, G.L. 1981. Myths about the mutual exclusion problem. Information Processing Letters 12, 3, pp. 115–116.

    Google Scholar 

  • 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.

    Google Scholar 

  • Ueda, K. and Chikayama, T. 1990. Design of the kernel language for the Parallel Inference Machine. Computer Journal 33, 6, pp. 494–500.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Maurizio Proietti

Rights and permissions

Reprints 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

Publish with us

Policies and ethics