ABSTRACT
Many problems require our software to handle part-whole objects, that is, objects that are defined by a hierarchical structure. As an example, consider folders on a file system. Folders contain files but they often also contain other folders that again may contain files and folders. Another example is a graphics editor in which several graphical objects may be grouped into a single object and moved, resized, and manipulated as a single entity. As such a group of figures may in itself be part of a larger group, it has the same hierarchical, part-whole, structure.