Survey and Examples of Specification Techniques for User-Computer Interfaces.

Abstract

Formal and semiformal specification techniques have been applied to many aspects of software systems. The module structure, the uses hierarchy, and the process structure of a system are examples of areas in which such techniques are useful; however, specification techniques have been less successful in describing the interface between a system and its user. This report provides a survey of techniques suitable for specifying the user interface of a system and a detailed discussion of the relevant literature. It also presents a collection of examples of the application of several representative specification techniques to a common set of examples to compare the relative merits of the techniques. Section 1 discusses reasons for specifying a user interface, criteria that such a specification should satisfy, and the application of user interface specification techniques to the Military Message System Project at the Naval Research Laboratory. Section 2 describes the principal specification techniques that have been used; nearly all of them are found to fall into one of two classes-those based on BNF and those based on state transmission diagrams. Section 3 provides a brief example to illustrate specifications of these two classes. Section 4 contains a detailed survey of the specification techniques and the ways in which they have been applied. Section 5 introduces the notation used in the examples of user interface specifications that follow; and Section 6 presents those specifications. Section 7 presents some conclusions. Keywords: Software engineering; Human factors. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 30, 1986
Accession Number
ADA169451

Entities

People

  • Robert J. Jacob

Organizations

  • United States Naval Research Laboratory

Tags

Communities of Interest

  • Biomedical
  • C4I

DTIC Thesaurus Topics

  • Automata
  • C Programming Language
  • Computer Graphics
  • Computer Languages
  • Computer Programming
  • Computer Science
  • Computers
  • Grammars
  • Human-Machine Interfaces
  • Information Processing
  • Information Systems
  • Language
  • Message Systems
  • Operating Systems
  • Programming Languages
  • Standards
  • User Interface

Fields of Study

  • Computer science
  • Engineering

Readers

  • Business Analytics
  • Database Systems and Applications
  • Systems Analysis and Design