3.5 Groups: A General Mechanism for Defining Substructure

Another way in which the PDP++ software has built-in flexibility is in the ability to create substructure at any level. By substructure, we mean the grouping of objects together in ways that reflect additional structure not captured in the basic structural distinctions made in the software (e.g., as described in the previous sections). For example, it is possible to group events together to reflect sequential information. Also, one can imagine that certain layers should be grouped together to reflect the fact that they all perform a similar function, and should be treated as a group. Similarly, units within a layer can be divided into subgroups that might reflect different parameter settings, etc.

The basic operations of the software are written so as to be insensitive to this additional substructure (i.e., they can "flatten out" the groups), which allows the substructure to be used without requiring special-case code to handle it.

Substructure is defined by creating subgroups of objects. Thus, everywhere the user has the opportunity to create an object of a given type, they also have the opportunity to create a subgroup of such objects.

For more information, see section 8.2 Groups.