Figure: This widget macro is the tool control panel
for the PROMIS Monte Carlo ion implantation module.
Most classical simulation tools are batch-mode applications which do not support graphical user interaction. They can be provided with a front-end user interface which requests all required parameters and then runs the simulator. The situation is depicted in Figure 3.1, where the user interface is implemented as a task-level extension language (LISP) macro, entirely decoupled from the tool code. The widget macro shown in Figure 3.10 is such a tool control panel. Most tool control panels are created from formal specifications of the tools by an interface generator which is implemented in the extension language. This relieves the application engineer from the need to use X Toolkit programming to create new tool control panels.