\newfont{\mycmr}{cmr12 scaled \magstep0}
\newfont{\mycmti}{cmti12 scaled \magstep0}
\newfont{\mycmtt}{cmtt12 scaled \magstep0}
\newfont{\mycmbx}{cmbx12 scaled \magstep0}
\newfont{\mycmbxt}{cmbx12 scaled \magstep1}
\documentstyle[psfig,twocolumn]{myarticle}
\textwidth6.5in
\textheight9in
\oddsidemargin0.1cm
\topmargin0.1cm
\headheight0in
\headsep0in
%%\topskip0in
%\footskip0in
%\footheight0in
\columnsep0.25in
%\advance\oddsidemargin by -2.5truecm
%\advance\topmargin by -1.7truecm
\hfuzz 4pt
\def\t{PLUG-IN: Using Tcl/Tk for Plan-Based User Guidance}
%
%
%
\pagestyle{empty}
%
%
\begin{document}
\newif\ifdraft
%\drafttrue
\draftfalse
\title{\mycmbxt\t}
\author{\mycmr Frank Lonczewski \\
\mycmti Institut f\"ur Informatik \\
\mycmti Technische Universit\"at M\"unchen \\
\mycmti D--80290 M\"unchen, Germany \\
\mycmtt lonczews@informatik.tu-muenchen.de \\
\mycmtt http://www2.informatik.tu-muenchen.de/persons/lonczews/fralo.html}
\date{}
\maketitle
\thispagestyle{empty}%
%
\section*{\mycmbx Abstract}
PLUG-IN (PLan-Based User Guidance for Intelligent Navigation)
is a user guidance component supporting the user of interactive
applications. It generates dynamical on-line help pages and animation sequences
on the fly. On the dynamical help pages textual help
for the user is displayed whereas the animation sequences are used to 
show how the user can interact with the application.
In our presentation we demonstrate
the given user support by looking at the user interface of an ISDN telephone
application and discuss the underlying Tcl/Tk concepts of PLUG-IN. \\ 
\begin{description}
\item[Keywords:]
Intelligent User Interfaces, User Guidance, Model-Based Interface Design,
On-Line Help Systems
\end{description}

\section*{\mycmbx 1~~Introduction}
In the project 
``Ge\-ne\-rie\-rung in\-tel\-li\-gen\-ter
Be\-dien\-ober\-fl\"achen'' (GIB)\footnote{%
%
This work is supported by Siemens Corporate Research and Development,
Department of Systems Ergonomics and Interaction (ZFE ST SN 51), Munich,
Germany.}
%
we investigate how the time-consuming development process for
the construction of user interfaces 
can be reduced by generating it automatically out of a declarative
description (model) of the properties of an interactive application.
Some advantages of this model-based approach [Fol91, Sze92,
Jan93, Suk93, Bod93, Bal93, Sch94] are:
\begin{itemize}
\item by using alternative layout rules formulated on basis of
a styleguide [OSF91, SUN89], different user interfaces can be generated
without modifying the description of the application
\item the styleguide-confirmity of the set of user interfaces that can be
generated is ensured
\item with a layout-independent description of the tasks that the user can
solve with the interactive application,
a user guidance component can be generated automatically by  
analyzing the model and the tasks of the application
\end{itemize}

\section*{\mycmbx 2~~Plan-Based User Guidance}
The user guidance component supports the user while
working with the application by determining the current tasks of the user. If 
a task
is recognized, a way is searched to solve it, and if such a way can be found,  
the user guidance component can help the user by:
\begin{itemize}
\item generating dynamical textual on-line help that describes how the given 
task can be accomplished
\item generating an animation sequence that simulates the necessary user 
interactions to accomplish the given task
\end{itemize}
PLUG-IN is a
user guidance component that is based on the above described method.
It uses Tcl/Tk concepts to:
\begin{itemize}
\item visualize a set of State Transition Diagrams (STDs) describing the
states of the application and the actions the user can perform
in the different states (denoted by directed arcs). As an example
a STD for the ISDN telephone application is shown in figure~1
\begin{figure*}[tb]
\centerline{\psfig{figure=figure1.eps,width=13.364truecm,height=8.9613333truecm}}
\centerline{figure~1}
\end{figure*}
\item communicate with the interactive application. By using the
``send''-mechanism of Tcl/Tk it is possible for PLUG-IN
to obtain information
about the current state of the application and the used interaction objects
of the application's user interface
\item generate the dynamical on-line help pages and animation sequences
\item simulate the generated animation sequences on the user interface. For
this purpose the extended Tcl/Tk interpreter AniSh (Animation Shell) is used.
With the set of AniSh-specific commands it is possible to simulate
and visualize user interactions in a graphical windowing environment like
the X Window System.
\end{itemize}
%
In contrast to other approaches to user guidance [Feh93, Mor94, Thi94],
PLUG-IN generates dynamical on-line help pages based on the STDs
in HTML-format that can be inspected with a WWW browser like tkWWW or 
NCSA Mosaic.
Each dynamical on-line help page is typically divided into four regions
and contains:
\begin{itemize}
\item information about the current state of the application from the
user's point of view
\item information about the set of possible actions the user can perform in
the current state
\item for each of the possible actions: information about the necessary 
user interactions  to perform the action. If the user selects the
button with the light bulb icon beneath the displayed text 
(see example below), PLUG-IN simulates the described
interactions on the user interface with an animation sequence and
generates a new on-line help page afterwards.
\item information about further documentation material, e.g. references to
a hypertext version of the user manual of the application
\end{itemize}
As all operations the user can perform on the original user interface can
also be triggered through the WWW browser, it can be regarded as an
alternative user interface of the application. In contrast to the original
user interface the goal of the WWW-based user interface is to guide the
user during the work with the application. The information displayed
helps the user to accomplish a given task.
Furthermore, the user can learn how to interact with the original user 
interface through the means of the simulation capabilities of PLUG-IN.

