A Hierarchical Tree
Each component is made up of subcomponents
Tree structure captures the design hierarchy and programmer intuition
Routine provides access to all child components and the parent component
Used for automatic placement and evaluation ordering