Abstract
This paper describes Tempo++, a concurrent programming language which combines logic programming and object-oriented programming. Tempo++ improves on traditional concurrent logic programming languages (e.g. Parlog, KL1) and their object-oriented extensions (e.g. Polka) by explicitly specifying the safety properties of programs. The language provides a framework in which algorithms for a variety of paradigms can be expressed, derived and compared. In the language, concurrency issues are separated from the code, minimizing dependency between application functionality and concurrency control. It is, in general, possible to test different synchronisation schemes without modifying the code of the operations, and conversely, a synchronisation scheme may be reused by several applications. The main features of the language are illustrated by the implementation of a classical concurrent problem.
Preview
Unable to display preview. Download preview PDF.
References
Abadi, M., and Manna, Z. 1989. Temporal logic programming. Journal of symbolic computation Vol.8, No. 3, pp. 277–295
Davison, A. 1991. From Parlog to Polka in Two Easy Steps, in PLILP'91: 3rd Int. Symp. on Programming Language Implementation and LP, Springer LNCS 528, pp.171–182, Passau, Germany, August.
Fisher M. 1993. Concurrent METATEM — A Language for Modelling Reactive Systems. In Proceedings of Parallel Architectures and Languages Europe, Germany.
Gregory, S. 1987. Parallel Logic Programming in PARLOG, Addison-Wesley.
Gregory, S. 1995. Derivation of concurrent algorithms in Tempo. In LOPSTR95: Fifth International Workshop on Logic Program Synthesis and Transformation.
Gregory, S. and Ramirez, R. 1995. Tempo: a declarative concurrent programming language. Proc.of the ICLP (Tokyo, June), MIT Press, 1995.
Kahn, K.M., Tribble, D., Miller, M.S., and Bobrow, D.G. 1987. Vulcan: Logical Concurrent Objects, In Research Directions in Object-Oriented Programming, B. Shriver, P. Wegner (eds.), MIT Press.
Kowalski R., and Sergot, M. 1986. A Logic-based Calculus of Events, New Generation Computing, Vol.4, No.1, February, pp.67–95
Ramirez, R. 1995. Declarative concurrent object-oriented programming in Tempo++. In Proceedings of the ICLP'95 Workshop on Parallel Logic Programming Japan, T. Chikayama, H. Nakashima and E. Tick (Ed.).
Ramirez, R. 1996. A logic-based concurrent object-oriented programming language, PhD thesis, Bristol University.
Saraswat V. 1993. Concurrent constraint programming languages, PhD thesis, Carnegie-Mellon University, 1989. Revised version appears as Concurrent constraint programming, MIT Press, 1993.
Shapiro, E., and Takeuchi, A. 1983. Object Oriented Programming in Concurrent Prolog, New Generation Computing 1, pp.25–48.
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
Ramirez, R. (1996). Concurrent object-oriented programming in Tempo++. In: Jaffar, J., Yap, R.H.C. (eds) Concurrency and Parallelism, Programming, Networking, and Security. ASIAN 1996. Lecture Notes in Computer Science, vol 1179. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0027797
Download citation
DOI: https://doi.org/10.1007/BFb0027797
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62031-0
Online ISBN: 978-3-540-49626-7
eBook Packages: Springer Book Archive