Doctoral Dissertation, May 1997, Universität des Saarlandes.
The programming language Oz integrates the paradigms of imperative, functional and concurrent constraint programming in a computational framework of unprecedented breadth, featuring stateful programming through cells, lexically scoped higher-order programming, and explicit concurrency synchronized by logic variables.
Object-oriented programming is another paradigm that provides a set of concepts useful in software practice. In this thesis we address the question how object-oriented programming can be suitably supported in Oz. As a lexically scoped higher-order language, Oz can express a wide range of object-oriented concepts. We present a simple yet expressive object system, demonstrate its usability and outline an efficient implementation. A central aspect of Oz is its support for concurrent computation. We examine the impact of concurrency on the design of an object system and explore the use of objects in concurrent programming.
A revised version of this dissertation is available in book form from Kluwer Academic Publishers. Full bibliographic reference is available in the BibTeX entry.
The Kluwer International Series in Engineering and Computer Science, 1997, Kluwer Academic Publishers