Next: Conclusions
Up: Tool Support of
Previous: Tool Support of
The tools described above support the program customizer. They help
the customizer of a program to get information about existing open points
in the program, and they support a smooth and flexible program
customization process.
There is no tool support for the programmers
who define the hooks in a program. The problems they
are where to place the hooks
in order to obtain a sufficiently open program.
As already mentioned, this is a program design issue, and
only skilled programmers are able to solve the problem.
However, the following rules of thumbs may be helpful:
- Preserve the flavor of the program.
It does not make much sense to open all aspects of a program,
or to eliminate entire operations of it via hook attachments.
If, for instance, the original program is an editor,
the specialized program obtained as the result of binding
open points should still be some kind of an editor.
- Be careful to pass sufficient information in hook parameters.
In order to customize or extend a program via a hook, it is critical
that the necessary information about the current state of the
program is available in the attached procedures.
It may be possible to obtain further information
via the functional interface of the program, but the most direct way
of getting access to the information is via the passed hook parameters.
- Try to make the set of hooks complete.
Given the restrictions in the intended openness from the first rule,
the set of hooks should be as complete as possible.
Putting a hook into one particular operation in an interactive
program, such as the personal database application, should be extended
to putting hooks into all similar operations at the same level of abstraction.
The special purpose tools for open points are in some sense
analogous to debuggers.
A debugger lets the user examine the dynamic state of a program
with the purpose of locating the cause of an error.
The set of tools proposed in this paper
are directed toward examination of another important aspect
of a program, namely the open points. The purpose of the
tools that support the hook mechanism is, as mentioned earlier,
to help the programmer in the process of customizing
a program.
As such, the hook supporting tools are quite
different from debugging tools.
Next: Conclusions
Up: Tool Support of
Previous: Tool Support of
Kurt Noermark
Wed Mar 6 09:44:24 MET 1996