6.4.3 TYPES OF MODEL BEHAVIOR
The opening and closing of a model invokes behavior independent of the context of any other models. These actions are model-specific.
A model's type determines how the model is to be opened. But once an object is created under a given type, does altering the opening method prescribed in the object's type model change the opening behavior of the object model itself? Under the prototype philosophy, the behavior that is inherited upon creation of an object, is the behavior that will continue to be associated with that object, no matter how the type model changes [Zucker & Demaid 92]. Even under the class-based approach, the behavior of the object does not default to the parent's behavior when the behavior already exists in the object. Inheritance of a modified behavior or value occurs only when that value is not present within the object.
One may wish to open a model in two different presentation modes: one as a node representation of properties, the other as a modifiable form with values. Figure 75 and Figure 76 illustrated these two opening modes for a given model object. These modes could be actually represented within the same behavior rule, which checks on the preferred mode value found elsewhere. Or one of the different behaviors could be attached to the opening mode.
It might be possible to say that all models of type "frame" must open as a prompting form. But perhaps one wants to see a frame model as a node-link display. Access to this behavior definition must be available from within the model, if type inheritance does not exits. Therefore, the form must have the components necessary to make this change. If the form does not provide the ability to modify the model's behavior, that behavior is locked-in.
Models can be displayed in a variety of forms. A model is not tied to a specific display style at its creation simply by virtue of its type. Display mode is dictated by the model's "Open" method. When an model is to be opened, the open method is invoked. Examples of displays are the standard authoring model, the form model, and the 3D visualization model.
Clicking upon the node representation will result in the model-specified opening method. A model can also be opened with another method as long as that method is specified within the model. A model's type must be available along with it's name.