A Sophisticated Microcomputer User Interface Richard ... - CiteSeerX

3 downloads 0 Views 750KB Size Report
Richard Snodgrass. Carnegie-Mellon University. Department of Computer ...... K.A. Shillington and G.M. Ackland (eds). tICS[). PASCAL Version 1.5. Institute for ...
A Sophisticated Microcomputer User Interface Richard Snodgrass

C a r n e g i e - M e l l o n University D e p a r t m e n t of Computer Science P i t t s b u r g h , PA 1 521 ,.33

Abstract

the

and

low

processing

rate.

They

impose

s e c o n d a r y r e s t r i c t i o n s , such as a small symbol table T h e d e s i g n and implementation of a men.-oriented interface for personal computers is discussed. F a c t o r s p e r t a i n i n g to the cognitive limitations of u s e r s are e x a m i n e d an(l their impact on the design o f t h e s y s t e m is d e s c r i b e d . The major attril)utes of t h e s y s t e m are ( 1 ) all communication between the o p e r a t o r a n d t h e computer is through menus or forms (which are analogous to hard copy d o c u m e n t s ) ; ( 2 ) e x t e n s i v e help is available at all times; (8) the i n t e r f a c e can adapt to the e x p e r i e n c e of the user; (4) the display processing t i m e is s h o r t ; and (5) an e x t e r n a l data format e x i s t s t h a t c o m p l e t e l y defines the interface. The v a r i o u s coral)orients of the interface are discussed in detail, followed by a discussion of the implementation.

in

the

compiler

overhead) constraints

severely

sophisticated research that

personal

advanced

some

research

intelligent

reason

user

has

been

interfaces

(lone

some

for

very

second

on

power

large

only

recently

attractive

properties

not shared by

A personal computer us.ally has a

v i d e o display w h i c h can contend with

as a microcomputer sy~stem).

of a faster irregular

executing

a

program.

system

and

machine.

These

sometimes

results

in

A third advantage is the

of

facihties

provided

by

the

bare

Personal computers require less complex

operating

systems

than

conventional

computers,

s i n c e multiprogramming issues (protection, resource

s p a c e , t h e s l o w n e s s and small c a p a c i t y of the disk,

sharing,

s y n c h r o n i z a t i o n ) are not present.

microcomputer

Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.

operating

systems

Thus,

offer

lower

o v e r h e a d s and d i r e c t a c c e s s to tile resources of t h e s y s t e m [1 1], This

paper 'describes

exploits $00.75

which

a v a i l a b i l i t y of l o w - l e v e l primitives of the operating

c o n c e r n the lack of a virtual address

(~) 1080 ACM 0-89791-024-9/80/0900-0097

CPU only for short periods of time at

intervals,

annoying behavior [8].

One

s e t o f r e s t r i c t i o n s on the resources available when or

is t y p i c a l ) . ~lso, although the processing is not o v e r w h e l m i n g , it is uniform, whereas

u s e r s o f large multiproeessing systems get the use

little

is t h a t microcoml)uters impose a stringent

restrictions

have

in microcQmputer s y s t e m s , personal computers also have

to a personal computer (also referred to

implementing

computers

to the point w h e r e e f f e c t i v e interfaces

In s p i t e of the many restrictions that are present

i n v e s t i g a t i o n has f o c u s e d on the adaption of these paper

Another reason for the lack of

v e r y high d a t a t r a n s f e r rates ( 1 0 0 0 characters per

s y s t e m s [ 2 , 1 2, 1 4, 16, 20, 2 2 ] ,

in t h i s

these

design of

are possible.

1. Introduction

interfaces

with the

c o n c e r n i n g microcomputer user interfaces

large systems.

developing

Dealing complicates

user i n t e r f a c e s an(I makes research

in t h i s a r e a d i f f i c u l t . is

to an e x c e s s i v e swapping

deficiencies.

obvious

dedicated

Although

(due

w h i c h are o f t e n more limiting than the

97

computer

the

positive

while

a user feat.res

dealing

interface of

effectively

a

which

personal with

its

limitations.

A s e c o n d c o n s i d e r a t i o n which is important in the

The s y s t e m is designed to be employed

s u b s t a n t i a l amount of interaction with the user, due

d e s i g n o f i n t e r a c t i v e systems is the e x p e r i e n c e of t h e u s er . T y p i c a l users of these systems vary

t o an extensive set of available commands, a large

widely

amount

m o t i v a t i o n to learn about the system.

with

any

application

of

data

particular,

I)rogram

entry

and

which

requires

display, or both.

a

In

which

p a c k a g e s c u r r e n t l y marketed for small

businesses

that

handle

accounting,

data

the

approach

becomes

less

available

in

e x a m i n e d here.

base,

personal

using

a microcomputer have large

c a t e r t o n o v i c e users. It is important, however, not t o i g n o r e t h e e x p e r t user. The in t e r f a ce should be

As hardware

able

e x p e n s i v e , the increased facilities a

involve

Many jobs

t u r n o v e r r a t e s , so it is important for tile system to

a n d / o r m a n a g e m e n t functions are prime candi(lates for

in both t he d e g r e e of familiarity and the

to

adapt

experience.

computer will allow the

its

characteristics

I low

to

imbed

to

this

user's

ability in the

general s y s t e m to be e x t e n d e d to incorl)orate more

interface

k n o w l e d g e c o n c e r n i n g the user and the environment

very

p r o v i d e d by t h e application program.

Thus, it is

a m o u n t o f e x p l a n a t o r y t e x t to the desires of the

a p p r o p r i a t e to a t t e m p t to provide user interfaces

u s e r . Thus t h e n o v i c e would I)e given a significant

for

a m o u n t o f g u i d a n c e by the system, whnreas the

present

microcomputers,

even

though

more

would

be

presented

interface that specified

interface T h e r e a r e a number of design criteria which must computer

or

on

a

large

system.

interface the

the

user's

cognitive

rate.

tlence, the information

t o b e q u i c k l y and easily assimilated. fast

enough so that

user

user's

t h i n k i n g p r o c e s s e s will not be impaired by the loss

retrieval

here

An additional constraint is that t!~e

to d e c a y o v e r time.

in that

of

user. it

the The

responds

and unambiguously to any input, allows to

recover

froln

simple

errors,

and

The user should have a

interfaces very

to

few

adhere

meets

to the

criteria given

e x i s t i n g systems meet evel~ a

s u b s t a n t i a l s u b s e t of them.

The system described

all of the listed criteria and can be

i m p l e m e n t e d and run e f f i c i e n t l y on a microcomlnJter

p r o c e s s from long term memory (LTM) is

also subject

robust,

be

the

And finally, control over all aspects of the

above,

o f i n f o r m a t i o n in S I M due to delays caused by slow r e s p o n s e times.

character by

A l t h o u g h it may seem reasonable to e x p e c t all

The system the

the

s y s t e m must a p l ) e a r to belong to the user.

a v a i l a b l e from t he system should be simple enough be

fast

b o t h r e d u c e errors and increase the command input

t h e l e n g t h o f time t h a t that information can be held

also

very

s i m p l e means of giving commands to the system, to

i n f o r m a t i o n t h a t t h e y can consider at one time and

should

a

minimum amount of detail.

perceived

d i s c o u r a g e s illegal input.

I)r0cessi~g,

