Alternative Object Organizations using Prototypes, Delegation and Split Objects

Thumbnail Image
Astudillo R., Hernan
Shilling, John J.
Associated Organizations
Organizational Unit
Supplementary to
Object-based (i.e. classless) models are very effective for elucidating requirements from users, and they support exploratory programming and rapid prototyping. On the other hand, class-based models are preferred to perform design and implementation, providing descriptive power and some types of error checking. We consider the evolution of object-based models into class-based production systems. One of the most difficult problems of this transition is the change from explicit description of individuals to implicit description of class instances. Reorganization support aims to make the system structures and properties evident and enforceable. Structural properties are useful to organize the code regardless of its meaning, and automated support can be enlisted to identify potential structures and properties, leaving the programmer with choice of alternative workspace organizations. We analyze the organization and management of classless objects, regarding the goals of redundancy elimination and consistency maintenance, and how these goals are complicated by the existence of two mechanisms of object creation, cloning and extension (split objects). We present a classification of sharing and extension patterns in terms of the two basic mechanisms, and argue for a metrics-based approach to incremental reorganization. Finally, we propose in detail a set of abstractions with increasing descriptive power and consistency requirements: groups (untyped descriptions of structure and inheritance), families (partially typed descriptions of objects structure and inheritance, with monomorphic typing and consistency maintenance), and types (fully typed descriptions of families interfaces, with polymorphic typing by subtyping and relating implementation hierarchy to typed interfaces).
Date Issued
243173 bytes
Resource Type
Resource Subtype
Technical Report
Rights Statement
Rights URI