For each program component, a figure illustrates the classes which comprise the component, and their relationship among each other. Objects are generally represented as rectangles labeled with the class name. Classes which are derived from one or more parent classes have a solid arrow pointing from the derived class to the parent class (an is a relationship). Classes which use some capability of another class, but are not either derived from nor contain the other class, have a dashed line pointing to the class which is being used (a uses a relationship). Classes which contain one or more instances of another class indicate this by having the rectangle for the contained class located within the containing class (a has a relationship).
VMD has a few important base classes, for which a single global instance is created either during program initialization or as a result of a user request. For several of these base classes an instance of a specialized class derived from the base class is created, and the address of the instance assigned to a pointer of type base *, with the instance accessed through virtual functions. In the figures describing each program component, important base classes are indicated in bold font. If a global instance of a base class exists, the name of the global variable is shown in typewriter font in parentheses below the name of the base class in the figure.