P e o p l e a r e h e a v i l y constrained by the amount of

in s h o r t term memory (STM).

user

from

as

should

effectively

A

p a r t i c u l a r l y i m p o r t a n t a s p e c t is the nature of the of

stem

communication

b e m e t b y a user i n t e r f a c e [1, 10], whether oil a

constraints

a

with

T h e r e m a i n d e r of t i l e design criteria for a user

2 . Design Criteria

personal

[7, 17]; at the

l e a s t t h e s y s t e m should I)e able to tailor the

expert

p o w e r f u l s y s t e m s will be available in the future.

is i t s e l f a hard problem

the

system.

Therefore, the

u s e r s h o u l d be able to g e t help from the system at

any t i m e . This information should be available at the

3 . Basic Design

p l a c e t h e help is n e e d e d , and should refer to the specific

context

t i l e user was in when hell) was

requested [8].

uniformity:

The

similar

system

Th e de'sign is b a s e d on the ZOG system [15, 18],

should also exhibit

commands

at

different

which

times

in

turn

s h o u l d i n v o k e similar actions, in order to reduce the

system [0, 23].

state-dePendency

is

of

comhlands.

The

actions

via

nlellil

was

based

on

the

PROMIS

In the ZOG system communication

s e l e c t i o n or] display terminals with

i n v o k e d by a p a r t i c u l a r command should be explicit

s p e c i a l t o u c h - s e n s i t i v e screens.

A ZOG menu (or

and uriambiguous, resulting in a transparent system.

frame)

commands

Such

e x p l a n a t i o n s ; e a c h command is associated with an

a system

perception w o r k [ 2 1 ].

of

is c l o s e l y matched to the user's the

system,

area

requiring less mental 98

is On t h e

simply screen

a

list which

of tile

with

user touches, to

s e l e c t t h a t command. The result of the .,~election is

a n o t h e r menu w i t h further selections. The net w or k

b y t h e a p p l i c a t i o n program is possible any time a

of

selection

me n u s is v e r y larqe (on the order of 3 5 , 0 0 0

frames

in t h e

communication

is

communication

from

discrete

Selection

options,

and

of

by

this

user

to computer is by the

of

from

presentation

is made or data e n t e r e d into a form).

PFIOMIS frame library) so that all means.

semantically

computer

to

by

preserve

the

i n h e r e n t in menu s e l e c t i o n schemes.

advantages It is possible

f o r u s e r s w h o are t o t a l l y unfamiliar with the progran!

meaningful

user

attributes

These

Thus,

or t h e i n t e r f a c e to u s e the system.

the

allows' the

information contained in frames.

Menu selection

user to parlay basic knowledge about

T h e d i s t i n g u i s h i n g c h a r a c t e r i s t i c s of ZOG are that

h o w m e n u s e l e c t i o n works into detailed knowledge

the

of

response

time

for

the

next

display

is

e s s e n t i a l l y i n s t a n t a n e o u s (ZOG is t a r g e t e d for 0.05 70% of the time) and that the total set of

seconds

frames

is

very

response

and

large. a

This

large

coupling of

network

system. at

Also,

by

locating the

relevant

the Site of action, menu selection

e l i m i n a t e s t h e s e a r c h for this information. However,

rapid

produces

the

knowledge

selection

menu

a

has

two

disadvantages. First, in

t y p i c a l impleme'ntations, it is slow. Second, t h e u s e r

q u a l i t a t i v e l y d i f f e r e n t user-computer communication

is

p h i l o s o p h y from a standard menu selection scheme,

e x p l a n a t o r y t e x t , which is annoyincl to the e x p e r t

of which

u s e r w h o a l r e a d y knows the information the menu

t h e r e are m a n y [ 1 3 , 16].

Unfortunately

The approach taken in

the

system

the

