Title:
Alternative Object Organizations using Prototypes, Delegation and Split Objects
Alternative Object Organizations using Prototypes, Delegation and Split Objects
Authors
Astudillo R., Hernan
Shilling, John J.
Shilling, John J.
Authors
Advisors
Advisors
Associated Organizations
Organizational Unit
Series
Collections
Supplementary to
Permanent Link
Abstract
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).
Sponsor
Date Issued
1993
Extent
243173 bytes
Resource Type
Text
Resource Subtype
Technical Report