Skip to main content

Über dieses Buch

Making systems easier to use implies increasingly complex management of communication between users and applications. An increasing part of the application program is devoted to the user interface. In order to manage this complexity, it is very important to have tools, notations, and methodologies that support the designer's work during the refinement process from specification to implementation.
The purpose of this proceedings of the first (1994) Eurographics workshop on this area is to review the state of the art. It compares the different existing approaches in order to identify the principal requirements and the most suitable notations and methods, and indicates the relevant results.



Invited Presentations and Discussions


Invited Presentations

1. History, Results, and Bibliography of the User Interface Design Environment (UIDE), an Early Model-based System for User Interface Design and Implementation

UIDE, the User Interface Design Environment, was conceived in 1987 as a next-generation user interface design and implementation tool to embed application semantics into the earlier generation of User Interface Management Systems (UIMSs), which focused more on the look and feel of an interface. UIDE models an application’s data objects, actions, and attributes, and the pre- and post- conditions associated with the actions. The model is then used for a variety of design-time and run-time services, such as to: automatically create windows, menus, and control panels; critique the design for consistency and completeness; control execution of the application; enable and disable menu items and other controls and make windows visible and invisible; generate context-sensitive animated help, in which a mouse moves on the screen to show the user how to accomplish a task; generate text help explaining why commands are disabled and what must be done to enable them; and support a set of transformations on the model which change certain user interface characteristics in a correctness-preserving way.
The model-based approach represented by UIDE is considered promising for four reasons. First, the model is specified in a non-procedural fashion at a higher level of abstraction than the code which the model replaces, thus replacing verbose procedural code with terser declarative knowledge. Second, many of the services provided automatically as a consequence of having the UIDE model, such as help, would typically have to be added after the application has been constructed. Changes to the application would have to be reflected back into those services. Third, when the model changes, all of the above uses of the model can be changed automatically. Finally, some of the design-time services provided by the model would not otherwise be available at all.
James D. Foley, Piyawadee “Noi” Sukaviriya

2. Interactions with Advanced Graphical Interfaces and the Deployment of Latent Human Knowledge

Advanced graphical interfaces are increasingly dynamic, multimodal and involve multithreaded dialogues. This paper provides a theoretical perspective that can support an analysis of the issues involved in their use: the Interacting Cognitive Subsystems (ICS) framework. This framework is used to examine alternative ways in which information from different data streams can be blended within perception, thought and the control of action. The potential applicability of the core constructs to interface design is considered. The paper concludes by outlining a specific strategy for bringing this form of understanding into closer harmony with the formal methods community in computer science.
Phil Barnard, Jon May

Working Group Discussions

3. Users

Without Abstract
D. A. Duce

4. Role of Formalisms

Without Abstract
M. D. Harrison

5. Role of Development Environments

Without Abstract
Piyawadee “Noi” Sukaviriya

Modelling in Architectural Design of Interactive Systems


6. A Model-Based Approach to Presentation: A Continuum from Task Analysis to Prototype

This paper presents a complete model-based approach to the building of presentation for a business oriented highly interactive application. This approach is considered complete in the sense that it supports a continuum from task analysis to a first prototype without disruption. The main steps involved in the proposed methodology include a task analysis performed as a hierarchical decomposition of the interactive task into sub-tasks, a specification of the functional requirements and its integration with task analysis results, a writing of an activity chaining graph which graphically depicts the information and function flow within the task, the selection of an interaction style, the definition of presentation units, the selection of abstract interaction objects, their transformation into concrete objects to be placed before generating a first prototype. The described methodology not only consists of the definition of these steps, but also shows how computer-aided tools can automatically generate the presentation of such an interface.
François Bodart, Anne-Marie Hennebert, Jean-Marie Leheureux, Jean Vanderdonckt

7. Modeling and Analyzing Human-Computer Dialogues with Protocols

A new object-oriented model for modeling and analyzing human-computer dialogues is presented. In this model, dialogues are distributed over a number of objects all running in parallel, and each object maintains the state of a sub-dialogue. The dialogue model is based on only a few concepts: autonomous concurrent objects, communicating with each other via message passing, and the behavior of an object is recursively defined in terms of protocols. Protocols, a concept derived from the concurrent object-oriented language Procol, describe the interaction patterns with an object using an augmented regular expression notation. This dialogue model is targeted to concurrent multi-threaded event-driven dialogues. In addition, dialogues can be quite naturally visualized and interactively specified using graphical direct manipulation techniques.
Hans de Bruin, Peter Bouwman, Jan van den Bos