k n o w l e d g e domain (thus

three

stringent levels

to

cover

the

The

lowering by two to

(!omain),

to

relax

shown

ZOG

a

large

removes

both

amount

of

of

these

t h e e x p e r t user can simply ignore the explanation.

d e s c r i b e d here was to severely limit

system

presented

disadvantages

o r d e r s of magnitude the number of frames

necessary

be

d i s a d v a n t a g e s w i t h its rapid response time, since

in t h e form o f touch s e n s i t i v e terminals, fast disks, a n d p o w e r f u l processors.

to

contains.

a s y s t e m requires v e r y e x p e n s i v e hardware,

such

forced

the

by

time

reponse

in this paper avoids the

exhibiting

(the

fastest

a

moderately fast

the

hardware

can

s u p p o r t ) and by providing each menu with several

time constraints, to introduce verbosity

versions,

in t h e menus, and to propose an additional

each

containing

more

or

less

detail

( r a n g i n g from one line to s ev e r a l hundred lines of

o b j e c t , a n a l o g o u s to a hnrd copy document, called a

text),

Thus, t h e a t t r i b u t e s described above, when

f o r m , w h i c h is more a p p r o p r i a t e for performing large

taken

as

amounts

interface.

of

data

entry

and display.

Thus, the

a

whole,

result

in

a

powerful

user

s y s t e m o n l y a p p r o x i m a t e s ZOG in its operation, but T h e t o p - l e v e l v i e w of the system is illustrated in

t h e a d v a n t a g e s of being able to implement it on a personal

computer

F i g u r e 1.

make it a viable direction in

The e n t i r e user in t e r f a c e is implen/ented

b y t h e I n l e t f a c e Module, and all maniptdations of

w h i c h t o pursue user i n t e r f a c e s .

t h e d a t a b a s e are handled by the Database Module. There

the

user

between

I n f o r m a t i o n is

are f i v e major a t t r i b u t e s that characterize interface.

First,

all

and

communication

transfered

t h e o p e r a t o r and the computer is through

single

will

Secon(I, e x t e n s i v e help is

all times.

be

given,

implementation

This help ranges from a

comparison

m e s s a g e concerning a particular item in a

colnlllands

are

followed on

of

a

the

by

a discussion of the

personal actual

computer

performance

and

a

of- the

i n t e r f a c e w i t h t he design criteria specified in the

f o r m t o all e n t i r e subnet providing information on a an a s p e c t of the system.

and

b e t w e e n the i n t e r f a c e module and the

p r e c i s e c h a r a c t e r i z a t i o n of menus and forms

more

f o r m s if a more e x t e n s i v e data entry and display a v a i l a b l e at

b e t w e e n the database

modules,

a p p l i c a t i o n program. In the sections that follow, a

m e n u s if a simple command is adequate, or through c a p a b i l i t y is n e e ( l e d .

transfered

interface

previous section.

Third, the interface can

a d a p t to t h e e x p e r i e n c e of the operator by limiting 4. Monus

or e x p a n d i n g the amount of information presented b y a menu. short.

Fourth, the display processing time is

And lastly, an e x t e r n a l data format exists

A m e n u is a list of commands with explanations.

t h a t c o m p l e t e l y d e f i n e s the i n te r f a c e ( e x c e p t for

A s e l e c t i o n is made by typing tile command, thus

t h e c o n n e c t i o n s b e t w e e n the frames, either menus or forms, in t h e network, since arbitrary processing

avoiding 99

There

the

need

are three

for

t o u c h - s e n s i t i v e terminals.

l e v e l s of information associated

with

each

command c a u s e s time a b b r e v i a t e d v e r s i o n displayed. T h e quit c o m m a n d also is a l l o w e d any menu.

Time abbreviated v e r s i o n is a sma.

menu.

n u m b e r o f l i n e s long, of w h i c h only one is d i s p l a y e d

at any

time.

details)

is s h o w n in Figure 2a.

by

Ar'l e x a m p l e

experienced

speed

(less

with

the

This v e r s i o n is used

users

who

1

second

than

implementation

( s e e t h e alH~elldix for

described

commands

want

the

per

below)

Specific

maximum

menu

in

the

and are familiar

network.

T h e standard v e r s i o n o c c u l ) i e s t h e

entire

screen.

T h e t o p line is c o n s t r u c t e d by the

be

within

can be d i f f e r e n t for e v e r y

a r e s l ) e c i : f i e d along w i t h t h e t e x t of the

t h e menu d e s c r i b e d a b o v e , the append, remove, a n d search c o m m a n d s are s p e c i f i c

edit,

in a p a r t i c u l a r region of the

frame

commands

menu, and menus. In

to

commands;

the

abbreviations character

rest

of

all

are

generic.

commands

are

Unique

allowed

(one

is u s u a l l y s u f f i c i e n t t o l,niquely i d e n t i f y a

command). Terminal Display

I

I

Menus

Application Pro,~ram

' I ..... Interface

D•ata

Module

Key/~o~

5. Forms While

Base

l

menus

information for

Module

Forms

Data Base

are

a p l ) r o l ) r i a t e for communicating

w h i c h r e s i d e s in t h e framo, n e t w o r k , and

giving

tile

system

simple

commands

via

selections,

t h e y a r e n o t a l ) p r o p r i a t e for the e n t r y or large

display

of

system

employs

amounts

fields

embedded

refers

to

of

data.

Instead, the

forms, w h i c h c o n s i s t of a s e t of in

uninterl)reted

consecutive

screen

and

picture

attribute

character

is d e s c r i b e d

text.

A field

l o c a t i o n s on t h e

b y four a t t r i b u t e s .

describes

the syntactic

The

form of

t h e i n f o r m a t i o n t h a t r e s i d e s in t h e f i e l d and is used d u r i n g b o t h d a t a e n t r y and d i s p l a y . The explanation

F i g u r e 1: Time Top L e v e l Design

attribute

system, and c o n s i s t s name, and t h e d a t e . contains

a

listing

explanatory

standard

o f t h e nlentl name, t h e s y s t e m

text.

the

commands

along

hell)

attribute

Time r e m a i n d e r of t h e s c r e e n of

is a c h a r a c t e r

requests

intuition

one o r m o r e c o m p l e t e s c r e e n s of t e x t going into more d e t a i l a b o u t t h e s u b j e c t the menu p e r t a i n s to and the use o f t h e c o m m a n d s in t h e menu.

were

one

provided There with

each

uniformly the next version the

are

the

types

mel'lU.

The

of

commands associated

spread

generic commands a p p l y

detailed

t i l e a b b r e v i a t e d version and

the

version

when

his

When

the

standard

s h e h a s s e e n m~ou£1h of t h e d e t a i l e d version,

the

system

idea

