3.2.2 Related Work



next up previous contents index
Next: 3.2.3 Structure Up: 3.2 Architectural Design Previous: 3.2.1 General Remarks

3.2.2 Related Work

The functionality provided by Xlib and X Toolkit is in general not sufficient for directly building application user interfaces from it. There are numerous products and experimental implementations available to fill the gap between the standard X Windows interfaces and application requirements. This software typically contains one or more of the following components.

Toolkits and Widget Sets.
Custom widget sets, based on the X Toolkit, are part of most X Windows based workstation platforms. Additional, higher-level functionality for the composition of user interfaces is often provided. Typical examples are Motif [75] or InterViews [76]. Toolkits and widget sets used directly by interactive applications.

User Interface Interpreter.
Besides graphical user interfaces, a (command line) interpreter is the classical interactive control environment. There are very successful general-purpose X Windows based user interface systems which combine an interpreter with the X Toolkit and a widget set. User interface elements are defined by interpreted programs at run-time and assist the user in the interaction with the interpreter. Both Winterp [77] and Tcl/Tk [48] [51] follow this concept. User interface interpreter execute the user interface part of application code. Applications may be implemented in the interpreter language or be otherwise connected to and controlled by the interpreter.

Interactive Interface Builder and User Interface Compiler.
The construction of user interfaces based on the X Toolkit is addressed by interactive user interface builders like the Design In Real Time (Dirt) [78] editor and by user interface compilers like Motif's UIL compiler [75] which translate an abstract specification into executable widget creation sequences. In both cases, the redundant manual coding work is replaced by more efficient specification techniques. During the implementation of applications, interface builder and compiler generate source code or data which is implicitly used by applications to create their user interface at run time.

User Interface Management and Development Systems
A User Interface Management / Development System is interposed between the application program and the X Toolkit to assist in implementing the user interface and to facilitate its iterative refinement, independent of the application. The characteristic feature of UIMS [79] and UIDS [80] is the separation of the user interface definition from the application.

Combinations of the above techniques are often found in advanced general-purpose user interface implementations. For more specialized CAD purposes, which are particularily demanding with respect to task complexity and tool evolution, an interpreted user interface is generally envisioned as the most suitable approach. S. RUBIN writes in [54]:

Still another area of CAD system power is user interface. Ideally, the interface should span all of the systems facilities so that a single set of commands is all that needs to be learned. The interface should also be flexible to meet individual needs. The ultimate interface should have an interpreted programming language available such as LISP or PROLOG.



next up previous contents index
Next: 3.2.3 Structure Up: 3.2 Architectural Design Previous: 3.2.1 General Remarks



Martin Stiftinger
Thu Oct 13 13:51:43 MET 1994