8. Bridging the Gap from Conceptual Design to Software Design

Designers need a bridge across the gap from conceptual design of the interactive system they want to build to software design of the system that will be built. A suitable framework for such a bridge would be a representation scheme that unifies design information from disparate conceptual spaces and supports automated determination of software design. This paper presents a representation scheme that explicitly represents conceptual designs of user interface, functional core, and the internal dialogue between them. In particular, it makes precise distinctions among a wide variety of possible concept structures. These distinctions have direct implications for software design. A detailed example demonstrates an automated capability to deduce aspects of software design, including correspondence and control requirements, software construction, and communication mechanisms.
W. David Hurley

9. A Human-Computer Collaboration Paradigm For Bridging Design Conceptualization And Implementation

In this paper, we describe a human-computer collaborative environment called MIDAS that defines a new division of labor between human designers and computers. The environment leverages the strengths of both collaborative parties, while compensating for their weaknesses and smoothing the transition from higher level design abstraction to lower level design activities and implementation. The environment has the following tangible features: (a) it lets designers explicitly express their conceptual design intentions and helps them map the high-level intentions into interface implementations; (b) it lets human designers control design decisions and handles a pyramid of details for them during design; and (c) it provides flexible work and control flow for opportunistic design.
Ping Luo

10. A Tool-Supported Approach to the Refinement of Interactive Systems

In this paper we present an approach to support developers in the refinement of specifications of Interactive Systems. We begin with a formal specification of user tasks. We then obtain an architectural description of the corresponding Interactive System in terms of the composition of interaction objects, and finally we generate the prototype of the user interface. We describe the first results in the development of a tool for supporting designers through these phases by using graphical representations and automatic translations among different types of descriptions.
F. Paternó, A. Leonardi, S. Pangoli

11. The BOSS System: Coupling Visual Programming with Model Based Interface Design

Due to the limitations of WYSIWYG User Interface Builders and User Interface Management Systems model based user interface construction tools gain rising research interest. The paper describes the BOSS system, a model based tool which employs an encompassing specification model (HIT, Hierarchic Interaction graph Templates) for setting up all parts of the model of an interactive application (application interface, user interaction task space, presentation design rules) in a declarative, designer oriented manner. BOSS offers an integrated development environment in which specifications are elaborated in a graphical, visual-programming-like fashion. Through a refinement component a specification can be transformed according to high-level design goals. From a refined specification BOSS generates automatically user interfaces using modified techniques from compiler construction.
Siegfried Schreiber

12. A Model-Based User Interface Architecture: Enhancing a Runtime Environment with Declarative Knowledge

A model-based user interface environment refers to an interface design and execution environment which utilizes declarative semantic knowledge about application interfaces. We capture in the application model tasks which will be performed by users, their operational constraints, and objects on which these tasks operate. We capture in the interface model interface components, application-independent interface tasks, and operational constraints on these tasks. Mapping from the application to the interface model serves as a means to construct an interface to an application. Modeling components in the interface model are coupled with executable components, thereby forming working interfaces. They also support intelligent behavior such as partially automatic control sequencing, automatic generation of textual and animated help, and recordings of statistical and chronological command usage history. The modeling components in UIDE are task-oriented. Specifying an interface through these components not only eliminates the low-level programming from the interface creation process, but also makes the design process centered around user tasks.
Piyawadee “Noi” Sukaviriya, Jayakumar Muthukumarasamy, Martin Frank, James D. Foley

13. Object-Oriented Modelling and Specification for User Interface Design

Specification using object-oriented modelling is a useful technique for user interface design when it is placed in an appropriate methodological context. While designing a user interface, a designer can use object-oriented models to record, refer to and communicate user interface design information, namely, abstractions describing application domains, computer systems and their interactive components. This paper describes (a) the rationale for modelling; (b) a user interface design methodology, Idiom, which integrates modelling activities with other more traditional user interface design activities; (c) a notation for object-oriented modelling which includes the ability to append formal or informal descriptive properties to a model; (d) a brief example illustrating the kinds of models that are constructed during user interface design; and, (e) a discussion of experience with modelling in Idiom.
Mark van Harmelen

Users, Tasks and Specification


14. Why Are Analogue Graphics and Natural Language Both Needed in HCI?

