The Adaptable User Interface - Technion
The Adaptable User Interface - Technion
The Adaptable User Interface - Technion
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
COMFUTING PRACTICES<br />
Edgar H. Sibley<br />
Panei’ Editor<br />
A single adaptable user interface (AUl) which allows the user to switch<br />
between any number of different dialogue modes at any time-even in the<br />
middle of a command-can be useful to a variety of users who are neither<br />
beginners nor experts. It can also be used in applications where different<br />
dialogue modes are appropriate for the various parameters of a single<br />
command. An implemented user interface management system (cl// WS)<br />
suggests the practicality of AMs and their automatic generation.<br />
<strong>The</strong> <strong>Adaptable</strong> <strong>User</strong> <strong>Interface</strong><br />
Eliezer Kantorowitz and Odecl Sudarsky<br />
THE AU1 CONCEP?<br />
Software systems interact with users in a large variety<br />
of ways (dialogue modes). <strong>The</strong>se methods may be classi-<br />
fied as the menu-type and the command-language-type.<br />
In a menu-type-dialogue mode (MM), the user controls<br />
the system solely through the selection of options from<br />
a number of choices presented. It is assumed that only<br />
choices that make sense are presented to the user, and<br />
that it is, therefore, not possible to select options that<br />
are not permitted. In a command-language-type dialogue<br />
mode (CLM), the user controls the system by instruc-<br />
tions given in a certain command language. <strong>The</strong> user<br />
must know this language in order to use the system. In<br />
contr.ast with an MM, where the user is guided by<br />
menu.s and can only enter legal choices, the user of a<br />
CLM may enter erroneous instructions. A CLM should,<br />
therefore, be designed to detect improperly formulated<br />
instructions and to correctly recover from their effects.<br />
<strong>The</strong> advantages of an MM over a CLM are well<br />
known. Since the users do not have to learn any com-<br />
mand language, they may become productive with a<br />
new system after a very short time. A new user may<br />
explore the operations provided by a system simply by<br />
browsing through the menus. If such a system also pro-<br />
vides adequate help for every menu option, the user<br />
may operate the system without ever needing a man-<br />
ual.<br />
Menu systems may, however, be less satisfactory for<br />
frequent users who have to work through a large num-<br />
ber of menus to get their work done. Waiting for a<br />
menu to appear on the screen, finding the right menu<br />
entry, and making the selection can take time. Profi-<br />
cient users who do not need guidance tend to prefer<br />
a concise CLM where a few keystrokes, entered at<br />
full typing speed, achieve the same effect as a num-<br />
This research was supported by the Gutwirth Fellowship Fund and by the<br />
Nicholas M. and Gisela Deutch Fellowship in memory of their martyred par-<br />
ents and families.<br />
0 1989 ACM OOOI-0782/89/1100-1352 $1.50<br />
ber of relatively slow menu selections. Isaki and<br />
Schneidermann observed in [i’] that “Knowl.edgeable<br />
users often remark that they would prefer to type com-<br />
mands and believe that they can work more rapidly by<br />
just typing commands.”<br />
Realizing the different needs of beginners and ex-<br />
perts, many systems provide two distinct user inter-<br />
faces: a menu interface and a command-language inter-<br />
face. In these systems, the user has to select in advance<br />
(in the beginning of the session or before each com-<br />
mand) one of these two interfaces that is best suited to<br />
the task. If a user wants to change the dialogue mode,<br />
the current command must be completed fi:rst, and<br />
then the user must request that the system switch to<br />
the desired user interface. <strong>The</strong>re are cases, .however,<br />
when it is useful to change the dialogue mode in the<br />
middle of a command. To demonstrate this, we will<br />
employ an example command for drawing a black box<br />
with the lower left corner at (0,O) and the upper right<br />
corner at (1,l):<br />
BOXBLACK(O,O) (1,l)<br />
<strong>The</strong> first case to be discussed is that of a user who is<br />
neither a beginner nor an expert but is somewhere<br />
between these two extremes. Such a user may realize<br />
that he or she has forgotten some command language<br />
element while in the middle of composing a command<br />
and may need the assistance of menus [3, 511. .Assume<br />
that the user has typed the word BOX of the example<br />
command and is uncertain about what colors are available.<br />
Shifting to an MM will facilitate color selection<br />
from a menu. A similar situation occurs when the user<br />
has made a mistake, e.g., entered a color that does not<br />
exist. After reading the error message, the user can<br />
switch to a menu of colors in order to select an available<br />
color.<br />
<strong>The</strong> need to assist users who cannot complete a command<br />
is realized in current systems, which enable commands<br />
to be programmed such that users are prompted<br />
for missing parameters. <strong>The</strong>se systems, however, do not<br />
1352 Communications of the ACM November 1989 Volume 3.2 Number 11
give the users the freedom to employ at any time the<br />
dialogue mode that is most productive for their level of<br />
experience. <strong>The</strong> users’ freedom in changing dialogue<br />
modes solves another class of problems which we will<br />
discuss next.<br />
One of the criteria for deciding whether to use a CLM<br />
or an MM is the nature of the input data and the physi-<br />
cal properties of the I/O devices. In our example, the<br />
coordinates of the corners are known by their exact<br />
numerical values ((0,O) and (l,l)), and it is, therefore,<br />
appropriate to enter them by typing them at the key-<br />
board (a CLM). If a corner is only known by its position<br />
on the screen, however, it must be entered by moving<br />
the cursor with a mouse or another locating device. By<br />
our definition, this method for entering coordinates is<br />
an MM, where the points of the screen are the choices<br />
and the selection is made with the mouse. We observe<br />
that depending on the nature of the actual input data,<br />
the same command is sometimes entered in a CLM and,<br />
in other cases, in an MM. Sometimes it is required to<br />
employ two different dialogue modes within the same<br />
command. For instance, one of the corners of the box is<br />
known by its position on the screen (and must, there-<br />
fore, be entered by pointing at it) while the other cor-<br />
ner is known by the numerical values of its coordinates<br />
(and should be entered through the keyboard).<br />
It is sometimes useful to have more than one MM or<br />
more than one CLM. As an example, let us consider a<br />
system with two different CLMs for the same command<br />
language: a voice-input mode and a keyboard-input<br />
mode. Voice input is preferred when the user has to<br />
operate away from the terminal or is otherwise occu-<br />
pied. On the other hand, keyboard input may be<br />
quicker or less error prone in noisy environments.<br />
We propose an adaptable user interface (AUI), which<br />
will allow the user to switch dialogue modes in the<br />
middle of a command. An adaptable user interface is de-<br />
fined as an interface that:<br />
l supports a number of different dialogue modes. More<br />
than two modes may be provided;<br />
l allows the user to switch between dialogue modes at<br />
any time, i.e., even in the middle of a command;<br />
l makes the switch between dialogue modes smoothly<br />
and naturally;<br />
l makes it easy for the user to learn how to use the<br />
different dialogue modes, especially the CLMs, which<br />
usually require a longer training period.<br />
In order to enable simple and natural switching be-<br />
tween dialogue modes, a number of assumptions and<br />
requirements are proposed. <strong>The</strong> central assumption is<br />
that all the dialogue modes of an AU1 are different<br />
representations of a single underlying dialogue language.<br />
This common language is assumed to be constructed of<br />
a number of elementary syntactic components, to be<br />
called tokens. Every token is required to have a distinct<br />
representation in each of the dialogue modes. In an<br />
MM, a token is represented by a single menu selection,<br />
while the corresponding representation in a CLM is an<br />
Computing Practices<br />
atom of the command language. For example, in the<br />
GUIDE system, to be described later, CLM tokens are<br />
represented by character strings. Each token may be<br />
entered in any one of the available dialogue modes,<br />
independent of the modes employed for the other to-<br />
kens. Two subsequent tokens may thus be entered in<br />
two different modes.<br />
Beginners and casual users will employ the AU1 in an<br />
MM. As they become more familiar with the system,<br />
they will gradually learn the CLM instructions that<br />
they need. A user can exploit the CLM commands al-<br />
ready learned and employ an MM for all the other<br />
commands. <strong>User</strong>s will not have to learn CLM com-<br />
mands that are rarely used since they may be entered<br />
in an MM.<br />
Additionally, each token can be entered in the most<br />
suitable way. For example, in the BOX command, each<br />
of the two corners is given by a single token. One cor-<br />
ner of the box may be entered using a mouse while the<br />
opposite corner can be entered by typing its coordi-<br />
nates. <strong>The</strong> implementation of a user interface is usually<br />
a major effort. This is especially true for an AUI, in<br />
which several input devices must be monitored simul-<br />
taneously. It is, therefore, desirable to have a user in-<br />
terface management system (UIMS) [lo, 11, 15, 161 that<br />
automatically generates AUIs. Nonetheless, none of the<br />
existing UIMSs seem to allow the easy production of<br />
AUIs. Most systems can only generate single-dialogue-<br />
mode user interfaces. In systems that offer several<br />
modes, the end user is usually required to select a sin-<br />
gle dialogue mode at the beginning of the session. <strong>The</strong><br />
Workspaces system [l] allows only partial adaptability<br />
(keyboard parameters must be entered first, followed by<br />
the parameters given by other input devices). <strong>The</strong> IOT<br />
[16], Switchboard [14], and Sassafras [6] systems may<br />
possibly be extended by the user interface designer<br />
with code that supports several dialogue modes; how-<br />
ever, writing such code is a difficult task that requires<br />
insight in parallel programming of I/O devices.<br />
THE GUIDE SYSTEM<br />
In order to test the practicality of AUIs and of their<br />
automatic generation by a UIMS, the GUIDE (Graphic<br />
<strong>User</strong> <strong>Interface</strong> Design Environment) system was imple-<br />
mented [13]. Further design goals of GUIDE were:<br />
l specification and modification of a user interface<br />
should be simple and require no programming skills.<br />
This will enable the system to be used by human<br />
factor experts who are not necessarily programmers.<br />
<strong>The</strong> ability to easily modify the user interface is im-<br />
portant since human behavior may not be precisely<br />
predicted, and some debugging may be required;<br />
l extending the user interface with new I/O devices<br />
and associated dialogue modes should be easy and<br />
require only minimal modification of the system.<br />
An application program developed with GUIDE has<br />
three main modules called the lexical, syntactic, and se-<br />
mantic components. <strong>The</strong> lexical component identifies<br />
November 1989 Volume 32 Number 11 Communications of the ACM 1353
Computing Practices<br />
the tolkens in the stream of input events. <strong>The</strong> syntactic<br />
component analyzes the stream of tokens it receives<br />
from the lexical component and invokes the semantic<br />
component when required. <strong>The</strong> semantic component is<br />
the collection of application routines written by the<br />
applic.ation programmers in some ordinary program-<br />
ming languages.<br />
<strong>The</strong> syntactic and lexical components constitute the<br />
user interface of the application program. GUIDE gener-<br />
ates this user interface from specifications given<br />
through interactive graphic design tools. <strong>The</strong> user inter-<br />
face specifications do not cause the generation of any<br />
code; rather, they are stored in a relational database<br />
and are later interpreted by a run-time environment. <strong>The</strong><br />
code of this run-time environment is identical for all<br />
GUIDE-developed applications; only the database and<br />
the semantic component are different. A change in the<br />
user-interface specifications only requires a modifica-<br />
tion of the database. <strong>The</strong> effect of such a change can be<br />
seen immediately, since no compilation and linkage are<br />
requirsad. This facilitates rapid prototyping of user in-<br />
terfaces since the designer can try several alternative<br />
solutions within a short time.<br />
<strong>The</strong> Syntactic Component<br />
<strong>The</strong> syntactic component of the user interface employs<br />
a recursive transition network (RTN) as the definition of<br />
the dialogue language. An RTN interpreter executes<br />
this definition when it analyzes the stream of input<br />
tokens. RTNs were chosen for the syntax representation<br />
because they are as powerful as deterministic,<br />
context-free grammars yet easier to use than BNF represent,ation,<br />
especially for nonprogrammers [2, 4, 81.<br />
An overview and comparison of current methods for<br />
specification of the syntax of dialogue languages is<br />
found in [16]. tines.<br />
An RTN is constructed from a number of subnets.<br />
Each subnet is represented by a directed graph. <strong>The</strong><br />
following kinds of states (nodes) and transitions l[edges)<br />
may appear in a subnet (see Figure 1):<br />
l initial state--the state in which the execution of sub-<br />
net begins;<br />
l return state-causes control to return to the calling<br />
subnet;<br />
l subnet call state-causes control to pass to another<br />
subnet (or, recursively, to the same subnet);<br />
l application call state-causes an application routine to<br />
be executed;<br />
l input state-causes control to wait for the reception of<br />
a token from the lexical component. A menu may be<br />
associated with this state; if required, this menu will<br />
be displayed automatically when this state is<br />
reached;<br />
l output state-causes the display of a message to the<br />
end user;<br />
l plain transition<br />
l return transition-appears after an application call<br />
state and is traversed if the routine has returned the<br />
return code associated with this transition;<br />
l option transition-appears after an input state and is<br />
traversed if the user has selected the menu option<br />
associated with this transition;<br />
l parameter transition-appears after an input slate and<br />
is traversed if the user has picked an object of the<br />
type associated with this transition.<br />
It is noted that a subnet may recursively call another<br />
subnet or itself. This enables the grammar of the dia-<br />
logue language to be defined in a modular way in much<br />
the same way as a program is constructed fro:m subrou-<br />
FIGURE 1. <strong>The</strong> Graphic Representation of RTN States and Transmissions<br />
1354 Conmwuications of the ~4CIvi November 1989 Volume 32 ,Yumber 11
Figure 2 shows an example of an RTN subnet called<br />
PickNode. <strong>The</strong> execution of this subnet by the RTN<br />
interpreter starts at the initial state S 1 and then imme-<br />
diately passes to the input state ~2. A menu called<br />
NodeMenu is associated with this state. <strong>The</strong> user has<br />
now to select one of the two options in this menu. If, for<br />
instance, the option named Del is selected, the option<br />
transition T2 will be traversed, and the application call<br />
state ~3 will be reached. <strong>The</strong> semantic procedure<br />
DNode associated with this state will be called by the<br />
RTN interpreter. Finally, the return state S5 will be<br />
encountered, and the execution of the subnet will ter-<br />
minate.<br />
GUIDE provides an interactive graphic editor called<br />
SYNEDIT. This editor allows the user interface designer<br />
to construct the RTN which defines the syntax of the<br />
dialogue language. A SYNEDIT screen is shown in Fig-<br />
ure 2. SYNEDIT checks the consistency and complete-<br />
ness of the RTN to make sure that it can be executed.<br />
<strong>The</strong> user interface for SYNEDIT itself was generated by<br />
GUIDE.<br />
<strong>The</strong> Lexical Component<br />
<strong>The</strong> lexical component of a GUIDE-generated user in-<br />
terface manages all the input and output of the pro-<br />
gram. <strong>The</strong> output consists of text messages, menus,<br />
icons, and links. A link is a line that connects two icons.<br />
Icons and links may be used to represent the different<br />
objects on which the application operates. <strong>The</strong>y can, for<br />
instance, be employed to show the nodes and edges of<br />
the graphs that appear in some applications.<br />
GUIDE’s lexical component is called by the RTN in-<br />
terpreter (the syntactic component) when it encounters<br />
an input or output state. <strong>The</strong> lexical component cur-<br />
rently supports two dialogue modes. Every menu, icon,<br />
or link can, therefore, be selected in one of two ways:<br />
by pointing with a mouse (an MM) or by typing the<br />
option’s or object’s name (a CLM). Text typed at the<br />
keyboard appears in a special CLM text area at the<br />
bottom of the screen (see Figure 3 and the examples in<br />
Figures 2 and 7). If the user employs the mouse, the<br />
name of the selected menu option or object will be<br />
copied by GUIDE into the CLM area as if the user has<br />
typed them in. <strong>The</strong> CLM area will, therefore, in all<br />
klclfltl SUSNET PICKNODE IlILI+I-u~<br />
53<br />
DNode<br />
4ddTrans 52 54 option<br />
4ddState Exit<br />
4ddTrans 53 S5 Plain<br />
MdTrans<br />
I<br />
S4 S5 Plain<br />
I<br />
FIGURE 2. An RTN Subnet being Edited by SNYEDIT<br />
k-l+lfltl Scroll bar I1 l~l-+l+l<br />
Graphic window area<br />
Text area<br />
FIGURE 3. Screen Layout for a Guide-Developed Application<br />
Computing Practices<br />
cases show the command language representation of<br />
the command being entered. This helps the user to<br />
learn the command language. Note again that each of<br />
the tokens in the command may be entered in a differ-<br />
ent dialogue mode. Furthermore, note that the user<br />
does not have to tell the system to switch between<br />
dialogue modes-but simply uses whichever device<br />
(mouse or keyboard) wanted.<br />
<strong>The</strong> different dialogue modes are managed solely by<br />
the lexical component. When the RTN interpreter re-<br />
ceives a token from the lexical component, it has no<br />
knowledge of the mode in which this token was en-<br />
tered. This makes the system relatively easy to adapt to<br />
future dialogue modes and input devices (e.g., a speech<br />
recognizer) since only the lexical component will have<br />
to be changed, while the syntactic and semantic com-<br />
ponents will remain unchanged.<br />
GUIDE includes a program called LEXEDIT that al-<br />
lows the user interface designer to define icons, links,<br />
menus, and messages. In the icon editor screen (see<br />
Figure 4) the icon is drawn using graphic primitives<br />
and text fields. <strong>The</strong> icon is shown twice: life-sized in<br />
the corner of the screen and enlarged in the main win-<br />
dow. In the link editor screen (see Figure 3, the de-<br />
signer can specify the attributes of the link: line style,<br />
arrowheads, and link shape. Text fields can be placed<br />
along the link. In the menu editor screen (see Figure 6),<br />
the menu’s graphic appearance is drawn. <strong>The</strong> name<br />
and the rectangular region occupied by each option in<br />
the menu can be defined. <strong>The</strong> designer has a choice of<br />
three menu styles: static, pop-up, and pull-down. This<br />
choice of facilities allows the implementation of many<br />
of the currently popular user interface styles.<br />
EXAMPLES OF GUIDE-DEVELOPED APPLICATIONS<br />
In order to test the applicability of GUIDE in various<br />
areas, user interfaces for three different applications<br />
were constructed. <strong>The</strong> applications are:<br />
l a directed graph editor,<br />
l a specification program for management information<br />
systems (MISS), and<br />
l the RTN editor of the GUIDE system.<br />
<strong>The</strong> directed graph editor is a small program. It was<br />
November 1989 Volume 32 Number 11 Communications of the ACM 1355
Computing Practices<br />
AddSam<br />
EM<br />
B<br />
FIGURE 4. LEXEDIT’s Icon Editor Screen<br />
FIGURE 5. LEXEDIT’s Link Editor Screen<br />
I<br />
&ENU EOfTOR: OPTIONS uenu: uyuenu<br />
f ,>Exit<br />
:,
item<br />
budget item<br />
S”PP<br />
supplier<br />
struct the subnets which constitute the RTN and to<br />
check the correctness of the RTN. Since SYNEDIT<br />
could not be used to enter the specifications of its own<br />
RTN, these data had to be entered manually into the<br />
specification database. <strong>The</strong> rest of the specifications for<br />
SYNEDIT were input with LEXEDIT.<br />
IMPLEMENTATION<br />
GUIDE was implemented on an IBM PC AT-compatible<br />
computer. Most of the software was written in the<br />
dBASE III PLUS database programming language and<br />
compiled with the Clipper compiler. <strong>The</strong> use of a rela-<br />
tional database to store user interface specifications al-<br />
lowed rapid and simple development of GUIDE. Since<br />
the dBASE language cannot be fully compiled, how-<br />
ever, the system is somewhat slow. A reimplementation<br />
of GUIDE in a compilable programming language is ex-<br />
pected to result in satisfactory performance.<br />
CONCLUSIONS<br />
It has been argued that it is sometimes useful to employ<br />
a number of different dialogue modes (such as typing<br />
text at the keyboard and pointing with a mouse) within<br />
the same command. This cannot be achieved in the<br />
current systems that provide different dialogue modes<br />
by applying an essentially separate user interface for<br />
each dialogue mode. In order to meet these needs, this<br />
article introduces the adaptable user interface (AUI) con-<br />
cept which integrates a number of dialogue modes into<br />
a single user interface.<br />
<strong>The</strong> freedom of the AU1 user to adapt dialogue modes<br />
to actual needs is useful at all levels of experience. A<br />
novice user starts by using menu modes (MMs) where<br />
guided by choices presented by the system and gradu-<br />
ally learns how to utilize the command language. An<br />
experienced user employs the faster command lan-<br />
guage modes (CLMs) but can switch to menus in the<br />
FIGURE 8. An ERD being Edited in the MIS Specification Program<br />
middle of a command if uncertain about how to finish<br />
it. An AU1 also enables the user to choose the dialogue<br />
mode that is most suitable for the nature of input data<br />
and the working environment.<br />
<strong>The</strong> implementation of the GUIDE system suggests<br />
that both AUIs and a UIMS which generates AUIs are<br />
practical on personal computers. It also shows that all<br />
dependencies on I/O devices and dialogue modes can<br />
be isolated in the lexical component of the user inter-<br />
face. This facilitates future additions of any number of<br />
new dialogue modes to the user interface of an already<br />
existing application.<br />
<strong>User</strong> interfaces for three different applications were<br />
implemented relatively quickly and conveniently using<br />
GUIDE. In these applications, switching between differ-<br />
ent dialogue modes appears natural and gives the user a<br />
new degree of freedom in exploiting the system.<br />
Acknowledgments. We thank David Reider for his<br />
kind help in system analysis and in the development of<br />
one of the examples.<br />
REFERENCES<br />
1. Enderle, C. <strong>The</strong> flexible configuration of interaction environments<br />
using GKS and Workspaces. In Proceedings of the Seeheim Workshop<br />
on UIMS. Springer-Verlag, New York. 1965.<br />
2. Green. M. Report on dialogue specification tools. In Proceedings of the<br />
Seeheim Workshop on UIMS. Springer-Verlag, New York. 1965.<br />
3. Grimes, J, D. A knowledge oriented view of user interfaces. In Pro-<br />
ceedings of the 12th Hawaii international Conference on System Sciences,<br />
Vol. I (Honolulu, Hawaii, Jan. 4-5.) ACM, New York, 1979, pp.<br />
158-163.<br />
4. Guest, S. P. <strong>The</strong> use of software tools for dialogue design. Inf. I.<br />
Man-Machine Studies 16, (Apr. 1962), 263-285.<br />
5. Heffler, M. J. A human-computer interface that provides access to a<br />
diverse user community. In Proceedings of the 14th Hawaii Intema-<br />
tionaf Conference on System Sciences (Honolulu, Hawaii, Jan. 8-9).<br />
ACM/IEEE, New York, 1981, pp. 601-610.<br />
6. Hill, R. D. Supporting concurrency, communication, and synchroni-<br />
zation in human-computer interaction-<strong>The</strong> Sassafras UlMS. ACM<br />
Trans. Graph. 5, 3 (July 1966), 179-210.<br />
November 1989 Volume 32 Number 11 Communications of the ACM 1357
Computing Practices<br />
7. Iseki, O., and Shneiderman. B. Applying direct manipulation con- [Information Systems]: <strong>User</strong>/Machine Systems-human fzclors;<br />
cepts: Direct Manipulation Disk Operating System (DMDOS). Sojtw. 1.3.6 [Computer Graphics]: Methodology and Techniques-interaction<br />
Eng. Notes 11, 2 (Apr. 1986), Z-26. techniques, languages<br />
8. Jac:ob, R. J. K. Using formal specifications in the design of a human-<br />
computer interface. Cownun. ACM 26, 4 (Apr. 19831, 259-264.<br />
9. Myers, B. A. <strong>User</strong>-interface tools: Introduction and survey. IEEE<br />
Sopw. (Jan. 1989), 15-23.<br />
lo. Ol:?eo, D. R., Jr., et al. ACM SIGGRAPH workshop OII software tools<br />
for user interface management. Comput. Graphics 21, 2 (Apr. 1987),<br />
71-174.<br />
31. Pfaff, G. E., Ed. <strong>User</strong> interface management. In Proceedings of the<br />
Ser,heim Workshop on UZMS. Springer-Verlag, New York, 1985.<br />
12. Reider, D., Kantorowitz, E., and Raz, Y. Specification of management<br />
information systems combining data modeling and structured analysis.<br />
In Proceedings of the 4th Israel Conference on Computer Systems and<br />
Sojtware Engineering (Tel Aviv,<br />
19B9, pp. 34-44.<br />
Israel, June 5-6.) IEEE-W New York.<br />
13. Sudarsky, 0. A user interface management system adaptable to various<br />
user experience levels. <strong>The</strong>sis, Dept. of Computer Science,<br />
<strong>Technion</strong>-Israel Institute of Technology, Haifa, Israel, 1988.<br />
14. Tanner, P. P., et al. A multitasking switchboard approach to user<br />
interface management. In Proceedings of SZGGRAPH ‘86: 13th Annunf<br />
Conference on Computer Graphics and Interactive Techniques (Dallas,<br />
Tex., Aug. 18-22.) ACM/SIGGRAPH, New York. 1986, pp. 241-248.<br />
15. Thomas, J. J., and Hamlin, G. Graphical Input Interaction Technique<br />
(GIIT) workshop summary. Comput. Graphics 17, I (Jan. 1983), 5-30.<br />
16. van den Bos, J., Plasmeijer, M. J., and Hartel, P. H. Input-Output<br />
tools: A language facility for interactive and real-time systems. lEEE<br />
Trmts. Softw. Eng. SE-g, 3 (May 1983), 247-259.<br />
CR ‘Categories and Subject Descriptors: D.2.2 [Software Engineer-<br />
ing]: Tools and Techniques---user interfaces; D.2.6 [Software Engineer-<br />
ing]: Programming Environments-interactive; D.2.m [Software Engi-<br />
neering]: Miscellaneous-rrrpid prototyping; D.3.4 [Programming<br />
Languages]: Processors-interpreters, run-time environments; H.1.2<br />
General Terms: Human Factors, Languages<br />
Additional Key Words and Phrases: Dialogue languages, recursive<br />
transition networks. user interface management systems, user interfaces<br />
ABOUT THE AUTHORS:<br />
E. KANTOROWITZ is currently a professor at the Computer<br />
Science Department at <strong>Technion</strong>-Israel Institute of ‘Technology<br />
and an ACM member. His research interests are in adaptable<br />
user interfaces, fault tolerant distributed database systems, and<br />
he is involved in the design of an industrial database-oriented<br />
ship design system. Author’s Present Address: Computer Sci-<br />
ence Department, <strong>Technion</strong>-Israel Institute of Technology,<br />
Haifa 32000, Israel. KANTOR@TECHSEL.BITNET<br />
0. SUDARSKY recently completed his Master of !kience stud-<br />
ies and is an ACM member. His research interests are adapt-<br />
able user interface management systems. Author’s Present<br />
Address: 11 Mishmar HaYarden St., 18412 Afula, .lsrael.<br />
Permission to copy without fee all or part of this material is granted<br />
provided that the copies are not made or distributed for &ect commer-<br />
cial advantage, the ACM copyright notice and the title of the publication<br />
and its date appear, and notice is given that copying is by permission of<br />
the Association for Computing Machinery. To copy otherwise, or to<br />
republish, requires a fee and/or specific permission.<br />
Provides in-depth examination of the topics covered...<br />
acm Computing<br />
Surveys<br />
Editor-in-Chief Salvatore T. March<br />
LIniversity of Minnesota, Minneapolis, MN<br />
A<br />
uthoritative surveys and tutorials make<br />
ACM Computing Surtieys a required resource<br />
in computer science. Refer to<br />
Computing Surveys for updates, new<br />
perspectives on hardware and software, computer<br />
systems organization, computer science theory,<br />
artificial intelligence, applications, and a spectrum of<br />
peripheral topics.<br />
In the past, Computing Surveys has treated encryption<br />
and data security, the legal issues involved in<br />
privacy, fault-tolerant software, data management<br />
and organization, information systems, and manmachine<br />
interface software packages.<br />
What’s best is that the prose is lively and accessible<br />
while providing an in-depth examination of the topics<br />
covered. Published quarterly. ISSN: 0360-0300<br />
Included in STN’s Compuscience, AMS’s Mathsci.. Applied<br />
Science 6 Technology Index, Mathematical Reviews, Science<br />
Abstracts, Science Abstracts Index, British Maritiml? Technology<br />
Ltd.,Computer Literature Index (formerly Qtr. Bib/i. Camp. & Data<br />
Proc.), Computing Reviews, Compumath Citation Index (CMCI),<br />
Ergonomics Abstracts, Information Services for the f’h!ysics 6<br />
Engineering Communities, Index to Scientific Reviezus.<br />
Order No. 105000 - Vol. 22 (1990)<br />
Subscriptions: $85,00/year - Mbrs. $13.00<br />
Student Members: $8.00<br />
Single Issues: $20.00 - Mbrs. $10.00<br />
Back Volumes: $80.00 - Mbrs. $40.00<br />
Student Mbrs. $25/year<br />
PR<br />
63<br />
Circle #103 on Reader Service Card<br />
--<br />
Please send all orders and inquiries to:<br />
P.O. Box 12115<br />
Church Street Station<br />
New York, N.Y. 10249<br />
1358 Communications of the ACM November 1989 Volume 32 Number 11<br />
-