command viewing

to t h e s t a n d a r d

is e q u i v a l e n t the

standard

menu.

A '?'

to t h e help command.

When

version,

the

less-detail

field

data

to entry

per

the

menu.

exploit

in the

and

the

the

user's

and display. Menus

other

llowever,

information

and this context

for I00

then

particular skills,

training.

t h e u s e r i n d i c a t e s t o the s y s t e m

returns

is used

handler

the c o n t e x t

in the

form is

is lost if t h e fields are

a c r o s s s e v e r a l 111enLls. For e x a m p l e , if t h e r e

company,

viewing

viewing

form

is a r e c o r c i in t h e d a t a b a s e for e a c h e m p l o y e e of a

v e r s i o n t o b e d i s p l a y e d (i.e., the s t a n d a r d when

default

The

l ) e e n u s e d i n s t e a d for t h e s e fun(;tions,

by

important,

Tile help command c a u s e s

t o all m e n u s .

version). that

two

attribute

the

designed

regarding

COLIId h a v e with

system.

control system.

Forms

T h e t h i r d v e r s i o n , t h e detailed v e r s i o n , c o n s i s t s of

name

between

database

v e r s i o n s h o w n in Figure 2b.

field

the

interface

The s a m e menu might h a v e the

strin[I u s e d w h e n t h e user the

is u s e d w h e n e n t e r i n g d a t a into the form.

Finally,

with

from

same

and

olme m e l l i l m i g h t be u s e d to s e l e c t employee,

If all of t h i s i n f o r m a t i o n w a s d i s p l a y e d at t i m e , t i l e u s e r couhl g e t a m,Jch b e t t e r

of, say, whether a

network

a n o t h e r menu would give

a t h i r d menu w o u l d give his formal

promotion. data

t h e e m p l o y e e w a s qualified

Also, f o r m s bases

(see

are aPl~ropriate for section

7);

other

Customer

List:

A(I)pend} E ( d i t )

R(emove) S ( e a r c h )

II(elp)

Q(uit)

->

(a) Customer

E×ample System

List

April

1988

A (ppend)

This List.

command a l l o r J s 9ou to add ne~4 c u s t o m e r s

E(dit)

This

command ....

This List this

command t e l l s UOU more a b o u t t h e use o f t h e C u s t o m e r and t h e commands t h a t a l l o u 9ou t o m o d i f g o r e × a m i n e list.

This

command r e t u r n s

H(elp),

?

Q(uit)

to

13,

you to the main menu f o r

the Customer

the system.

Command - > (b)

F i g u r e 2: Sample A b b r e v i a t e d and S t a n d a r d V e r s i o n s approaches

might

be

more s u i t a b l e

and if t h e c h a r a c t e r s

for relational

data bases [4].

the The First,

value

the

characters

text

positioned

in

if

the

farm

possible).

is

displayed

Then

the

(in

cursor

is

does

inverse

not

support

character

everywhere If t h e entered

hall'-intensil.y,

then

It

(such

as

'-')

into the field.

appears

with

interactive

characters

the

When a

successive

character

determine

which

picture.

The e d i t

inl)uf c h a r a c t e r s

edit characters

encountered rubouts.

and

printed backed

whc:n

over

they

when

processing

T h e m a s k c o n s i s t s of t h e p i c t u r e w i t h the

distinguished characters. results

character The

picture

replacing '(990)

in a m a s k ' ( - - - )

all

the

090-9090

........

edit

Ext. - - - - ' ,

to accept

commands

system

I01

to

e x h i b i t s unifornfity in that the always

disk

a p p l y and a '?' c a u s e s

respond

with

an

explanatory

is l a s t s i n c e it r e q u i r e s at

access

to

display

a menu ( s e e

7 ) a n d s i n c e t h e d i s p l a y cat] p r o c e e d at the rate

simple

system

by

current

menu.

system

The

an illegal c h a r a c t e r during d a t a

The system

one

a

of amount of d e t a i l .

in t h e c a s e of an illegal menu s e l e c t i o n or

The system

always

Ext.

t o b e e a s i l y u n d e r s t o o d . The

o f m e n u s a l l o w the s y s t e m to c a t e r

w i l l i g n o r e e r r o n e o u s input, giving an error

maximum has

enough

useres p r e f e r e n c e

most

are

menu d e s i g n , t h e information c m l be

levels

section

All o t h e r c h a r a c t e r s are noise, and

automatically

simple

message.

e . g . , ' t ' f o r t r u e a n d ' f ' for f a l s e ) , X (all)hanumeric), and 9 (nun]eric).

kept

generic

a r e A ( a l p h a l ) e t i c ) , B (boolean,

to which

'careful

the

are a c c e p t a b l e ;

tile original

extent

c a n o b t a i n hell) from t h e s y s t e m at any time.

entry.

characters

briefly

the

With

refusing

from the user.

illustrate

h a v e b e e n m e t . 1 h e s y s t e m is f r i e n d l y , and the

message

input, is u s e d to control the

to review

to

user

system

p o s i t i o n in t h e field is c o n t r o l l e d by

in t h e

appropriate

they

to the

an a l t e r e d s e m a n t i c s to

which will be accepted

Each character

999g'

field,

of the value replace the edit characters

criteria

various

o i c t u r e , .which is e s s e n t i a l l y a

COBOL PICTURE [ 5 ] for

Any time a '?' is t y p e d , the

s t r i n g is d i s p l a y e d on the h o t l o m line of The

is

design

ENTER k e y is t y p e d , t h e n the d e f a u l t is

terminal.

are

a

6. Evaluation

in

t h a t a u s e r SUpl)lied c h a r a c t e r can go.

explanation

the

s e v e n more dirjits. in

in t h e p i c t u r e a t t r i b u t e .

v i d e o o r in s o m e o t h e r form of high!igl-~til~£1).

distinguished

a

expecting displayed

Fxt. - .... , with

a t t h e b e g i n n i n g of t h e d e s i r e d field and