The combined use of language and analogue graphics for the expression of information probably is as old as language itself. The paper addresses the question why we need both the expressions of natural language and analogue graphics for the representation of information. It is argued that analogue graphics and natural language have the complementary expressive virtues of specificity and focus, respectively. Their corresponding lack of focus and specificity, respectively, explain why (a) both have developed a number of mechanisms for coping with these deficiencies and (b) why their combination may often have superior expressive power. Since specificity follows from the analogue character of analogue graphics rather than from their graphic character, analogue sound and touch representations are analysed to explore whether results from the analysis of analogue graphics and their complementarity with natural language can be transferred to other analogue modalities of expression. The paper exemplifies the comparatively new field of Modality Theory.
Niels Ole Bernsen

15. Modelling Interactive Systems and Providing Task Relevant Information

This paper presents an approach to the specification of interactive systems which supports reasoning about properties that emerge from the interaction between a system and a user. In particular, properties about the relationship between the information presented by the system and that required by the user in order to perform some task are studied. This gives rise to requirements being placed on the user’s memory for effective use of the system which can be employed to compare different design choices. The techniques and notations are illustrated with a simple example from the domain of desktop office systems.
Bob Fields, Michael Harrison, Peter Wright

16. The Requirements Engineering of User Freedom

In this paper we explore a group of properties of interactive systems (by which we mean the whole system of computers, users and other features of the working environment) that have in common a notion interaction freedom. We shall argue that properties within this category are often discussed imprecisely. What we mean by interaction freedom here is the flexibility of an interactive system to switch between activities and the freedom of the user to choose options, and to be aware of his or her own progress. Our aim is to understand these ideas more precisely in terms of an interaction framework [6, 3] so that they can be used by cognitive modellers in understanding the consequences of such flexibility on learning or using a computer system, or by system designers in understanding how such properties may be built into an interactive system.
M. D. Harrison, A. E. Blandford, P. J. Barnard

17. A Framework for Precise, Reusable Task Abstractions

Current methods for abstraction of task descriptions within the behavioral view are ad hoc, leading to imprecision, inconsistency, and ambiguity in task- and user-centered interface design representations. However, as interaction designers communicate with software designers and implementers, precise and consistent design representations are crucial.
Our experience with the User Action Notation (UAN) reveals the most difficulty in lower levels of abstraction, those levels just above the articulatory level of task description. This level is crucial in interface design because it is the level at which user actions are used to manipulate interface artifacts, or widgets. Even cases believed to be simple and well understood, such as the select task, are seen to be problematic. We argue for inclusion of semantics in task abstraction. We also argue for guiding lower level abstraction within the task-subtask hierarchy by bringing to bear other kinds of abstraction hierarchies, particularly domain-oriented and taxonomical hierarchies.
H. Rex Hartson, Kevin A. Mayo

Approaches to Formal Specification of User Interfaces


18. Modelling Interaction Properties for Interactive Case Memories

Previous work on formal models for interactive systems has often used text editors and graphics editors as case studies. Consequently the notations developed do not necessarily include all the facilities that may be required in reasoning about other types of interactive system.
In this chapter two possible interaction requirements for an interactive knowledge based system (IKBS), user-initiated recoverability and user-initiated reachability are considered. A two-level model based on the work of Sufrin and He [18] is used to show how these requirements can be expressed formally using the Z notation. This model is unable to support the structuring of specifications from collections of interacting components. Three specification notations, which can support structured specification, are then compared in terms of their powers to express these interaction requirements. We show that none of the specially designed notations is capable of adequately expressing the interaction requirements of user-initiated reachability and user-initiated recoverability in ICMs, although all the notations have been successfully applied to the specification of other types of system.
A. M. Dearden, M. D. Harrison

19. LADA — A Logic for the Analysis of Distributed Actions

This paper presents a formalism, LADA, aimed especially at the description of systems and situations which arise during the design and analysis of groupware. We are particularly interested in highly distributed systems and so LADA explicitly models entities (people and things) acting at different unconnected locations. It not only describes the behaviour of the computer software, but also the social protocols required for its successful use. Temporal logic formulae which follow the subjective history of people and other entities are used to simplify the expression of some of the complicated properties required of real systems.
Alan Dix

20. Folding Human Factors Into Rigorous Development

As part of the ESPRIT Basic Research Action ‘AMODEUS-2’ we are investigating the role of formal methods in specifying and understanding properties of systems as they relate to usability. This paper summarises a case study in which a formal specification is employed to understand user-significant properties of an interactionally rich audio-visual (AV) environment. We show how user-oriented requirements need to be considered both in the initial abstract task-oriented specification and in the subsequent refinement process.
D. J. Duke, M. D. Harrison

