A specification technique for building interface agents in a web environment

This papers explores some system design issues regarding the structuring and information flow of complex distributed virtual environments (VEs) containing one or more users and dialogue agents. A specification technique is proposed for modelling such systems. We define a specification technique as a suite of interrelated specification languages. It is argued that specification techniques should support gradual design refinement. Therefore, the proposed technique provides several detail levels of specification. Furthermore, the technique tries to explicitly address distributed implementation issues right from the start. Even prototypes made using the technique are suited for distributed usage. The basic idea behind the technique is that all physical objects, such as user interface components and objects in the VE, are modelled as separate software components. These are arranged in a specific structure, reflecting the actual physical or conceptual structure of the objects. A change notification model is provided that enables each component to react to events from its local structural environment, including additions and removals of other components. The technique is illustrated by means of a Web-based multi-user VE incorporating an environment-aware dialogue agent. The example shows how such a system may be structured in a natural way using the technique and may be specified concisely. The provided change notification model may be considered effective, as it largely replaces the need to directly pass messages between components. However, the still limited expressivity of the change notification model was sometimes found cumbersome, and needs to be improved.

[1]  Michael Dewar,et al.  See what I mean? Using Graphics Toolkits to Visualise Numerical Data , 1995, VisMath.

[2]  Nikolaos Skarmeas Agents As Objects With Knowledge Base State , 1999 .

[3]  Bradley T. Vander Zanden,et al.  Reducing the storage requirements of constraint dataflow graphs , 1999, UIST '99.

[4]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[5]  Patrick Th. Eugster,et al.  Distributed Asynchronous Collections: Abstractions for Publish/Subscribe Interaction , 2000, ECOOP.

[6]  Kenneth P. Birman,et al.  Reliable communication in the presence of failures , 1987, TOCS.

[7]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[8]  B. Schneirdeman,et al.  Designing the User Interface: Strategies for Effective Human-Computer Interaction , 1998 .

[9]  Guruduth Banavar,et al.  Rapidly building synchronous collaborative applications by direct manipulation , 1998, CSCW '98.

[10]  Andrew S. Tanenbaum,et al.  An evaluation of the Amoeba group communication system , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[11]  Niels Ole Bernsen,et al.  Designing interactive speech systems - from first ideas to user testing , 1998 .

[12]  Robert D. Bjornson Linda on distributed memory multiprocessors , 1993 .

[13]  Kee Yong Lim,et al.  The MUSE Method for Usability Engineering , 1997, INTERACT.

[14]  Thomas R. G. Green,et al.  Structuring the programmer's task , 1977 .

[15]  Rob Miller,et al.  The Amulet Environment: New Models for Effective User Interface Software Development , 1997, IEEE Trans. Software Eng..

[16]  Antinus Nijholt,et al.  Speech and language interaction in a (virtual) cultural theatre , 1998 .

[17]  Marian Petre,et al.  Expert Programmers and Programming Languages , 1990 .

[18]  Timothy W. Finin,et al.  A Proposal for a new KQML Specification , 1997 .

[19]  Anton Nijholt,et al.  Design Issues for Navigation and Assistance Agents in Virtual Environments , 2000 .

[20]  Guruduth Banavar,et al.  Responsiveness and consistency tradeoffs in interactive groupware , 1998, CSCW '98.

[21]  Hans Wegener,et al.  The Myth of the Separable Dialogue: Software Engineering vs. User Models , 1995 .

[22]  Koen De Bosschere,et al.  Towards logic programming based coordination in virtual worlds , 1996, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[23]  B. W. van Schooten Process- and agent-based modelling techniques for dialogue systems and virtual environments , 2000 .

[24]  Jakob Zwiers,et al.  Modelling interaction in virtual environments using process algebra , 1999 .

[25]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.