T h e m a s k is i d e n t i c a l t o t h e p i c t u r e , e x c e p t t h a t a

allow

is

450-7---

is d i s p l a y e d ( e i t h e r in full i n t e n s i t y , or, if t h e

a mask

terminal

the

system

u s e o f a f o r m f o r d a t a e n t r y is as follows.

half-intensity

'1234567 e were typed, the

f i e l d w o u l d l o o k like ' ( 1 2 3 )

in

a l l o w a b l e b y t h e terminal. means

of

giving

The user

commands to the

s ~ d e c t i o n from t h e s e t offcr~.d by the And fin~dly, t h e user f e e l s that she is

control

of

the

system

(although

the

m a y c o n s t r a i n t h e r a n g e of o p t i o n s a v a i l a b l e

a t a n y p o i n t ) s i n c e the system is always waiting for a c o m m a n d (or d a t a ) from the user. Descriptor ~____~ Pre1 File process0r 7. Implementation Th e s e v e r e limitations imposed by implementing the

system

on

a

microcomputer

necessitate

~

a

\~/ Include

User

File

Pro.tramI

c a r e f u l p a r t i t i o n i n g of the information which resides in

memory

and

secondary

th e

\

information which resides on

storage.

Putting all the information in

.main m e m o r y is i n f e a s i b l e due to the large number

q

S

I Compileri

o f m e n u s and forms in the frame network; putting all o f t h e i n f o r m a t i o n on disk results ill unacceptable response

times.

In addition, it is necessary to

d e s i g n t h e i n t e r f a c e module so that the complexity of

handling

erroneous

help

input

requests is

and

of

dealing with

embedded within the module,

~

w h e r e it c a n be d e a l t with, rather than forcing tile a p p l i c a t i o n program to handle these conditions. view

of

these

bject

ii ....

In

Code

considerations, the iml)lementation

w a s p a r t i t i o n e c l into t h r e e components: a descriptor

F i g u r e 3= Using the Preprocessor

f i l e , a p r e p r o c e s s o r , and the i n te r f a c e modtJle. The interactions

between

w h e n p r o c e s s i n g a particular frame.

t h e s e three components is

i l l u s t r a t e d in Figure 33 and examples of the various files

are

given

in the

appendix.

T h e p r e p r o c e s s o r has t w o tasks: to verify the

Although this

f o r m a t of

p a r t i c u l a r i m p l e m e n t a t i o n was done using the UCSD Pascal system [19] design

presented

on a Z - 8 0 microcomputer, the in this

program.

paper call be usefully

descriptor commands Pascal

by

file

file the

is

completely system.

the

Included

t e x t , for

associated with

defines

to

ill

size

the

refer

to

priori

menus,

limitations on the

command),

and

second

numbe;

file.

simple

human-readable

efficiently

the

and

of commands,

processed

format

format by

the

is

that

format

This reduces

module's to

code,

and

allows

the

do e x t e n s i v e checks which are

task

of

the

preprocessor is to e x t r a c t

from

the

descriptor file which is too

t o p u t this information in an include file. The

include

file

declarations,

is one

a

list

for

of

each

Pascal

CONSTant

frame., and for each