21. Visual Representation of Formal Specification: An Application to Hierarchical Logical Input Devices

In this paper we shall describe our experience in the definition of a visual representation for the LOTOS specification of Hierarchical Logical Input Devices. The logical input device model is being used to describe the input functionality of the current generation of graphics standards. An extension of the model has been previously proposed by the authors to take into account the hierarchical structuring of those devices. The model has been formally described and several properties have been investigated by addressing the LOTOS notation, an ISO standard originally developed for the specification of open distributed systems that comes with a graphical syntax. The complexity of such graphical notation makes its use very hard, especially in the early phases of a system specification. Our approach is to develop a simpler notation that, while keeping the basic concepts, focuses on the description of task (process) interrelation by only taking into account the parallel composition operators and is able to express all the required semantics knowledge. The paper, after the introductory remarks, gives a short overview of (G-)LOTOS and of logical input devices. Subsequently, it shows how such devices can be described by means of process-gate network pictures that are elements of a language defined by a graphical grammar. The methodology of operation is described through an example that highlights the advantages of developing a formal specification from drawings.
Giorgio P. Faconti, Angelo Fornari, Nicola Zani

22. Grammar-based Formal Specification for the Object-Oriented User Interface Development

Object-oriented programming techniques are considered appropriate for the development of event-driven interactive systems with an object-oriented user interface. Due to the lack of any formalism in object-oriented user interface design and implementation, we utilize our experience in the use of grammar-based notations for the formal specification of user interfaces. This paper proposes a model which combines the Arch and the PAC models with the Bypass mechanism and shows their proper application and interpretation in the decomposition of an interactive system during its development. The adoption of attributed layered translation grammars is proposed for the formal description of the agents in this model. The prototype of the OOGC UIMS system supporting the grammar-based specification of user interfaces is presented in this paper.
Aleš Limpouch

23. Petri Net Based Design of User-Driven Interfaces Using the Interactive Cooperative Objects Formalism

The research work presented here belongs in the domain of formal specification of human-software interaction. More precisely, we are concerned by the applying a formal specification technique in the various stages of the construction of an user-driven application, the kind supported by most of the current UIMS. We use the Interactive Cooperative Objects (ICO) formalism, in which structural (or static) aspects are described in an object-oriented framework and dynamic (or behavioral) aspects are described with high-level Petri-nets. The formalism, a case study and some of its expected benefits are presented here.
Philippe A. Palanque, Rémi Bastide

24. User Centred System Modelling Using the Template Model

Abstract models of interaction may be used to support the development of interactive systems by providing frameworks in which properties of a proposed interface can be specified and reasoned about without necessarily requiring an implemented artifact. In this paper we illustrate such a model. We introduce extensions that identify and clarify system components that have user significance. These extensions enable system properties of the model to be linked to user requirements that may, for example, have their basis in experiment. These extensions form the basis for the template model.
The template model is used to express usability requirements for a system that may support a user’s recognition of its state. Two requirements are described, namely output correctness and structural consistency. Output correctness requires that displayed information reflects state accurately and comprehensibly. Structural consistency requires that all task relevant changes are consistently reflected in system output.
Christopher Roast, Michael Harrison

25. Understanding Direct Manipulation Interaction Algebraically

Attempts to explain human computer interaction in an abstract and generic way have up to now resorted to a functional notation, in which input is identified with the arguments to a function, and output with its result. The semantics of the interaction is expressed in the evaluation of the function itself. This has some drawbacks, in particular the difficulty of expressing the semantic or temporal dependence between input and output events, which is a major characteristic of direct manipulation interaction. This paper presents an alternative algebraic formulation, which captures centrally these IO synchronisations and dependencies.
Roger Took

26. Using an Abstract Model for the Formal Specification of Interactive Graphic Systems

Algebraic specification has been widely used for the formal specification of graphic systems. Normally, specification languages use only very simple geometrical concepts as graphical theoretical support, which results in complex specifications.
The specification of interactive graphic systems has found a good formal model in the concept of ‘interactor’. An interactor is an abstraction of an entity in interactive graphics capable of both input and output. Interactors have been formally specified using CSP-like languages, but without any graphic abstract conceptual support.
In this paper we discuss the integration of a formal abstract model (the graphic object concept), an algebraic specification language and synchronization mechanisms. Binding these concepts allows us to carry out a property oriented description of interactive systems, with a high level of abstraction.
Juan Carlos Torres, Buenaventura Clares


Weitere Informationen