Concurrent Constraint Programming (CCP) is a recent development in programming language design. Its central contribution is the notion of partial information provided by a shared constraint store. This constraint store serves as a communication medium between concurrent threads of control and as a vehicle for their synchronization. Analyzing the possibility of supporting object-oriented programming in CCP this text covers various object models and discusses their properties. Small Oz, a sublanguage of the CCP language Oz, is used as a model language for this analysis. It presents a general-purpose object system for Small Oz and describes its implementation and expressivity for concurrent computation.
I Setting The Stage.- 1 Introduction.- 2 Issues in Object-Oriented Language Design.- 3 Small Oz.- 4 First Steps Towards Objects.- II Object-Oriented Programming.- 5 Basic Object System.- 6 Advanced Techniques.- 7 Reduction to Small Oz.- 8 Implementation.- III Objects and Concurrency.- 9 Synchronization Techniques.- 10 Active Objects.- 11 Alternative Concurrency Models.- 12 A Concurrent Meta-Object Protocol.