\section*{\mycmbx 3~~An Example: Guiding the User of an ISDN Telephone Application}
In our presentation we look at the user interface of an ISDN telephone application
(see left side of figure~2) [Sie92]
generated with our model-based BOSS-system [Sch94]. 
\begin{figure*}[tb]
\centerline{\psfig{figure=figure2.eps}}
\centerline{figure~2}
\end{figure*}
Depending on the current state of the application (in figure~1 this is
the highlighted state ``NoConnection'' of the STD),
\hbox{PLUG-IN} generates different on-line help pages. The generated 
on-line help page corresponding to the current state of the ISDN phone shown 
in figure~1 is displayed on the right side of figure~2. If the user selects the
light bulb icon on the page, the described user interactions are simulated on
the user interface. In this example PLUG-IN first changes the shape of the 
mouse pointer to provide visual feedback for the user, then 
moves the mouse pointer to the handset button on the user interface 
and finally selects the button by simulating 
a click with the left mouse button.\par
In the demonstration we will show how the user solves a complex task 
(e.g. establishes a conference while using the phone) with the dynamic support 
provided by PLUG-IN.\par
\newpage
\ifdraft%
\else
\begin{thebibliography}{OSF99}
\bibitem[Bal93]{Bal93}
H. Balzert: "Der JANUS-Dialogexperte: Vom Fachkonzept zur Dialogstruktur",
in Softwaretechnik 93, 13(3), 1993
\bibitem[Bod93]{Bod93}
F. Bodard, A. Hennebert, J.M. Leheureux, I. Sacre \& J. Vanderdonckt:
"Architecture Elements for Highly-Interactive Business-Oriented Applications",
in EWHCI 93 Proceedings, eds: L. Bass, J. Gornostaev \& C. Unger,
Springer LNCS 753
\bibitem[Feh93]{Feh93}
T. Fehrle, K. Kl\"ockner, V. Sch\"olles, F. Berger, M. Thies \& 
W. Wahlster: "PLUS - Plan-based User Support", DFKI-Report RR-93-15, 1993
\bibitem[Fol91]{Fol91}
J. Foley, W. Kim, S. Kovacevic \& K. Murray: 
"UIDE - An intelligent User Interface Design Environment", in
Intelligent User Interfaces, Addison-Wesley, 1991, pp. 339-384
\bibitem[Jan93]{Jan93}
C. Janssen, A. Weisbecker \& J. Ziegler: "Generating User Interfaces from 
Data Models and Dialogue Net Specifications", in ACM Interchi 93 Proceedings,
ACM, 1993, pp. 418-423
\bibitem[Mor94]{Mor94}
R. Moriyon: "Automatic Generation of Help from Interface Design Models",
in  ACM CHI 94 Proceedings, ACM, 1994
\bibitem[OSF91]{OSF91}
Open Software Foundation: "OSF/Motif Style Guide Release 1.1", 
Prentice-Hall, 1991
\bibitem[Sch94]{Sch94}
S. Schreiber: "The BOSS-System: Coupling Visual Programming with
Model-Based Interface Design", in Proceedings Eurographics Workshop
Design, Specification, Verification of Interactive Systems, F. Paterno, editor,
Eurographics Association, 1994
\bibitem[Sie92]{Sie92}
Siemens AG: "Te\-le\-fon Be\-die\-nungs\-an\-lei\-tung Hicom Standard 300", M\"unchen,
1992
\bibitem[Suk93]{Suk93}
P. Sukaviriya, J. Foley \& T. Griffith: "A Second Generation User 
Interface Design Environment: The Model and the Runtime Architecture", in
ACM Interchi 93 Proceedings, ACM, 1993, pp. 375-382
\bibitem[SUN89]{SUN89}
Sun Microsystems Inc.: "Open Look, Graphical User Interface, Application
Style Guidelines", Addison-Wesley, Reading, 1989
\bibitem[Sze92]{Sze92}
P. Szekely, P. Luo \& R. Neches: "Faciliating the Exploration of Interface
Design Alternatives: The HUMANOID Model of Interface Design", in ACM CHI 92
Proceedings, ACM, 1992, pp. 507-515
\bibitem[Thi94]{Thi94}
M. Thies: "Planbasierte Hilfeverfahren fuer direktmanipulative Systeme",
Infix, DISKI 67, Universit\"at Stuttgart, 1994
\end{thebibliography}
\fi
\end{document}



