Object-Oriented Concurrent Constraint Programming in Oz

  • Gert Smolka
  • Martin Henz
  • Jörg Würtz
Part of the Informatik aktuell book series (INFORMAT)


Oz is an experimental higher-order concurrent constraint programming system under development at DFKI. It combines ideas from logic and concurrent programming in a simple yet expressive language. From logic programming Oz inherits logic variables and logic data structures, which provide for a programming style where partial information about the values of variables is imposed concurrently and incrementally. A novel feature of Oz is that it accommodates higher-order programming without sacrificing that denotation and equality of variables are captured by first-order logic. Another new feature of Oz is constraint communication, a new form of asynchronous communication exploiting logic variables. Constraint communication avoids the problems of stream communication, the conventional communication mechanism employed in concurrent logic programming Constraint communication can be seen as providing a minimal form of state fully compatible with logic data structures.

Based on constraint communication and higher-order programming, Oz readily supports a variety of object-oriented programming styles including multiple inheritance.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    H. Alt-Kaci, A. Podelski, and G. Smolka. A feature-based constraint system for logic programming with entailment. In FGCS’92 [6], pages 1012–1021.Google Scholar
  2. 2.
    W. Chen, M. Kifer, and D. S. Warren. Hilog: A foundation for higher-order logic programming. Journal of Logic Programming, 15: 187–230, 1993.MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    K. Clark and S. Gregory. A relational language for parallel programming. In Proc. of the ACM Conference on Functional Programming Languages and Computer Architecture, pages 171–178, 1981.Google Scholar
  4. 4.
    A. Colmerauer and F. Benhamou, editors. Constraint Logic Programming: Selected Research. The MIT Press, Cambridge, Mass., 1993. To appear.zbMATHGoogle Scholar
  5. 5.
    A. Colmerauer, H. Kanoui, and M. V. Caneghem. Prolog, theoretical principles and current trends. Technology and Science of Informatics, 2 (4): 255–292, 1983.Google Scholar
  6. 6.
    Proceedings of the International Conference on Fifth Generation Computer Systems,Tokyo, Japan, 1992. ICOT.Google Scholar
  7. 7.
    Y. Goldberg, W. Silverman, and E. Shapiro. Logic programs with inheritance. In FGCS’92 [6], pages 951–960.Google Scholar
  8. 8.
    J. Jaffar and J.-L. Lassez. Constraint logic programming. In Proceedings of the 14th ACM Symposium on Principles of Programming Languages, pages 111–119, Munich, Germany, Jan. 1987.Google Scholar
  9. 9.
    S. Janson and S. Haridi. Programming paradigms of the Andorra kernel language. In V. Saraswat and K. Ueda, editors, Logic Programming, Proceedings of the 1991 International Symposium, pages 167–186, San Diego, USA, 1991. The MIT Press.Google Scholar
  10. 10.
    K. Kahn. Objects: A fresh look. In Proceedings of the Third European Conference on Object Oriented Programming, pages 207–223. Cambridge University Press, Cambridge, MA, 1989.Google Scholar
  11. 11.
    M. J. Maher. Logic semantics for a class of committed-choice programs. In J.-L. Lassez, editor, Logic Programming, Proceedings of the Fourth International Conference, pages 858–876, Cambridge, MA, 1987. The MIT Press.Google Scholar
  12. 12.
    R. Milner. The polyadic 7r-calculus: A tutorial. ECS-LFCS Report Series 91180, Laboratory for Foundations of Computer Science, University of Edinburgh, Edinburgh EH9 3JZ, Oct. 1991.Google Scholar
  13. 13.
    G. Nadathur and D. Miller. An overview of.Prolog. In R. A. Kowalski and K. A. Bowen, editors, Proceedings of the Fifth International Conference and Symposium on Logic Programming, pages 810–827, Seattle, Wash., 1988. The MIT Press.Google Scholar
  14. 14.
    V. Saraswat and M. Rinard. Concurrent constraint programming. In Proceedings of the 7th Annual ACM Symposium on Principles of Programming Languages, pages 232–245, San Francisco, CA, January 1990.Google Scholar
  15. 15.
    E. Shapiro. The family of concurrent logic programming languages. ACM Computing Surveys, 21 (3): 413–511, Sept. 1989.CrossRefGoogle Scholar
  16. 16.
    E. Shapiro and A. Takeuchi. Object oriented programming in Concurrent Prolog. New Generation Computing, 1: 24–48, 1983.Google Scholar
  17. 17.
    G. Smolka. A calculus for higher-order concurrent constraint programming. Research report, DFKI, Postfach 2080, 6750 Kaiserslautern, Germany, 1993. Forthcoming.Google Scholar
  18. 18.
    G. Smolka and R. Treinen. Records for logic programming. In K. Apt, editor, Proceedings of the Joint International Conference and Symposium on Logic Programming,pages 240–254, Washington, USA, 1992. The MIT Press. Full version has appeared as Research Report RR-92–23, DFKI, Stuhlsatzenhausweg 3, 6600 Saarbrücken 11, Germany.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Gert Smolka
    • 1
  • Martin Henz
    • 1
  • Jörg Würtz
    • 1
  1. 1.German Research Center for Artificial Intelligence (DFKI)SaarbrückenGermany

Personalised recommendations