commancl d e f i n e d ill the descriptor file (the same

is

command

designed to be interface

the

t i m e - c o n s u m i n g for th~ i n t e r f a c e module to process

Although the descriptor fil9 is in a

self-documenting,

the

information

the

forms, or fields t h a t can I~e declared in ~

descriptor

with

i n f e a s i b l e f o r t h e i n t e r f a c e module to perform. The

each menu (and their

the

of

preprocessor

each frame, the

a t t r i b u t e s f o r e a c h field in each form, There are no a

conformity

b o t h t h e time it t a k e s to display a frame and the

each

names, which are used by tile application

program

for

b y t h e i n t e r f a c e n~o(lule, tile module cloes

n o t h a v e t o tie any error checking.

descriptor used

file

expected

and languages.

frame

By using t i l e preprocessor to check the

descriptor

a p p l i e d on most microcomputer operating systems

The

t i l e ( l e s c r i p t o r file and to g e n e r a l e an

Include f i l e w hic h is compiled with the application

can be used in di.fferent I]lel'l(is).

Note

t h a t if t h e d e s c r i p t o r file is changed, a new include

module.

E a c h menu is r e p r e s e n t e d by a command list, the

file

must be g e n e r a t e d by the preprocessor, and

a b b r e v i a t e d version, the standard version, and the

the

a p p l i c a t i o n program must be recompiled.

detailed

identifiers

declared

application

program

backdrop

version.

Each form is represented by a

containing

the

text

of

the

form, with

The

ill the include file allow the to

refer

to

the

frames

and

. c o n s e c u t i v e '@'s w h e r e v e r a field betongs, and a

commands

l i s t o f a t t r i b u t e tuples, one t~or each field.

commancl is e q u a t e d to a unique integer value by

All but

t h e c o mma n d list are reacl by the interface module

102

the

in t h e d e s c r ip t io n file symbolically. Each

preprocessor.

ConHilaads

which

are

not

Descriptor File

FMot~r~uBTaecldrop

I

User Display Cornrnand File

/"~'I

Module

~""~'--~--.~

Menu identifier

/,///~///~~-----/~----~XXXXXX'~X~XX "-

Los File

Menu Selection FM°:':': :'t~i:lcc;ei::::;i:ie rZ /

From

1,

J. . . . .

Status Information t

ProGram

Field-value Pairs

Co,'nmands ~.....~....~...~.......~q " ~

Data Base Schema

i

~

?

/

To Proeram

Status Information

DBCS

Data Base F i g u r e 4= The User Interface During Execution themselves associated

valid Pascal identifiers must have. an identifier specified in the description

file. Each menu name is equated with a string ( c a l l e d the m~;nu de.scriptor) that contains (in a p a c k e d format) the character poniti~n (i.e,, the b y t e o f f s e t ) of the start of the abhrcviated and s t a n d a r d version of the Illentl in the.', dc,~;criptor file 1 , t h e unique portion of each command that can I-m, s e l e c t e d in this menu, and the integer value of this command

(since

the

value

is

a q:;igned by the

p r e p r o c e s s o r ~_Hl(I (l()es not al)pear in the descriptor file). The menu descriptor does not contain the c h a r a c t e r position of the detailed w:rsion since this v e r s i o n o c c u r s immediately after the standard v e r s i o n , and con only be displayed by giving the h e l p COllllllan(I while in the standard version. For the C u s t o m e r List example given ( l e s c r i p t o r would contain eight position of the menu (four each and s t a n d a r d vernionn), twelve

earlier, the illetltl characters for the for the abbreviated characters for the

commands (four commands, with a one character name, a one c h a r a c t e r value, and a (lelimiting c h a r a c t e r ) I?lU.-~ a fin4d sl)ac(; (to signal the (:nd or

IEach byto off.~et require.'. 41ch,~raclor.%enablingthe descaiptorfdo to grow as largo as the UCSDfile system allow:.. ]03

t h e command li.t;t) for a total of 21 charact(;rs. Each form name is e q u a l e d with a string (called the f o r m d e s c r i p t o r ) which contains the character p o s i t i o n s of the start of the backdrop and the start ,of t h e field a t t r i b u t e s (eight characters total). Thus, t h e amount of main memory space occupied b y t h e menu and form deseriptc)rs is minimal. The organization of the program during execution is s h o w n in Figure 4. An associative array (an array o f s t r i n g s i n d e x e d by stringr;) is us(:d to pass data b e t w e e n the i n t e r f a c e module and th{: data b~se c o n t r o l system (DISCS). Aft~...r the u,'~er has entered d a t a into a field of a form, the interface n~odtde s t o r e s the value of the fi{:l(l (without the noise c h a r a c t e r s and trailing blanks) in the associative a r r a y , i n d e x e d by the field name, which is one of t h e a t t r i b u t e s of the field. To display a field, the v a l u e is r e t r i e v e d from the associative array atld d i s p l a y e d using the picture attrihutc, Thus the noise c h a r a c t e l b ,uways appear ill the fiel(l, ,)L,L (,,U not s t o r e d in the data hase. The (Iota l)a,~e nlana(lemerM system ire based oil t h e CODASYL 1 .Q7,~3 proposal [6]. The schema associated with the data hose used by the application

proflram

descrihes

the records in tile

data To

b a s e a n d t h e f i e l d s t h a t make Ul) e a c h r e c o r d . store

a

retrieves

record the

associative places of

apl)ropriate

array,

base,

the

fields

constructs

from

the

is

DBCS

record,

fields

For

d a t a is p l a c e d in t h e a s s o c i a t i v e array, as

discussed descriptor

strings,

the

as

All

t o t h e DIt,CS from t h e a ~ s o c i a t i v e a r r a y

designed

removed).

the

actual

interface

gives

the

this

a

is

all(I MODIFYFIELD o p e r a t i o n s also e x i s t , which,

among o t h e r things, can

the

routines

in

the

interface

module

are

t o Ol)timi7e d i s k a c c e s s e s , w h i c h are t h e

o n e d i s k r e a d is r e q u i r e d t o i n i t i a t e a frame d i s p l a y .

of t h e d e s i g n makes

complete

control

over

When

all d a t a

could

also

I)e s u c c e s s f u l l y

or

hierarchical

performing

data

s y s t e m s . A nlaximum of

entry

on

an

entire

form,

disk reads may be necessary, but these n o t n o t i c a b l e sin¢:e t h e y o c c u r b e t w e e n fields.

are

employed

data

in f l o p p y - I } a s e d

seyeral

i s s u e r . . It is i n t e r e s t i n g t o note t h a t

Enough state

base

to

system.

the

reads

m o d u l e s u p p o r t s a slnall number of

less

can

i n f o r m a t i o n is r e t a i n e d b e t w e e n cahs

interface

module to eliminate unnecessary

from the disk.

technology

The interface

field

Analogous

bottleneck

relational

management

thi.s

the

l e n g t h ( s i n c e trailing hlanks h a v e

DI3CS

design

with

to

in

This a s p e c t

m o d u l e as g e n e r a l as possible, and

representation

pertains

line

pier[ire

is r e t u r n e d the

file

that

attribute

and the data entry i)roceeds.

do'operations

t h e m a x i n l u m l e n g t h and tl~e string that

been

The

input or output entire forms.

determines is o f

earlier).

OUTPUTFIELD

as s t r i n g s in t h e a s s o c i a t i v e length

The

entered

retrieved,

variable

module 2.

and

In p a r t i c u l a r , n u m e r i c v a l u e s are s t o r e d as

strings.

the

a n d r e t u r n s a I)oolean s t a t u s i n d i c a t o r ( t h e

a r e c o r d is r e t r i e v e d

are stored

to

integer),

The rev~:rse s e q u e n c e

when

internal

the

a r e d o n e b y t h e DBCS, s i n c e the v a l u e s of

array.

completely

INPUTFIELD o p e r a t i o n is p a s s e d a f i e l d desi~lnator (an

All c o n v e r s i o n s b e t w e e n d a t a

occurs

the data base.

types the

data

i t in t h e d a t a b a s e .

operations

from

in t h e

W i t h t h e a d v e n t of W i n c h e s t e r

disks, accesses

of a problem.

t o s e c o n d a r y s t o r a 0 e is

Using this n e w t e c h n o l o g y , an

abbreviated

m e n u w o u l d t a k e l e s s than 0.2 s e c o r l d s

INITIALIZE o p e r a t i o n is I.Ised t o s p e c i f y t h e d e s c r i p t o r

to

and

file, the initial verbosity

operations

that

I)e a p p l i e d to a franle.

The

display,

standard

this

point,

menu

( a b b r e v i a t e d or sl.andard),

seconds. becomes

a

INITIALIZE

displaying

f o r m s c o n t a i n i n g many f i e l d s .

keyboard, logging). allow

the

input

device

to

the

user's

these

two

8. Acknowledgements

a command

f i l e , w i t h t h e r e s t of t h e s y s t e m

I would

a s if t h e i n p u t w a s coming d i r e c t l y from

user.

By s p e c i f y i n g

input

may

be

this

a log file, a s c r i p t of t h e

recorded.

l i k e t o t h a n k Norman 13rLicks for makin~l

research

environment

If the d a t a b a s e

in t h i s p a p e r ,

possible

file

ants s e v e r a l

as

a

operation

the

levels

file

data

is p a s s e d

selected

handles

operating base.

The

on

a

backup

a

suitahle

b a s i s o f u s e r i n t e r f a c e design,

c o l l e a c j u e s f o r c o m m e n t s on p r e v i o u s

drafts.

DISPLAYMENU

a menu d e s c r i p t o r and r e t u r n s

c o m m a n d as an i n t e ( j e r .

DISPLAYMENU

all t h e d e t a i l s c o n c e r n i n g t h e various Illeml and

command that

command

of

providin~j

M e r r i e B r u c k s for helpful d i s c u s s i o n s

on the psychological

version

by

in w h i c h t o build t h e s y : ; t e m d e s c r i b e d

b e c o m e s c o r r u p t e d , it c a n I)e r e s t o r e d by using this

the

rate when

f i l e s t o b e s e t b y the a p p l i c a t i o n

S i n c e t h e i n p u t d e v i c e is not c o n s t r a i n e d

behaving user%

proces.,;ing especially

2

T h e CIIANGEINI'UT and CIIANGrloG e l ) o r a t i o n s

t o b e t h e k e y b o a r d , it is p o s s i b l e to run t h e s y s t e m

the

I

factor,

than

a n d t h e log file to no file ( i n d i c a t i n g no

program. from

significant

the

less

and t o p r e p a r e t h e m o d u l e f o r t h e oth~:r o p e r a t i o n s . sets

At

a

the

generic

is g u a r a n t e e d

appears

in

conlmands.

the

DISPLAYFORM o p e r a t i o n

The r e t u r n e d

t o b e one of t h e commands menu

descriptor.

The

is p a s s e d a form d e s c r i p t o r

a n d d i s p l a y s t h e c o r r e s p o n d i n g form on the s c r e e n . DISPLAYFORM whenever contains

also creates

a field descriptor record

a f i e l d is o r = c o u n t e r e d ; this r e c o r d , which t h e l e n g t h a n d s c r e e n p o s i t i o n of the field,

104

2Since DISPLAYFORM ded~Jce~ the ~creen p,,:.ition of the fLeld~, directly from 1he b.~ckdlop, there i~ rio flood for the iml~lemcrltorto explicitly include thc.:,e po:,itions in the descriptor file. Al:-o, there are ,constructs that make the picture altribulc ir~d(,lleI~dchlof the ler~glhat :lhe field (see the. appendi×), lhu~. allowif~g tl~e back(Ir,opar,d 'lhe fie ,..itlributes to be changed r~.lalively indep(,iH'letdlyof each efller.

References

1 4 . J.M. McCrossin, R.P. O'llara and L.R. Koster. "A t i m e - s h a r i n g d i s p l a y terminal session manafjer." I B M S y s t e m Journal 17, 3 ( 1 9 7 8 ) , 2 6 0 - 2 7 5 .

1. S.J. Boise. "User behavior on an interactive c o m p u t e r s y s t e m . " IBM System Journal 13, 1 (1974), 2-18.

1 5 . A. N e w e l l . Notes for a Model of l luman P e r f o r m a n c e in ZOG. Carnegie-Mellon University C o m p u t e r S c i e n c e Department, August, 1077.

2. R.F. Brunt and D.[. Turfs. "A U'.{er-Oriented A p p r o a c h to Control I arl(ILlages." S o f l w a r e - - P r a c l i c e and Exl)erienco 6 (1976), 98-108.

1 6 . d. Pahne. "A human-computer interface for n o n c o m p u t e r s p e c i a l i s t s . " Software--Practice and E x p e r i e n c e 9, 9 ( S e p t e m b e r 1070), 7 4 1 - 7 4 8 . 1 7. E. Rich. B u i l d i n g and E x p l o i t i n g User Models. Ph.D. Th., C a r n e g i e - M e l l o n University, April 1079.

3. J.R. Carbonell, J.I. Elkind and R.S. Nickerson. "On t h e p s y c h o l o g i c a l importance of time in a ' t i m e - s h a r i n g s y s t e m . " I l u m a n F a c t o r s 10 (1068),

1 8 . G. Robert'son, D. McCracken and A. Newell. The ZOG A p p r o a c h to M a n - M a c h i n e Communication. T e c h . R e p t . C S - T R - 7 0 - 1 4 8 , Carnegie-Mellon U n i v e r s i t y Computer Science Departm(:nt, October, 1979.

135-142:

4. R.G.G. C a t t e l l . An Entity-Based Database I n t e r f a c e . Tech. t:~ept. CSL-70-O, Xerox PARC, August, 1079.

1 9 . K.A. Shillington and G.M. Ackland (eds). tICS[) PASCAL V e r s i o n 1.5. I n s t i t u t e for Information S y s t e m s , U n i v e r s i t y of California, San Diego, 1978.

5. CODASYL COBOl_ Committee. Journal of D e v e l o p m e n t . S e c r e t a r i a t of the Cana(lian G o v e r n m e n t , EDP Standards Committee, 1978.

2 0 . R.T. Snodgrass. An Object-Oriented Command L a n g u a g e . C a r n e g i e - M e l l o n University Computer S c i e n c e Department, 1980.

6. CODASYL Data D(:~cription Language Comnfittee. J o u r n a l of Devc:lol)nient. Secretariat of the Canadian G o v e r n m e n t , EDP Standar(Is Committee, 1078,.

2 1 . S. Treu. " I n t e r a c t i v e Command I all[llla(le D e s i g n B a s e d on Required Mental Work." I n t e r n a t i o n a l Journal of Man-Machine Studios 7 (1975), 135-149.

M. G e n e s e r e t h . An Automated User Consultant f o r MACSYMA. Ph.D. T h . , l l a r v a r d University, 107,S. 7.

8. Goclden, D.R. and A.D. Baddcley. " C o n t e x t D e p e n d e n c y for Recall C o n t e x t - D e p e n d e n t Memory in T w o Natural Environments: On I.and and U n d e r w a t e r . " R r i t i s h Journal of Psychology 66 (1975), 325-332.

22. IFIP. P r o c e e d i n g s of the IFIP Working Confer,once on Commnz~rl Languages, I un,i, Sweden, A u g l l s t , 1 0 7 4 . [)ul)li.qh~.d as Commnnd I nnquaqes, A m e r i c a n E l s e v i e r Publi.'Hfin£1 Company, New York, 1975.

9. d. Hurst and K. Walker (eds). The P r o b l e m - O r i e n l e d System. MEDCOM Press, New

2 3 . P.L. Walton, R.R. Ilolland and I_.l. Wolf. "Medical G u i d a n c e and PROMIS." Compute.r 12, 11 (November 1979), 19-27.

York, 1972.

1 0 . T.C.S. K e n n e d y . "The Desifln of l n t c r u c t i v e P r o c e d u r e s for M a n - M a c h i n e Commurdcation." I n t e r n a t i o n a l Journal of Man-Machine Sludies 6 (1974), 309-334. 11. B.W. Lampson and R.F. Sproull. An oper] o p e r a t i n g s y s t e l n for a. single-user machine. P r o c e e d i n g s of the Sev{mth Symposium on O p e r a t i n g S y s t e m Principles, ACM, Decemher, 19779, pp. 9 8 - 1 0 5 . 12. K. L a n t z and R. Rashid. VTMS: A Virtual T e r m i n a l M a n a g e m e n t System for l{IQ. Proceedings o f t h e S e v e n t h Symposium o~t Operatin£1 Sy¢;tems P r i n c i p l e s , ACM, Deceml~(;r, 1070, pp. ~;6-97. 13. d. M a r t i n . Desigln of M,m-Conlt)uh:r Dialogues. P r e n t i c e - H a l l , New J e r s e y , 1973.

105

Appendix This e x a m p l e i l l u s tr a t e s the various components of a typical system.

Comments c o n c e r n i n g

t h e c o m p o n e n t s are in italics. A description of the format and use of t hes e files may be f o u n d in s e c t i o n 7.

D e s c r i p t o r File: Example

System

system name the f i r s t f r a m e i n t h i s e x a m p l e i s a m e n u menu name menu identifier commands

?tllenu

Customer L i s t CustL i st append edit search r emove ? Customer L i s t : ?

line separator, abbreviated menu follows

A(ppend) E ( d i t )

R(emove) S(earch) H ( e l p ) O ( u i t )

-> standard menu follows

A (ppend)

T h i s c o m m a n d allous you to add ne~ customers to List,

Q ( u i t) ?

T h i s command r e t u r n s gou to the main menu for the sustem,

This ?

menu d e a l s ~Jith the Customer L i s t ,

the Customer

detailed menu follows

t41nich is ... next complete screen of information

form identifier, CustForm C u s t o m e r Name ( F i r s t ) : ( ~.+t ~ i;? Ip It+'t~.' IZ,'I;.'t ,.-?'(t ' l~ .~' i! .q;+~'t~' t~..'l;:+t:++I:.' t;/t;.~ t;.%:,' t~.~{r~;: ;~,+t~ i ~ t p Customer Name f L a s t ) : Address: git9 [Pale Alto]: S t a t e [CA] : ~P Z i p Code [gGgSG] : e,~P,~,~ T e l e p h o n e Number ((415) 858-1234 Ext. 5G78]: ~'"

a form is next followed by backdrop

attributes

follow 3

" A ( * ) . . . . . . , , CustFirstName, i f not kno~n, press ENTER "A ( * ) " , ,CustLastName. "X (¢t) " , , C u s t A d d r e s s , "X(*)","Palo Alto",CustCitLj, "XX", "CA",CustState, " 9 9 9 9 9 " , " 9 4 3 8 g " , Cus tZ ip, " (999) 999-9399 E x t , 9999", "41S85812345678" ,CustTelephone,

{g nu

next menu

3The attributes are in the order of picture, default, field name, and explanatory message. "A(~)" expands to "AAAA...", w i t h a length equal to the lenglh of the associated field. This construct allows tile' picture attribute to be independent of the field size as indicated in the backdrop. An empty default will allow the value to be the emply string; a nonexistent default will not. Defaults can be provided by the main program by specifying a field name for the default rather than a string, causing the interface modulo to r e t r i e v e the default from the associative array, l~1£

Include File: CUSTLIST=',=; \ f=; j ] A 1E 2R 4S 3 ' ; CUSTFORM='=;bB=:ep':

the menu d e s c r i p t o r the f o r m d e s c r i p t o r other f o r ms and menus

QUIT=B; APPEND=J; EOll=2; SEARCH=3; REMOVE=4; other commands

. o .

Application Program: PROGRAM Examp I e' ; USES I n t e r facerlr,du I e; EOt'~IST I NCLLIDE

' i nc I ude

declares p r o c e d u r e s

f i I e nat~)e'

lnitHenu('descriptor

fite

C,ASE DisF, IoU[lr_,n,J(CustList} At)l)end: . . . 1 E d i t : BEOIN

the i n c l u d e f i l e

nal,le', S t ,3ndar (1) ; OF

° o °

D i spl,%lForm(CustForm) ;

Soc~I'c.h:

. ..1

Rc:nlrJve; . . . ; Oui t : END ; •



...

°

END.

I07