Constrained Objects
Abstract
Object-oriented programming has shown to be a suitable paradigm for implementing a wide variety of systems. The concepts of encapsulation and inheritance are powerful and useful features, providing flexibility in an understandable and extensible framework. Most object-oriented programming languages, however, are complicated; in providing these features, they present a bewildering array of mechanisms for describing programs, such as classes, metaclasses, methods, class variables, and various control structures. Even more importantly, object-oriented languages do not provide explicit support for maintaining the consistency of internal object states; it is up to the programmer to code methods that respect an implicit set of consistency requirements for the object as a whole. This thesis presents a new model of programming, called constrained objects, in which algebraic constraints are used as a foundation for object-oriented programming. In this model, objects are encapsulated constraint systems that communicate with each other via a message- passing mechanism. Each object maintains a consistent state under perturbation from messages sent by other objects using a constraint satisfaction process. One object may inherit from another; the set of constraints from the first object is conjoined with the set of constraints from the second, and the subsequent satisfaction of the combined constraints ensures the semantic consistency of the derived object.
Document Details
- Document Type
- Technical Report
- Publication Date
- Nov 28, 1993
- Accession Number
- ADA275273
Entities
People
- Bruce Horn
Organizations
- Carnegie Mellon University