Citation
An approach to novice interface design in the Unix environment

Material Information

Title:
An approach to novice interface design in the Unix environment
Creator:
Clifford, Charles B
Place of Publication:
Denver, Colo.
Publisher:
University of Colorado Denver
Publication Date:
Language:
English
Physical Description:
388 leaves : illustrations ; 28 cm

Thesis/Dissertation Information

Degree:
Master of Science
Degree Grantor:
University of Colorado Denver
Degree Divisions:
Business School, CU Denver
Degree Disciplines:
Management Science and Information Systems
Committee Chair:
Kuo, Fang Yang
Committee Members:
Karimi, Jahangir
Gerlach, James

Subjects

Subjects / Keywords:
UNIX C shell ( lcsh )
UNIX C shell ( fast )
Genre:
bibliography ( marcgt )
theses ( marcgt )
non-fiction ( marcgt )

Notes

General Note:
Submitted in partial fulfillment of the requirements for the degree, Master of Science, Management Science/Information Systems.
Statement of Responsibility:
by Charles B. Clifford.

Record Information

Source Institution:
|University of Colorado Denver
Holding Location:
Auraria Library
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
20009167 ( OCLC )
ocm20009167
Classification:
LD1190.B85 1987m .C44 ( lcc )

Full Text
AN APPROACH TO
NOVICE INTERFACE DESIGN
IN THE UNIX ENVIRONMENT
by
Charles B. Clifford
B. A. University of Colorado at Denver, 1984
A thesis submitted to the
Faculty of the Department of Information Systems of the
Graduate School of Business of the
University of Colorado at Denver in partial fulfillment
of the requirements for the degree of
Masters of Science
Management Science/Information Systems
1987


(c) Copyright by Charles B. Clifford 1987
All Rights Reserved
1


This thesis for the Masters of Science of
Management Science/Information Systems
degree by
Charles B. Clifford
has been approved for the
Graduate School
of Business
by
Jahangir Karimi

I


Clifford, Charles Bryan ( M. S., Management Science/Information
Systems)
An Approach to Novice Interface Design in the Unix Environment
Thesis directed by Associate Professor Fang Yang Kuo
The standard C shell, provided with the Berkeley 4.2++
version of Unix, is a difficult tool for the novice user to master.
This drawback stems from a preponderance of cryptic commands,
a passive mode of computing instruction, inappropriate help and
error message content, as well as only one mode of user-computer
interaction.
By complying with the Novice Interface Design
Methodology (NIDM) a multilevel interface, which does not
contain these drawbacks, can be designed and evaluated, prior to
implementation.
NIDM is a tool for representing interface syntax and
semantics, as well as the cognitive and physical actions of the
user. Once the design is depicted, it can be analyzed to determine
the heuristic components incorporated into the design. In addition,
NIDM can be used to predict the interface design's ease of use.


V
The form and content of this abstract are approved. I recommend
its publication.
Signed
ulty^member in charge of thesis


VI
Dedicated to:
My wife Patricia,
May you stay forever young.
B. Dylan


Vll
ACKNOWLEDGEMENT
First, I want to thank the thesis chairman, Bob Kuo, for
without whose assistance the final quality of this project would
have been significantly deminished. Secondly, I want to thank the
thesis commitee members, Jahan Karimi and Jim Gelach, for their
positive criticisms which contributed to the end results of this
project. In addition, I want to acknowledge U S WEST Advanced
Technologies, Information Technologies, for the use of their
Macintosh with which the final draft of this thesis was prepared.


CONTENTS
CHAPTER I
INTRODUCTION.......................................... 1
Problem Domain: The Unix Heuristic Paradigm.. 2
CHAPTER II
LITERATURE SURVEY..................................... 4
Learning Strategies............................. 4
Computing Skill Stages.......................... 5
Heuristic Paradigm Components................... 6
User Interface Design Considerations........... 10
User Interface Design Tools
12


IX
CHAPTER m
NOVICE INTERFACE DESIGN METHODOLOGY............... 14
Implementation of AUS in Compliance with NIDM... 17
NIDM Analysis of AUS: Level 1................ 18
NIDM Analysis of AtiS: Level 2............... 26
NIDM Analysis of AUS: Level 3................ 32
NIDM Analysis of AUS: Level 4................ 37
CHAPTER IV
CONCLUSIONS....................................... 44
Future Research.............................. 45
BIBLIOGRAPHY........................................... 46
APPENDIX
A. State Transition Diagrams of AUS
49


X
B. Structure Charts of AUS............................... 74
C. C Code for AUS........................................ 181


XI
TABLES
Table
1. This table is a graphical representation of four
proposed heuristic paradigms. The association of an
asterisk with a given heuristic paradigm component
indicates the incorporation of that given heuristic
paradigm component into a specific interface
level.................................................. 9
2. This table represents the seven Unix system
applications contained in AUS, and the command
groupings associated with these system
applications.......................................... 18
3. This table depicts the heuristic components contained
in the level one interface paradigm................... 19
4. This table depicts the heuristic components contained
in the level two interface paradigm.................... 28
5. This table depicts the heuristic components contained
in the level three interface paradigm................. 33
6. This table depicts the heuristic components
incorporated into the level four, or standard C shell,
interface.............................................. 39


FIGURES
Figures
1. This state transition diagram represents the first
physical action the stage one user must do in order to
select the status application from within the level one
main menu.............................................. 20
2. This state transition diagram represents the second
physical action the stage one user must do, from
within the level one interface, in order to obtain the
desired information concerning who is currently using
the system.............................................. 22
3. This state transition diagram represents the first
physical action the stage two user must do in order to
select the status application from within the level two
main menu............................................... 31
4. This state transition diagram represents the second
physical action the stage two user must do, from
within the level two interface, in order to obtain the
desired information concerning who is currently using
the system.............................................. 31
5. This state transition diagram represents the first
physical action the stage three user must do in order
to select the status application from within the level
three main menu....................................... 35


Xlll
6. This state transition diagram represents the second
physical action the stage three user must do, from
within the level three interface, in order to obtain the
desired information concerning who is currently using
the system.................................................... 36
7. This state transition diagram represents the initial
entry point into the standard Unix C shell................. 40
8. This state transition diagram represents the physical
action that the stage four, or five, user must execute in
order to determine who is currently using the
system................................................. 41


CHAPTER I
INTRODUCTION
A design methodology to assist novice users in the Unix
environment is studied. This approach is referred to as the Novice
Interface Design Methodology (NIDM). NIDM enables the user
interface designer to represent the syntax and semantics of the
interface, as well as the cognitive and physical actions of the user,
through the utilization of two tools. State Transition Diagrams
(STD) are utilized to formally specify the syntax and semantics of
the novice interface. In addition, Backus-Nauf Forms (BNF) are
utilized to formally specify the cognitive and physical actions of
the user.
By delineating the syntax and semantics of the interface,
as well as the cognitive and physical actions of the user, during
the design phase, the heuristic paradigms incorporated into the
interface design can be evaluated prior to implementation.
Problem Domain: The Unix Heuristic Paradigm
A heuristic paradigm is a computer based model that
supports human learning strategies. The computer based model


2
has three basic components: mode of user interaction, input
handling methodology, and multiple dialogue object types.
Through the association of these components, in compliance with
NIDM, a heuristic paradigm can be designed for ease of use.
The standard C shell, provided with the Berkeley 4.2++
version of Unix, is a difficult heuristic paradigm for the novice
user to master. The problems with the Unix heuristic paradigm
stems from the following four factors:
1. ) Preponderance of cryptic commands From the perspective of
the novice user, not only are cryptic commands difficult to use,
but they are also difficult to learn, and difficult to remember [19],
[23].
2. ) Passive mode of computing instruction -Within this standard
version of Unix, the mode of computer instruction is passive, and
is composed of three types of tutorial messages: tutorial drills, on-
line help messages, and error messages. The tutorial drills provide
computing instruction on file management, on screen and line
editing, on macro commands, on the preprocessor for
typesetting mathematics, and, finally, on the C language. Although
the seven tutorial drills are suitable for the novice user who has
the leisure time to absorb these instructions, enhancing an user's
computing skills in this passive tutorial fashion is not optimal [7],
3. ) Inappropriate help and error message content The help
messages, in the form of an on-line manual, instruct the user


3
about the commands, and associated parameters, which they
might want to use. The error messages explain why the user's
attempts at using the commands were unsuccessful.
Unfortunately, the content of these help and error messages are
better suited for the system programmer, not the novice user [19].
As such, the help and error messages fail to efficiently increase
the novice user's level of computing skills [13].
4.) Only one mode of user-computer interaction The only mode
of user-computer interaction present in this version of Unix is
active: the user, not the interface, must direct the user-computer
dialogue by inputing predetermined commands and associated
parameters. In that an active mode of interaction necessitates that
the user be capable of predetermining which cryptic command to
input, the novice user is initially at a disadvantage. Their initial
position is disadvantageous because they lack prior experience
with the command language.
The interface designer can, when following the NIDM, use
STD to design heuristic paradigms. Then, by analyzing the STD, the
interface designer can determine if the heuristic paradigm
contains design shortcomings. Next, by utilizing BNF, the interface
designer can evaluate the proofed heuristic paradigm for ease of
use. Through complying with the NIDM, the four problems of the
Unix interface can be avoided, and the novice user can be
provided with a more preferable, easier to use, interface.


4
CHAPTER n
LITERATURE SURVEY
A literature survey has been conducted in the areas of
learning strategies, computing skill stages, user interface design
considerations, and user interface design tools. The cumulative
findings from the areas of learning strategies, computing skill
stages, and user interface design considerations, serve as the
conceptual foundation for proposed heuristic paradigms. The
results of the user interface design tools literature survey has
provided NIDM with tools to specify and analyze proposed
heuristic paradigms prior to implementation.
Learning Strategies
Carroll and Mack identified three heuristics, or learning
strategies, for enhancing the user's computing skills, they are
learning by doing, learning by thinking and learning by knowing
[7].
When the user actively wants to accomplish a goal,
according to a personal agenda, in real-time (not by passively


5
following inconsequential drills and exercises, nor by reading
descriptions and explanation of the system application), they are
learning by doing.
When the user is actively trying to make sense of the
system based on their personal experiences with the
application/system and then applying their hypotheses to solving
problems which arise during goal accomplishment, they are
learning by thinking.
When the user, in order to understand their current
knowledge domain, spontaneously references a substantive body
of knowledge, from an alternative knowledge domain, thereby
creating a metaphor of their current knowledge domain, they are
learning by knowing.
Of these three learning strategies, learning by doing is
the most optimal learning strategy for enhancing the user's
computing skills [5], [6], [7].
Computing Skill Stages
The primary feature which distinguishes one computer
user from another is the stage which best represents the user's
level of computing skill. S. Treu has identified four stages of users
which coincides with stages 2,3,4, and 5 shown below [18].
Howard Mozeico expanded Treu's list to five stages by including


6
stage 1 [18]. Those five stages, and their associated characteristics,
are defined as follows:
STAGE 1) Using the interface to obtain desired results
with a minimal prerequisite knowledge of Unix.
STAGE 2) Learning the basics of the Unix system.
STAGE 3) Progressing to a more independent use of the
Unix system.
STAGE 4) Probing into more subtle or difficult features
of the Unix system.
STAGE 5) Producing quality results within the known
Unix system constraints.
In that multiple stages of computing skills exist, it is
suggested that the interface design be capable of accommodating
all five stages of computing skills [18]. In addition, it is suggested
that the interface design be heuristic (able to help the user learn),
so that the user can progress through successive stages of
computing skills [18]. In order to accomplish both objectives, the
interface must incorporate different heuristics paradigms for
different stages of computing skills. Each heuristic paradigm
permits the user to gain access to the system through a level of
the interface designed for their specific stage in computing skill
[18].


7
Heuristic Paradigm Components
A heuristic paradigm has three basic components:
1. ) Mode of User Interaction The user must be able to interact
with Unix in two modes: a passive mode or an active mode [20].
When interacting within the passive mode, the user-computer
dialogue is directed by the interface. When interacting within the
active mode, the user-computer dialogue is directed by the user.
When in the active mode the user has the freedom to choose
which command to execute, and which parameters to associate
with that command.
2. ) Input Handling Methodology Input handling methodology
involves either the monitoring and blocking of the user-computer
dialogue, or merely the monitoring of the user-computer dialogue,
by the interface. Through monitoring the user-computer dialogue
the interface is able to display appropriate dialogue objects to the
user [17], [18], [20]. By blocking the user-computer dialogue, the
interface is able to significantly decrease the opportunity for
invalid user-computer interaction.
3. ) Multiple Types of Dialogue Objects The multilevel interface
must contain nine types of dialogue objects in order to
accommodate the five stages of computing skills. At any given
stage of computing skill it is these nine types of dialogue objects
that are the elemental building blocks of user's cognitive model of


8
the system. The nine types of dialogue objects are given as
follows:
3.1. ) Menus.
3.2. ) Forms.
3.3. ) Prompts.
3.4. ) Help Messages.
3.5. ) Error Messages.
3.6. ) Request Status Messages.
3.7. ) Informational Request Messages.
3.8. ) Tutorial Messages.
3.9. ) Tutorial Exercises.
It is the combination of the mode of user interaction, the
method of handling user input, and the arrangement of the nine
types of dialogue objects, that determines the heuristic paradigm
of the interface level at which the user-computer dialogue is
taking place. Alternative heuristic paradigms can be provided to
the user by incrementally changing the association of components
at each successive interface level. In this manner the designer
incrementally increases the flexibility of the interface, and, in
turn, increases the degree of difficulty of its use. Also, the
challenge of using the interface, and the pleasure derived from


9
mastering its use, are incrementally increased; level by level,
stage by stage [16].
By mastering successive interface levels the user
experiences growth through five computing stages. Table 1,
shown below, graphically depicts the proposed associations of
heuristic paradigm components, at four successive levels, which
facilitate user growth through five computing stages. The
association of an asterisk with a given heuristic paradigm
component indicates the incorporation of that given heuristic
paradigm component into a specific interface level.
HUERISTIC PARADIGM COMPONENTS INTERFACE LEVEL
1 2 3 4
Mode of Interaction
Active 4c 4c
Passive * 4c 4e
Inmit Handline Method.
Blocked * 4c 4c
Unblocked 4c
Dialogue Objects
Menu * 4c 4c
Form * 4c 4c
Prompt * 4c 4c 4e
Help Message 4c 4c 4c 4c
Error Message 4< 4c 4c
Request Status Msg. 4c 4c 4c
Information Request Msg. 4c 4c 4c 4c
Tutorial Message 4* 4*
Tutorial Exercises 4c
TABLE 1: This table is a graphical representation of four proposed
heuristic paradigms. The association of an asterisk with a given
heuristic paradigm component indicates the incorporation of that
given heuristic paradigm component into a specific interface level.


10
User Interface Design Considerations
For the stage one user to grow through five computing
stages, he or she can increase their knowledge of Unix through a
self-instructive mode. The stage one user can purchase a variety
of books and manuals. Searching these books for required
information, while at a workstation, can be cumbersome.
Experimental evidence indicates that this method of learning
software applications is error prone [7]. The stage one user is
"more likely to be confused than enlightened" by such voluminous
documentation [17]. As a result, stage one users most often seek
out experienced co-workers to provide them with instruction [5].
Ideally, the user should be actively trained, they should be
learning by doing [5], [6], [7]. In order to learn by doing, the stage
one user must be empowered to accomplish goals according to a
personal agenda, within a structured environment. However, if a
multilevel interface is to be capable of accommodating a wide
range of user computing skill stages, it must provide a clearly
defined environment for the stage one user, while at a later level,
be unstructured for the expert user [8], [16], [17], [18], [20], [23].
When a novice, or stage one user, enters a computing
environment they experience disorientation and, if permitted to
wander about, will inevitably become lost [5]. The stage one user
prefers a structured environment which is restrictive, and which
guides them to their desired goals [20]. The stage one user


11
requires dialogue objects which can be gleamed at a glance, and
prefer concise and direct instructional statements [13]. They are
guided through the interface to their desired goal by dialogue
objects, to which they must provide an answer [7], [17], [18], [20],
[23]. In this way the frustration and confusion prevalent at early
stages in the learning process can be diverted, if not avoided [5],
[6], [13], [15].
Assuming that the stage two user has studied the tutorial
messages, displayed in the level two interface, they now
understand a limited number of cryptic Unix system application
commands, and associated parameters. Because the stage two user
has made the effort to actively learn the Unix command language,
the level three heuristic paradigm provides them with a safe
environment in which to experiment with their knowledge of the
Unix command language [5]. In this way the stage three user
begins to interact with the interface in an active mode.
The major advantage of the previous three interface
levels is that they provided the user with a structured
environment in which to learn and grow as a computer users. On
the other hand, it is the total absence of such restrictive interface
structures that makes the standard Unix C shell so appealing to
the stage four and five users who desire more creative computing
freedom. The stage four and five users need an interface which
accommodates unrestricted exploration; an interface which takes a
laissez-faire attitude towards the user [5]. Unrestrictive


12
exploration requires a fully active mode of user-computer
interaction.
User Interface Design Tools
The user interface semantics and syntax can be viewed
as a language with its own set of rules. The design of a multilevel
user interface, in compliance with these rule sets, can be
accomplished through the utilization of State Transition Diagrams
(STD) [14], [25]. In addition, multilevel user interface designs can
be analyzed so that their relative ease of use can be predicted,
based on mathematical assumption statements, through the
utilization of Backus-Nauf Forms (BNF) [22].
STD are graphical representations of states in the user-
computer dialogue in which actions occur. These actions are the
physical actions of the user, and the actions that the interface
performs in response to user physical actions, i.e. interface
semantics. The user's perception of interface semantics are
stimulated by changes in interface syntax, i.e. changes in dialogue
object arrangements and their relationships to user physical
actions. STD are utilized by the interface designer to formally
specify the syntax and semantics of the interface. In this way the
mode of user interaction, the method of input handling, and the
arrangement of dialogue objects, are formally specified.


13
BNF are utilized by the user interface designer to specify
the cognitive and physical actions of the user, so that ease of use
can be predicted. Reisner's work centers on the utilization of BNF
to determine the ease of use of user's cognitive and physical
activities [22]. Cognitive actions are mental efforts such as
retrieving knowledge from long term memory, or learning
knowledge from an off-line document. Physical actions are more
clearly observable patterns of behavior, such as depressing a
carriage return key, or typing in the command "who". BNF are
based on mathematically stated prediction assumptions. The
prediction assumptions for cognitive and physical actions of the
user are also designed to take into account differences in
computing skill stages, as well as the paradigmatic context. If
interface A is capable of accomplishing a given task by requiring
that the user expend less time while engaged in cognitive, and or
physical, actions, relative to interface B, then it can be predicted
that interface A is easier to use, relative to interface B.


14
CHAPTER m
NOVICE INTERFACE DESIGN METHODOLOGY
As just stated, NIDM utilizes STD to delineate the syntax
and semantics of the interface, in conjunction with BNF to predict
ease of use. In this manner NIDM enables the interface designer to
create alternative heuristic paradigms, and to then evaluate the
designs for ease of use, prior to implementation.
Within the STD notation, four symbols are used to
represent interface semantics, while screen directives and
message definitions are used to represent interface syntax.
The four symbols used in NIDM are:
1.) State The symbol for a state is the circle. Each state
represents a stable interface state which is awaiting an user
physical action. Each state has a unique name, and a unique
arrangement of dialogue objects which are displayed on the
screen when that given state is reached. The initial, or starting
interface state is shown as two concentric circles, and is labeled
"start".


15
2. ) Transition The symbol for the transition is an directed arrow.
Each arrow depicts the path followed in the transition from one
stable state to the next. A given transition has associated with it a
label to represent the terminal input resulting from a given user
physical action which results in a transition. Terminal input is
assumed to be unbuffered, i.e. processed immediately. Transition
labels are text strings composed of alphanumeric characters.
When terminal input is buffered, transition labels are extended by
the character "cr" to indicate input text strings terminated by a
carriage return. Transition's which do not have a label associated
with them indicate the path traversed due to invalid user physical
actions. In addition, arrows can also be used to depict the path
followed in the transition to, or from, an operation, or a
subconversation.
3. ) Operation The symbol for an operation is the small square.
Each operation is labeled with a unique integer. Operations
represent actions executed by the system as a result of the
transition of one stable state to the next stable state.
4. ) Subconversation The symbol for the subconversation is a
rectangular box. Each subconversation has associated with it a
unique diagram name. When an transition connects a state, or
operation, to a subconversation, the study of the current STD is
suspended, and the STD with the subconversation's diagram label
is studied. The major benefit of the subconversation symbol is its


16
ability to enable the interface designer to break up unreadily
comprehended STD which contain a large number of states.
Some of the screen directives used by NIDM to
represent interface syntax are defined as follows (a complete
discussion of STD screen directives can be found in reference item
number 25):
r row
c column
els clear the entire screen
clw clear a window, defined by coordinates r3, c40,
r3, c80, rl8, c40, and rl8, c80, which displays
types 2, 3, 4, 5, 11, and 12 dialogue objects.
hm row 0, column 0
cl clear to the end of the current line
+ increment row or column by one integer
For example, to represent the movement of the cursor to
row 0, column 0, after clearing a line from row 23, column 3, the
sequence of screen directive used would be:
r23, c3, cl
hm
Message definitions are used to to mark cursor positions,
and to fully specify dialogue object content and their exact screen
location. The message definitions used to define dialogue objects


17
contain text strings and screen derivatives. Text strings are used
to specify the alphanumeric content of the dialogue object, while
screen directives are used to specify its exact location on the
terminal display. For example, the message definition used to
represent a dialogue object of type eight is given as follows:
message who_command_msg
rl8, c40, "Unix COMMAND MESSAGE: who"
Implementation of AUS in compliance with NIDM
A four level interface prototype, called Alternative Unix
Shells (AUS), has been designed, evaluated and implemented
through the use of NIDM. AUS incorporates a four level heuristic
paradigm, and accommodates five stages of user computing skills.
All the STD and BNF utilized in this case study are representations
of AUS. A complete catalog of STD representations of AUS is
located in appendix A.
The seven Unix system applications accessed through
AUS, and the command groupings associated with these system
applications, is depicted in Table 2. For this example, design
analysis will be limited to an investigation of the "who" command
associated within the Unix Status Application.


18
APPLICATION SYSTEM UNIX COMMANDS
User Access Control passwd
Terminal Handling setenv; TERM; tty
File Manipulation cat; cp; pr; cmp; rm; Is; mv; chmo d
Directory Manipulation mkdir; rmdir; cd; pwd; chmod
Status Inquiries date; who
Communication mail; calendar; write; wall; mesg
Information Handling sort; uniq; diff; comm; grep; wc; spell
Table 2: This table represents the seven Unix system applications
contained in AUS, and the command groupings associated with
these system applications.
NIDM Analysis of AUS: Level 1
As stated previously, the level one paradigm is best
suited to the stage one user. This being the case, then an analysis
of STD for this paradigm will facilitate identification of
incorporated heuristic components, and will facilitate the
formulation of prediction BNF's to determine of ease of use, for
this paradigm.
Within the first level of the interface, the mode of
interaction is passive, and user input is monitored, and blocked. In
addition, the level one heuristic paradigm contains dialogue types


19
1, 2, 3, 4, 5, 6, and 7. Table 3 depicts the heuristic components
contained in the level one interface paradigm.
HUERISTIC PARADIGM COMPONENTS INTERFACE LEVEL
1 2 3 4
Mode of Interaction
Active
Passive *
InDut Handling Method.
Blocked *
Unblocked
Dialogue Objects
Menu *
Form *
Prompt *
Help Message *
Error Message *
Request Status Msg.
Information Request Msg. 4c
Tutorial Message
Tutorial Exercises
Table 3: This table depicts the heuristic components contained in
the level one interface paradigm.
We will begin the analysis of the level one interface by
studying the STD, shown in figure 1, which represents the main
entry point into the level one interface. As shown in figure 1, the
stage one user must select menu item "5", in order to invoke the
status application. This is depicted in figure 1 by the transition,
labeled with the number "5", which traverses from the
"Level_l_Main_Menu" state, to the ""
subconversation. This physical action can be expressed
mathematically, as t \ .


20
LEVEL_1_MAIN MENU
Actios
ode dlr_hilp_ij
1 detcrtmiso the mter of ImlU
In rrl t
civ
dsaeap.help
wp taMj.kilp
£, cM, HU* help DWI(I ku mi kvt*
K, c40( ^apleatatad pet."
tene_k dMB|.klp
code Lod_T_MeIaJ4ea
£, 3, LEVEL 1 MAIN MENU*
r2, c3, *1 TovImI naij Mess*
ra, c3, *2 Unr Acceas Could Mesa*
re, cl, *3 Rla Maalprladoa Mean'
re, c3, *4 Directoiy Madpdstioa Uim*
re, cl, *3 gatas (i^dUm Mess'
re, el, *6 Infotaadce Hudlig Mess'
re, c3, *B Exit to AVS Mala Mias', urt^a
re, 3, *7 Help*
re2, cj, TNTEB MENU HEM SElECTlONs ', aai*_l
toaark_l
- node eccesa^elp.asg
civ
daa
ip.halp
soda ceea_talp_F*f
dv
doaap_>eJp
soda Mei*_Maa_erTOr_l-3
tonark_n,
ie), cl
t21, c3, *EHROft MESSAGE; laralM iMpcwc'
ode eoetiaae
(IS, cl, fBESS THE SPACE BAH TO CONTINUE*
dv
£1, d
lit, cl
ode eili_Mein_Men_ke!p_Mig
dv
£, c40. Tide aess Item viD pcrmli*
ie, ciO, *yoo to retsra to tkc C shell*
soda kelp.Jatro.asg
soda atat.kelp.Bsg
re, d
re2, c]
£, c40, *BfTEB THE MENU ITEM SELECTION PCS'
re, cdt, "WHICH YOU WANT HELP; ', wAJ
toaerit.T
dv
(2, c40, "This apfUcadoB viB taU yoo vko la'
re, c40, *ssiag tfaa ayscea aad tka comet date1
re, cAD, Sd das.*
soda si>t.ao.C_pbaU
aoda Mela_veaa_emn'_4
toaerk_a,
re), d
£1, cS, *EUCt MESSAGE: If pa aeka aaaher error poo vlll call to dv C shell*
ode file_help_asg
dv
daay_help
coda lof^hetp.aag
dv
doaap.help
Figure 1: This state transition diagram represents the first physical action the stage
one user must do in order to select the status application from within the level one
main menu.


21
The STD which represents the stage one user's second
physical action is shown in figure 2. As depicted, the user must
select the correct menu item by typing the number "1". By
executing this action, the user obtains the desired information, via
action square 1. This second physical action can also be expressed
mathematically as t 2 .
This series of actions is an example of how a heuristic
paradigm can enable a stage one user to accomplish a goal,
according to a personal agenda, in real-time, thereby facilitating
the learning by doing strategy for enhancing the user's computing
skills related to the Unix environment.


22
Slat menul
Actio*
1 call ayataa Crtottap^;
epea toap flic;
dbplap cams* f nap file
I* tw.
2 call ijms (*dm>teap^;
ope* temp (lie;
dlapUp cancan ef top file
1* hr.
3 IctonlM the into of Invalid
ode ni_nnnl aed# who_b*Ip_*ng
i2, e3, status iNQuama menu" rf> d
r*2, c3, *1 Wha la mlag the apnea" rf* **
re, 3, "2 Dm aed dae" clw
re, 63,-8 Balt te Level 1 Mala Maas', at^a whe_h.]p_ng
r*,e3, *7 tUp"
re3, c3, "ENTBB MENU IRK SELECTION: ", atk_l

a ado eaJt_at>_>lp_nag
node date>e!p_pug
rd, cl
rd, cl
ciw
dae_help_aag
node oxIt_attjaeao
message raqacat^tattu
t2, o*0, -YOU* BEQUEST HAS BEEN PBOCES5ED*
acaaege wbe_help_nag
r2, cdO, "This aai Itaa a cl act! an will tall"
re, c40, "yea who la chmndp aaiag the-
re, cdO, "ependeg ajataa."
r+2, tO, The war aaaa, the ID of the-
re, cdO, "catmlaal they are using, and the-
re, c40, "camel aaath, date ead dae"
re, cdO, 'are displayed."
message da ta_help_asg
r5, cl
id, cl
leaarfc_a
re, cl
re 2, d
reqaesi_atstua
rd, cl
id, cl
Held.*
re, cl
re 2, d
requaat_simtum aide
rd, d ca
r5, d
clw
ealt_stst_aeaol_help_aag
aada ant_neaol_errar_l*3
re3, d~
l21, c3, *EXBOt MESSAGE: Invalid mpaace"
tat_neul_rrer_4
r2, cdO, "Thla a wo itaa aelectloa will taD*
re, c40, "yao the caiuat date aad dae."
re2, cdO, The weak dap, the aoath, the Ate,"
re, c40 "the Has, aad the pear ate dliplaped"
aeaaaga wdt_atall_help_mg
|2, cdO, "Thla aea* Itaa
re, cdO, "yea ta non ta
taaatk^a,
aada he)pjatre_mg re3, d
ill, c3, "EBBOB MESSAGEt If yae aeake aaathar wrer pva wtQ ult e the Mala Mean"
tiQiit.a,
re, d
re2, d
a, c40, "ENIEB THE MENU ITEM SELECTION KS1
re, cdO,"WHia* YOU WANT HELP*. "
aede caadaaa
rlfl, <3, "FBESS1KB SPACE BAB TO COWItNUB"
dw
i21, d
r!8, d
Figure 2: This state transition diagram represents the second physical action the stage
one user must do, from within the level one interface, in order -to obtain the desired
information concerning who is currently using the system.


23
Note that it is not necessary for the stage one user to
reference an off-line document while within the level one
heuristic paradigm. To manipulate the interface the only
requirement of the stage one user is that they be functionally
literate in their native language [17]. The stage one user does not
need a prior knowledge base of the cryptic Unix command
language because simple, common, English words and phrases are
substituted in the menus and forms for cryptic Unix commands
[19].
However, the stage one user does have to retrieve, from
their long term memory, the knowledge that the required
information can be obtained from within the status application
menu. This cognitive action can be expressed mathematically, as
t LTM The combination of these three actions can be expressed
mathematically, as t ltm + t l + 12
In that cognitive, and physical, ease of use has been
predicted, now it is required that the STD be studied to determine
the heuristic components incorporated into the paradigm design,
and to determine if the design complies with stated user interface
design considerations.
The role of the level one interface, in support of the stage
one user is twofold:
1.) To provide the stage one user with a simple cognitive model of
the system application, so that their disorientation is diminished.


24
2.) To provide them with a structured environment which
prohibits them from wandering aimlessly through the system
application.
As indicated in figures 1 and 2, the mode on interaction
is passive. The stage one user does not have the freedom to
execute Unix commands, nor are they required to have prior
knowledge of the Unix command language in order to obtain
informational request messages from within the Unix
environment. The user-computer dialogue is directed by the
interface. Unknown to the stage one user, the interface is
converting their responses into an executable file of cryptic Unix
commands and parameters. During the execution of these files, the
interface provides the stage one user with a request status
message to assure them that their request is being processed.
All user input is monitored and blocked. Monitoring is
depicted by action squares 1, 2 and 3. Blocking is implicit in the
construction of closed looping transitions, states and
subconversation rectangles.
The combination of dialogue object types, 1, 3, 4, 5, 6,
and 7, with the exception of type 2, are incorporated into figures 1
and 2, as required by table 2. Concerning the exception of type 2,
this particular system application does not require the use of
forms because the stage one user can provide the interface with


25
all the information it needs by having the user select menu items
according to prompts.
The assemblage of utilities contained in the standard
Unix C shell can be described as appearing to be an amorphous
maze. It is this apparent categorical randomness of utilities that
makes the standard Unix C shell a frustrating, rather than
enjoyable, tool for the level one user. In addition, the level one
user is incapable of accomplishing tasks using the standard Unix C
shell because they do not possess prior knowledge of the cryptic
Unix command language.
A heuristic paradigm better suited to the level one user,
would bring order to the standard Unix C shell by maintaining
display screen integrity and display screen functionality. Figures 1
and 2 demonstrate how structure has been provided to the stage
one user by complying with the principles of display screen
integrity and display screen functionality.
Display screen integrity is maintained through a
hierarchical organization of system applications and their
associated commands, and by maintaining the hierarchical
arrangement of interface semantics and syntax.
Unix contains seven application systems: access control,
terminal handling, file manipulation, directory manipulation,
status inquiries, communication and information handling. Table 3
shows the commands associated with each of the seven system


26
applications. Each system application command grouping, shown
in Table 3, is represented by its own menus, and forms [7], [17],
[23]. Menus contain seven, plus or minus two, items which show
the user the functions available in that particular application or
interface level [15], [23].
Display area functionality is maintained by standardizing
the allocation of specific areas of the display screen for specific
types of dialogue objects. For example, menu items are always
displayed across the upper left hand section of the screen, and
help messages always appear in the upper right section of the
screen.
Based on the presence of required heuristic components
within this paradigm design, as indicated by figures 1 and 2, it has
been shown that the level one interface fulfills the heuristic
requirements of stage one users. And, in that the BNF for this task
is equal to t ltm + 11 + t 2, the level one interface is easier to for
the stage one user to use, relative to the standard C Shell
(interface level four), for this specific task.
Other related examples can be presented as further
arguments for predicting that the level one heuristic paradigm is
easier to use, and has an association of heuristic components
suited to the stage one user. Such examples would involve proofs
for dealing with the Unix commands "tty", "date", "pwd", "msg y",
and "msg n".


27
NIDM Analysis of AUS: Level 2
The rigid heuristic paradigm that is suited for the stage
one user becomes tedious to manipulate after it has been
mastered. It will appear to be too inflexible and too restrictive to
the experienced user. This restriction of apparent freedom could
serve to motivate the stage one user to explore less restrictive
interface structures. As the experienced user explores alternative
interface structures their cognitive model of the system will be
increased, and the user's computing skills, which are supported by
an expanded cognitive model, will, in turn, be enhanced as they
grow to the second computing skills stage.
The level two paradigm is best suited to the stage two
user. This being the case, then an analysis of STD for this
paradigm will also facilitate identification of incorporated
heuristic components, and will also facilitate the formulation of
prediction BNFs to determine of ease of use, for this paradigm
relative to the stage two user.
Within the second level of the interface the mode of
interaction is passive, and user input is monitored and blocked. In
addition, the level two heuristic paradigm contains dialogue types
1, 2, 3, 4, 5, 6, 7, and 8. Table 4 depicts the heuristic components
contained in the level two interface paradigm.


28
HUERISTIC PARADIGM COMPONENTS INTERFACE LEVEL
1 2 3 4
Mode of Interaction
Active
Passive *
InDut Handling Method.
Blocked *
Unblocked
Dialogue Objects
Menu *
Form *
Prompt *
Help Message *
Error Message
Request Status Msg. *
Information Request Msg. *
Tutorial Message *
Tutorial Exercises
Table 4: This table depicts the heuristic components contained in
the level two interface paradigm.
We can continue the analysis by studying the STD, shown
in figures 3 and 4, in exactly the same manner as we analyzed
figures 1 and 2. The results are identical, with the exception of
two significant transformations:
1.) The abbreviation of dialogue object text strings The stage two
user wants to accomplish the same tasks as the stage one user, but
they want to access the application systems at a faster rate [17],
[23]. In addition, when viewing application system menus, stage
two users do not desire finely detailed menu item labels [17], [23].
In order to facilitate accelerated access to application systems, the
composition of the heuristic paradigm must change from what it is


29
at level one. This evolution of interface structure does not
necessitate the complete abandonment of menus and forms used
in level one. The designer can create a new interface structure
that relies heavily upon the stage two user's recognition memory
of the level one interface structure [23]. The forms and menus
found in level one have been transmuted into hybrids of their
former structures. This transmutation has been accomplished
through the abbreviation of dialogue object text strings. For
example, within the level one heuristic paradigm a menu item
functional descriptor for the status application, such as "Who is
using the system", has been shortened simply to "Who" within the
level two heuristic paradigm.
2.) The incorporation of command language tutorial messages -
The stage two users, while waiting for the system to respond to
valid menu item selections, can utilize tutorial messages to learn
the Unix command language [24]. By doing this the stage two
users will be improving computing skills while engaged in
productive work activities, in real-time; they will be learning
while doing. Such active tutorials are believed to be superior
educational tools when compared to passive, tutorial drills and
exercises [7]. It is this knowledge of the Unix command language
which facilitates user growth to the third stage of computing
skills.


30
LEVEL 2 MAIN MENU
node Level_2_Main_Meni
cs
x2, c3, "LEVEL 2 MAIN MENU"
t+2, c3, "1 TanrinaT*
r+p c3, "2 Access
x+, c3, "3 File"
x+p c3, 4 Directory"
x+, c3, "5 Stems"
i+p c3, 6 Information"
I+-, c3. "E Exit to C shell", mak_m
x+, c3, "7 Help*
x+2, c3, "SELECTION: ", mck_2
tomixk_2
Figure 3: This state transition diagram represents the first physical action the stage
two user must do in order to select the status application from-within the level two
main menu.


31
Stat menu2
Action
node itai_meno2
1 call system (wboten^j0);
open leap file;
display contents of teacp file
in iw.
2 call system ("dstotenip');
display contents of fil*
in iw.
cs
x2, c3, "STATUS INQUIRIES MENU"
r+2, c3, "1 Who"
r+, c3, 2 Date"
i+, c3, "E Exit to Level 2 Main Menn", marh_in
r+, c3, "? Hdp"
x+3, c3, "SELECTION: ", maik_2
tomaik_2
node who_2
x5, cl
x6, cl
tomaxk.m
x+, cl
x+2, cl
xeqnest.status
x21, c40, "Unix Ctnunand: who"
node date_2
x4, cl
16, cl
tomaxk_m
x+, cl
r+2, cl
xeqaest_statas
x21( c40, "Unix Command: date"
Figure 4: This state transition diagram represents the second physical action the stage
two user must do, from within the level two interface, in order to obtain the desired
information concerning who is currently using the system.


32
NIDM Analysis of AUS: Level 3
The level three paradigm is best suited to the stage three
user. This being the case, then an analysis of STD for this
paradigm will facilitate identification of incorporated heuristic
components, and will facilitate the formulation of prediction BNF's
to determine of ease of use.
Within the third level of the interface the mode of
interaction is both passive and active, and user input is monitored
and blocked. In addition, the level three heuristic paradigm
contains dialogue types 1, 2, 3, 4, 5, 6, 7, and 8. Table 5 depicts the
heuristic components contained in the level three interface
paradigm.


33
HUERISTIC PARADIGM COMPONENTS INTERFACE LEVEL
1 2 3 4
Mode of Interaction
Active 4c
Passive *
InDut Handling Method.
Blocked *
Unblocked
Dialogue Objects
Menu *
Form 4c
Prompt 4c
Help Message 4c
Error Message
Request Status Msg. 4c
Information Request Msg. 4c
Tutorial Message 4c
Tutorial Exercises
Table 5: This table depicts the heuristic components contained in
the level three interface paradigm.
We can continue the evaluation by studying the STD
shown in figures 5 and 6, in exactly the same manner as we
analyzed figures 3 and 4. The results would be identical, with the
exception of one significant transformation:
1.) Incorporation of the Unix command window The stage three
user can continue to interact with the system application in the
passive mode as they had in level two, however, they are now
capable of interacting with a system application in an active mode,
within certain limits. These limits are established by an
exploratory environment provided to the stage three user. While
in this exploratory environment the stage three user may interact


34
with the system application on a command-driven basis. The stage
three user accesses this safe exploratory environment by invoking
a Unix command window. While within that window the stage
three user can type in a Unix command. The limitation placed on
the user is that they must restrict themselves to only those
commands applicable to their current application. For example, if
the level three user had selected the Status Inquiries Application,
they could only type in the commands "date" or "who"; they could
not input File Manipulation Application commands such as "Is", or
"cat". This restriction serves two purposes. First, it reinforces the
user's association of specific Unix commands with specific Unix
system applications. Secondly, if the level three user desires to
combine two or more command statements, or to input
combinations of commands associated with alternative
applications, then they are driven to utilizing the forth level of the
interface. This forth level is the standard Unix C shell.


35
LEVEL 3 MAIN MENU
Actioo
node Level_3_Msin_Mcnu
1 ^twtniinB mnnhir of invalid
selections
ca
r2, c3, "LEVEL 3 MAIN MENU"
1+2, c3, "1 Tsminal
t+, c3, "2 Access"
t+, c3, "3 File"
r+, c3, 4 Directory"
x+, c3, "5 Status"
i+, c3, "6 Information"
i+, c3, "E Exit to C shell", mark_m
r+, c3, "7 Hdp"
r+2, c3, "SELECTION: ", matk_2
tomazk_2
Figure 5: This state transition diagram represents the first physical action the stage
three user must do in order to select the status application from within the level three
main menu.


36
Stat mcnu3
3 dctstmine if the input is valid or invalid;
if valid d£tacrine if jnpit = who input = date; if input is invalid then go to
action number 1, cx 2, u ypiqaiate
ctw
r2, c40, ENTER THE UNIX STATUS COMMAND,"
r+, c40, THEN PRESS TOE ENTER KEY:_
message nnix_aUt_help_msg
r2, c40, This meat item will let yoa enter
i+, c40, the Unix commands who" or"
r+, c40, "date"."
node
stat_menu3
cs
12, c3, "STATUS"
x+2, c3, "1 who"
r+, c3, "2 date"
t+, c3, "U UNIX Status Commands"
r+, c3, E Exit to Level 3 Main Menu, mak_m
r+, c3, "7 Help"
i+3, c3, "SELECTION: ", mazk_2
tomaxk_2
Figure 6: This state transition diagram represents the second physical action the stage
three user must do, from within the level three interface, inorder to obtain the
desired information concerning who is currently using the system.


37
As shown in figure six, the stage three user can type the
letter "u", and invoke the Unix command window for the status
application. From within this window the user can either type in
the "who", or the "date", Unix command. For the sake of continuity,
let us assume that the stage three user chooses to type in the
"who" command, followed by a carriage return. This would require
the stage three user to engage in two cognitive actions and two
physical actions. The first cognitive action would be a retrieval,
t ltm > of the correct menu item. The second cognitive action
would be a retrieval, t ltm > of the correct Unix command. The
first physical action would be the selection of the correct menu
item, t u. The second physical action set would be the inputing of
the correct Unix command followed by a carriage return, t wh0 +
t carriage return These actions can be mathematically represented
as t LTM + t LTM + 15
This invocation of the Unix window does not make the
task of determining who is currently using the system easier
within the level three interface than within the level four
interface. That fact is acceptable though because the function of
the Unix command window is not ease of use. The function of the
Unix command window is to provide a safe environment for the
stage three user to experiment with their knowledge of the Unix
command language, via within a structured environment. In that
the computing environment is structured through the heuristic
components incorporated into the level three interface, the level
three is a safer environment for the support of limited


38
experimentation, relative to the level four interface which does
not provide the stage three user with their required heuristic
components.
NIDM Analysis of AUS: Level 4
From within the level four interface, or the standard C
shell, the stage four and five user can interact with the computer
in a fully active mode. The standard Unix C shell monitors user
input, but it does not block it. The user incurs any negative
consequence of user-computer interaction. The dialogue objects
provided to the level four user are types 3, 4, 5, 7, and 9. Passive
tutorial exercises dealing with file manipulation, the C language,
etc., are accessible to the level four user. In addition, the shell
permits the user to type in the command "help", followed by the
topic name, it then displays the requested help message.
Command language specific error messages, also provided by the
standard Unix C shell, explains why the user's attempts at using
the command language were unsuccessful. Table 6 depicts the
heuristic components incorporated into the level four, or the
standard C shell, interface.


39
HUERISTIC PARADIGM COMPONENTS INTERFACE LEVEL
1 2 3 4
Mode of Interaction
Active *
Passive
Innut Handling Method.
Blocked
Unblocked *
Dialogue Objects
Menu
Form
Prompt *
Help Message *
Error Message *
Request Status Msg.
Information Request Msg. *
Tutorial Message
Tutorial Exercises *
Table 6: This table depicts the heuristic components incorporated
into the level four, or standard C shell, interface.
The STD contained in figure 7 represents the standard
Unix C shell. Whenever the stage four, or five, user enters a string,
and terminates that string with a carriage return, that input string
is analyzed by the Unix C shell. Based on the results of that
analysis one of four subconversations will follow.


40
Unix C Shell
node password
r+, cl,
node %
r+, cl,
Figure 7: This state transition diagram represents the initial entry point into the
standard Unix C shell.
The STD shown in figure 8 indicates that, for the purpose
of this demonstration, the results of input analysis by the C shell
resulted in the display of information concerning the current
users of the system. By studying figure 8 the reader can see that
the stage four, or five, user, from within the level four heuristic
paradigm (the standard Unix C shell), must type the command


41
"who", then depress the carriage return key, in order to obtain the
desired information. However, what is not depicted in figure 8 is
the fact that the stage four user must first search their long term
memory for knowledge of the required command. The
combination of these three activities can be expressed
mathematically, as t ltm + 14 .


42
Who command
Action node %
1 Evaluation of end-user input has r+j
determined that the Unix command
"who" is to be executed;
the system activates the
shell command "who", and
then sends results to standard
output file, the contents are
then displayed at the terminal,
new line, by new line, until
EOF is reached.
Figure 8: This state transition diagram represents the physical action that the stage
four, or five, user must execute in order to determine who is currently using the
system.
In that ease of use has been predicted, now it is required
that the STD be studied to determine the heuristic components
incorporated into the paradigm design. First, as indicated in figure
7, the mode on interaction is active. The stage four, or five, user


43
does have the freedom to execute Unix commands. The user-
computer dialogue is directed by the user. Second, user input is
monitored, but not blocked. Monitoring is depicted by action
square one. Thirdly, the combination of dialogue object types, 3, 4,
5, 7, and 9, are incorporated in this paradigm.
Based on the presence of required heuristic components
within this paradigm design, as inferred from figures 7 and 8, it
has been shown that the level four interface fulfills the heuristic
requirements of stage four, or five, users, but does not fulfill the
heuristic requirements for stage one, two, or three users. And, in
that the BNF for this task is equal to t ltm + 4, the level four
interface is not as easy, as preceding interface levels, for the stage
one, two, and three users, to use for this specific task.


44
CHAPTER IV
CONCLUSIONS
The primary contribution of this thesis is the
construction of the Novice Interface Design Methodology (NIDM).
NIDM demonstrates how a interface designer can, by using STD
and BNF in combination, graphically represent the syntax and
semantics of the interface, determine the heuristic components of
the interface, infer the cognitive and physical actions of the user,
and predict ease of use; prior to implementation.
The secondary contribution of this thesis is the
multilevel interface AUS. This multilevel interface was designed,
evaluated and implemented according to NIDM. A complete listing
the of State Transition Diagrams for AUS is contained in Appendix
A. A complete listing the of Structure Charts for AUS is contained
in Appendix B. A completed listing of C code for AUS is contained
in Appendix C.
AUS enables novice users to access Unix through an
initial interface which requires minimal knowledge of the Unix
environment and facilitates growth in user computing skills
within that environment. User growth in computing skill is
supported through the alteration of hueristic components


45
contained in the interface. Each association of heuristic
components is specifically designed for a given stage in computing
skills. In addition to fulfilling the specific requirements of a given
stage in computing skills, the association of heuristic components
enables the user to grow to the next stage of computing skills. It is
anticipated that AUS can be introduced into Unix computing
environments, such as academic computer training centers, or
business computer training centers, where users are encouraged
to grow to the computing stage of a master Unix user, i.e. stage
five computing skills.
Future Research
Continued development of AUS, and the initiation of
human performance research and experimentation involving AUS,
is required. Continued development is required so that all Unix
shell commands, associated with the seven system applications,
are replicated by AUS, at all levels of the interface. Human
performance research and experimentation is required in order to
objectively determine the validity of stated prediction
assumptions.


BIBLIOGRAPHY
1. Allen, R. B. and Scerbo, M. W., Details of Command-Language
Keystrokes, ACM Transactions on Office Information
Systems, Volume 1, Number 2, April 1983, pgs. 159-178.
2. Baily, Robert W., Human Error in Computer Systems, Prentice-
Hall, Inc., Englewood Cliffs, N.J.; 1983.
3. Bass, Leonard J., A Generalized User Interface for Application
Programs (II), Communications of the ACM, June, 1985,
Volume 28, Number 6, pg. 617-627.
4. Brown, John Seely, Burton, Richard R., and Bell, Alan G.,SOPHIE:
A Step Toward Creating a Reactive Learning Environment,
Int. J. Man-Machine Studies, 1975, Volume 7, pgs. 675-696.
5. Carroll, John M., The Adventure of Getting to Know a Computer,
IEEE, November, 1982, pg. 49-58.
6. Carroll, John M., and Carrithers, Caroline, Training Wheels in a
User Interface, Communications of the ACM, August, 1984,
Volume 27, Number 8, pg. 800-806.
7. Carroll, John M., and Mack, Robert L., Learning to Use a Word
Processor: By Doing, by Thinking, and by Knowing, in Human
Factors in Computing Systems, J. C. Thomas and M.
Schneider, eds., ABLEX, Norwood, N.J., 1984.
8. Edmonds, E. A., Adaptive Man-Computer Interfaces, in
Computing Skills and The User Interface, M.J. Coombs and
J.L. Alty, eds., Academic Press, London, England, 1981.
9. Engel, Stephen E., and Granda, Richard E., Guidelines for
Man/Display Interfaces, IBM Technical Report TR 00.2720,
Poughkeepsie Laboratory, December 19, 1975.
10. Gould, John D. and Lewis, Clayton, Designing for Usability: Key
Principles and What Designers Think, Communications of the
ACM, March, 1985, Volume 28, Number 3, pg. 300-311.


47
11. Hansen, Stephen Jose, Kraut, Robert E., and Faber, James M.,
Interface Design and Multivariate Analysis of UNIX
Command Use, ACM Transactions on Office Information
Systems, Volume 2, Number 1, March 1984, pgs. 42-57.
12. Hartley, Roger, Computer Assisted Learning, in Human
Interaction with Computers, Smith, H.T., and Green, T.R.G.,
eds., Academic Press, London, England, 1980.
13. Houghton, Jr., Raymond C., Online Help Systems: A Conspectus,
Communication of the ACM, Febuary, 1984, Volume 27,
Number 2, pg. 126-133.
14. Jacob, Robert J. K., Using Formal Specifications in the Design of
a Human-Computer Interface, Communications of the ACM,
April, 1983, Volume 26, Number 4, pg. 259-264.
15. Jagodzinski, A. P., A Theoretical Basis for the Representation of
On-line Computer Systems to Naive Users, International
Journal of Man-Machine Studies (1983), Volume 18, pg.
215-252.
16. Malone, Thomas W., Heuristics for Designing Enjoyable User
Interfaces: Lessons from Computer Games, in Human Factors
in Computing Systems, J.C. Thomas and M. Schneider, eds.,
ABLEX, Norwood, N.J., 1984.
17. Morland, D. Verne, Human Factors Guidelines for Terminal
Interface Design, Communications of the ACM, July, 1983,
Volume 26, Number 7, pg. 484-494.
18. Mozeico, Howard, A Human/Computer Interface to
Accomodate User Learning Stages, Comminications of the
ACM, Febuary, 1982, Volume 25, Number 2, pg. 100-104.
19. Norman, D., The Trouble with UNIX, Datamation, November,
1981, Volume 27, pg. 139-150.
20. Palme, J., A Human-Computer Interface Encouraging User
Growth, in Designing for Human-Computer Communication,
Academic Press, London, England, 1983.


48
21. Rasmussen, Jens, The Human as a Systems Component, in
Human Interaction with Computers, Smith, H.T., and Green,
T.R.G., eds., Academic Press, London, England, 1980.
22. Reisner, Phyllis, Formal Grammer as a Tool for Analysing Ease
of Use: Some Fundamental Concepts, in Human Factors in
Computing Systems, J.C. Thomas and M. Schneider, eds.,
ABLEX, Norwood, N.J., 1984.
23. Savage, Ricky E., and Habinek, James K., A Multilevel Menu-
Driven User Interface: Design and Evaluation Through
Simulation, in Human Factors in Computing Systems, J.C.
Thomas and M. Schneider, eds., ABLEX, Norwood, N.J., 1984.
24. Slator, Brian M., Anderson, Matthew P., and Conley, Walt,
Pygmalion at the Interface, Communications of the ACM,
July, 1986, Volume 29, Number 7.
25. Wasserman, Anthony I., Extending State Transition Diagrams
for the Specification of Human-Computer Interaction, IEEE
Transactions on Software Engineering, Volume SE-11,
Number 8, August 1985, pgs. 699-713.
26. UNIX Programmer's Manual Volumes 1 and 2, Revised and
Expanded Version, Bell Telephone Laboratories, Inc., Murray
Hill, N.J., Holt, Rinehart and Winston, N.Y., N.Y., 1983


APPENDIX A
AUS MAIN MENU
message cursor.l
tomark_l
message menul_tag
tomark.m
r+, cl, c3, "? Help Messages."
r+2, cl, c3, "E ENTER MENU ITEM SELECTION: ", mark_l
cursor_l
r2, c3, AUS MAIN MENU0
r+2, c3, "1 Level 1 Main Menu"
r+, c3, 2 Level 2 Main Menu"
r+, c3, "3 Level 3 Main Menu"
r+, c3, "E Exit to the standard C Shell, maTlc_m
menul_tag
STD 1: This state transition diagram represents the first physical action the user
must do in order to select an interface level from within which they will interact with
a Unix application.


50
LEVEL 1 MAIN MENU

dlr_help_msg
1 detertatlss the somber of Irnlid
eeUcdcM
atiwga dnayjtlf
2, <41, This help mu| ku sot but1
r*, (41, *i*ploiaeoUd jm1
sode LoTl_l_hUi_M.B
A, cS, LEVEL 1 MAIN MENU*
Hi, c3, *1 Tenalaal HdHeg Mean*
re, c3, *2 Uicr Aca Coenl Mess'
re, c3, *J File MielfslitleD Mess'
H) c3, *4 Dinssij Mulpdellee Mesa*
re, 3, *5 Sana laqraries Mesa*
re, cl, 6 Inforoadon Hcofllsg Mess*
re, e3, E Eiit to AUS Mete Mess', urta
re, e3, *7 Help'
re2, c3, TNTER MENU ITEM SELECTION] *, 4.I
to*eetk_l
mode tum_help_*eg
cl*
disaj.kelp
sods iauiHkelpvug
lw
deanf.ktlp
ode <**_help_eg
el*
dmaay_betp
sods Meli_Meee_erTOT_l-3
tomerk_*,
re3, <1
r21, c3, *EBROR MESSAGE: Isealld rcepcoce*
sode eatliBi
r18, c3, TRESS THE SPACE BA* TO CONTINUE*
cl*
ai, ci
rl8, cl
ode eil^.MU_Mon_help_eeg
cl*
A, c40, This eesa Item vffl permit'
re, c40, "yos to renn to Che C shell'
sode kelp_latro^sig
sode et\_hslp_mig
tomsrk_m,
re, cl
rel, cl
(2, c40, INTER THE MENU ITEM SELECTION FCR*
re, c4Q, 'WHICH YOU WANT HELP: ', raeih_7
toattfc_?
cl*
r2, cdO, This sppHcstlos *01 teO 70s who U*
re, c40, *oslag the sjeten ssd the cams* date'
re, c4D, 'sod das.*
sode oxlt_to_C_rhell
sode fi]e_belp_asg
cl*
dees
7_belp
sode iflfo_help_oeg
oodo MeJ^sme_errcr_d
cl*
dusmj_belp
re3, cl
dl, c3, *ERRCK MESSAGE: If jog make Mother emr job will exit to the C shell*
STD 2: This state transition diagram represents the physical actions the stage one
user must do in order to select an application from within the level one main menu.


51
Term_Menul
Action
node menu_exro7_4
1 call system (tenn>tanp);
open temp file;
display terminal pathname
in iw
tcmaik_m
r+3, cl
t21, c3, "ERROR MESSAGE: If you make another exxar you will exit to the Main Menu"
2 detertmine the numbs of invalid
selections
node texm_patbname message exit_menu_he1p
node exit_menu_help
z5, el t2, c40, This menu item selection will pennit"
>6, cl r+, c40, "you to return to the Main Menu."
tomark_m
r+, cl
r+2, cl
zequest_statos
node tnm_menul
cs
r2, c3, TERMINAL HANDLING MENU"
r+2, c3, "1 Set tsmioal type"
r+, c3, "2 Display terminal pathneame"
z+, c3, "E Exit to Level 1 Main Mmu", mazk_m
r+, c3, "? Help"
r+2, c3,"ENTER MENU ITEM SELECTION: msrk.l
tomark_l
ciw
exit_menu_help
node set_term_help
rS, cl
26, cl
ciw
dummy_help
node continue
xlS, c3, "PRESS THE SPACE BAR TO CONTINUE:
ciw
x21, cl
xl8, cl
node term_pathname_belp node exit_menu node mena_erroT_l-3
x4, cl x6, cl ciw dummy_belp cs tomaxk_m, i+3,cl x21, c3, "ERROR MESSAGE: Invalid xesponce"
STD 3: This state transition diagram represents the physical actions the stage one
user must do in order to select a menu option available within the terminal handling
application, from within the level one interface.


52
Access menul
/ menu_
H error_
i! 3r Vi- 3
4! f menu_
t error_
V 4

Action
1 detertmine the number of invalid
selections
node access_menul
node change_password_help
cs
r2, c3, "USER ACCESS CONTROL MENU"
r+2, c3, "1 Change your password"
r+, c3, "E Exit to Level 1 Main Menu", mark_m
r+, c3, 7 Help"
r+2, c3, "ESNTER MENU ITEM SELECTION: ", mark_l
tomark_l
r5, cl
ciw
dummy_help
STD 4: This state transition diagram represents the physical actions the stage one
user must do in order to select a menu option available within the access application,
from within the level one interface.


53
File menul

Slo_Baal
O, 3, KIM MANIPULATION MENU*
rt2, c3, *1 Citd mw fUoa
eft c3, 2 Copy a fila*
It, c3, } Da lota a fllaB
M, c3, *4 hid a file*
rt, c3, *S Ckaap the ua of a flla*
rt, c3, "4 lilt (bo file* (a a directory"
(, c3, *7 Move a flla ta another directory*
rt, c3, 8 Co oca unite twa fllta*
it, cJ, 9 diifi the /lie MMi aot}em
it, <3, *B Bait e Lard 1 Maia Mtao", ak^
it, <3, *} Help"
rt2, c3, *ENTER MENU ITEM SELECTION: a, ej*Jl
Maark.l
nit crta_fll_jielp oda copy_File_heip
(9, cl (4, cl
rf, cl tfl, cl
(7, cl r7, cl
t, cl 8, cl
19, cl i9, cl
rlO, cl rlO, cl
m. cl m, d
(12, d (12, d
(13, cl (13, d
clw dw
dumay..botp domsiy_haIp
code delet_nleJiilp oda priat_flle_ba1p oda chap .nieaatae. help ode lUt_fllo_h*!p
r*. d (4, d 4. d (4. d
(9, cl (9, d r9, d rS, d
(7, d (9, d (9, d rfl, d
ifl, d t, d |7, d (7, d
(9, d (9. d 9, d i8, d
(10, d (10, d (10, d (10, d
rll, d (11, d (11, d til, d
(12, d (12, d (12, d (12, d
rl3, d (13, d (13, d (13, d
dw dw dw dw
doany_belp dooayjbelp doony^ielp dnatay_>elp
a ode aava_niajMlp ode cocat_ftl_k*ip oda cko|j_ni_cce*_hetp code e*lt_nenn_help
<4, d <4, d r4, d (4, d
(9, d (9, d <9, d (9, d
(9, d (9, cl (9, d rfl, d
(7, d (7, d (7, d i7, d
8, d i6, d <9, d rS, d
(9, d i9. d (9, d (9, d
(11, d (10, d (10, d (10, d
(12, d (12, d (11, d (11, d
(13, d (13, d (13, d (12, d
dw dw dw dw
dotnniy_h*lp dnafflj^olp doaey.kalp 2, c40, *Tbls mean itea wQl pamlt* rt, c40, "yon to re torn to the Mda Mess"
STD 5: This state transition diagram represents the physical actions the stage one
user must do in order to select a menu option available within' the file manipulation
application, from within the level one interface.


54
Dir menul
node dir_menul
node create_dir_help node delete_dir_help
es r5, cl
x2, c3. "DIRECTORY MANIPULATION MENU" rf, ci
r+2, c3, "1 Create a directory" fl, cl
r+, c3, 2 Delete a directory" r8, cl
r+, c3, "3 Change directory access mode" j9t c[
r+, c3, 4 Move to another directory" ciw
t+, c3, "5 Display the pathname" dummy_help
r+, c3, "E Exit to Level 1 Main Menu", mark_m
r+, c3, "? Help"
r+2, c3, "ENTER MENU ITEM SELECnON: ", maric.l
tomark_l
r4, cl
r6, cl
r7, cl
r8, cl
r9, cl
ciw
dummy _help
node chng_dir_*ecess_help
r4, cl
x5, cl
r7, cl
r8, cl
r9. cl
ciw
dummy.help
node move_to_dir_he]p
r4, cl
r5, cl
r6, cl
r8, cl
r9, cl
ciw
dummy_help
node dir_pathname_he]p
x4, cl
r5, cl
r, cl
r7, cl
19, cl
ciw
dummy_help
node cxit_menu_help
r4, cl
rS, cl
r6, cl
r7, cl
r8, cl
ciw
exit_dirl_help
STD 6: This state transition diagram represents the physical actions the stage one
user must do in order to select a menu option available within the directory
maipulation application, from within the level one interface.


55
Stat menul

nt_paol
node wto_he]p_yig
1 call eyueiu (*wfcti>tap^;
open Mop Ole;
Ibptij emue of temp file
la Iw.
2 cell eyatem (*detetamp^;
open temp file;
dlaplay ceatean ef temp file
la hr.
3 detettmlae tin somber of iaatid
r2, e3, STATUS INQUIRES MENU*
re2, e3, *1 Who U atlmg the eyatem"
te, c3, *2 Date ud date*
M, 3, *B Exit ts Level 1 Mela Memo", evt^a
re, c3, *7 Hdp"
re3, c3, "ENTER MENU ITEM SELECTION: ", ciarkj
lterk_l
r5, cl
rd, cl
clw
who_hIp_cog
ode exitjta_help_otig
code datejie]p_njg
rd, cl
rfl, cl
dv
date_helpjng
node Mlljal,j>UD
mcaeage leqoeet^tatiie
r2, *40, "YOUR REQUEST HAS BEEN PROCESSED*
acaaage who_help_*3g
2, c*0, *1Ui aas lean adecdoa will t0"
re, c40, *jca who U cnneatly uaing the*
re, c*0, operating eyotem."
r+2, c40, *Tke tser one, the ID of the*
re, 40, "tumlnd they ere nalag, and the*
re, cdO, "cmreot month, data ead doe*
re, e40, "an dieptayed.*
meeaego date_he]p^nig
r5, d
rf, cl
re, d "
r+2, cl
reqaear_etarsa
id, d
if, d
re, cl ^
re2, cl
reqaaei_aiataa
(4, d ca
r9, d
clw
o*lt_atat_maaal_help_mag
ode ett_*iennl_err r_l-3
tonerk_ce,
re3, d
21, c3, "ERROR MESSAGE: loealld reeponca"

eta ^eiol_eTTor_4 -
r2, c40, "Thla aeca Item edeetioa wtQ oil"
re, e40, "yon the canal date ud dm.'
re2, c40, The week day, the month, the data,"
re, c40 "the time, aad the year an deployed"
moaeago exll_tatl_hdpjg
2, c40, "Thia mean Item teiectioa will permit"
re, c40, yoo to nttnn to tin Mala Mean.'
to market,
node helpjetrere3, cl
r21, c3, "ERROR MB9SAOB: If yoe make toother error yon will exit w the Main Mean*
re, d
r+2, d
r2, oiO, ENTER THE MENU ITEM SELECTION FOR'
re, c*0, "WHICH YOU WANT HELP: *
node coatlano
rl8, c3, "PRESS THE SPACE BAR TO CONTINUE*
dw
r21, cl
rl8, d
STD 7: This state transition diagram represents the physical actions the stage one
user must do in order to select a menu option available within the status application,
from within the level interface.


56
Comm menul
d. mall ma kelp a ad. read_^all_ke)p
caw rf, d rf, d
fi, c3, "COMMUNICATION MENU* rf, d rf, d
t+2, d, *1 MmB a meaag. to aa*tkr oaw 7, d rf, d
r., c3, *2 Bad wall Mol from otkar um* rf, d rf, d
r+, ej, *3 Caw. tasteaa with am iter omi* rf, d rf. d
r, c3, *4 Cams i arnica ta with all Hare* rlO, d rlO, d
rf, c3, *5 UlNi recdpr if maa|M' rll, rf rll, d
r*, d( 1 ItlutM receipt af mu(m' dw dw
K, d, *7 TMij A Mam* mu caladv* daaap^.lp duatmy_holp
r., d, T5 Balt ta Uni 1 Mla Mum*.
ri, c3, *7 Hdp*
r+2, c3, "ENTEB MENU ITEM SELECTION: *, aw*JL
toaark.I
mod. oimm.Mr.Mp mad. caaa_aaen_k.jp md. loUUt_mclapi_k*lp mod. rlaitat._r*ceipt_ke]p
*4, cl rf, cl rf, d rf, d
r3. d rf, d rf, d rf, d
>7, d rf, cl rf, d rf, d
rf, d rf, cl rf, d rf, d
rf, d rf, cl rf, d rf, d
rlO, d rlO, d rlO, d rlO, d
rll, d rll, d rll, d rll. d
dw dw ciw dw
daaay._k.tp deaayjk.lp daaay_k.lp daaay.kalp
mod. CllMdU.kdp mod. .tluaaijulp
rf d rf, d
rJ, d rf, d
rf. d rf, d
r7, d *7, d
rf. d rf, d
rf. d rf, d
rll, d rlO, d
dw rll, d
daaay_kalp rll, d (w 2, cdO, Tki* aw Icaa will pwalt*
r+, c40, "yam ta re tor a ta the Malm Mama*
STD 8: This state transition diagram represents the physical actions the stage one
user must do in order to select a menu option available within the communications
application, from within the level one interface.


57
Info menul
node
tnfo_meanl node sort_file help node nn_dup_lines_h
crow rS. cl (4, cl
r2. c3. INFORMATION HANDLING MENU* i6, el
r+2. c3. *1 Sort files* r7. el r7, el
r+. c3, *2 Elan mate duplicate lines* rS, el r8, el
r+, c3, *3 Report required changes* t9. cl l9. el
r+. c3, *4 Identify common lutes* rlO, cl rlO, el
r+, e3. *S Count lines, words A charadcra* eiw eiw
r+, c3, *6 Check the spelling* dummy help dummy.help
r+. c3. *E Exit to Level 1 Main Mon', maik_m
r+. c3, *7 Help
r+2, c3. -ENTER MENU ITEM SELECTION:
tomark.I
rpt_chngs_help node id_comm_linej_help node eoont_help node chk_spell_hc!p
r4, el (4. cl r4, cl r4, cl
r5, cl r5. cl r5. el r5. el
r7. cl r6, el rfi, el rfi, cl
r8, el r8. cl r7. cl r7. cl
r9. el x9. el t9. cl r8, el
rlO. cl rlO. cl rlO, cl rlO, cl
eiw eiw eiw eiw
dummy_help dumtny.help dummy_belp dummy.help
node exit_menu_he]p
r4, el
rS. el
16, el
r7. el
r8, el
r9. el
eiw
r2> otO, *Thu nan item wilt permit*
r+, c40, *you to rauni to die Main Mou'
STD 9: This state transition diagram represents the physical actions the stage one
user must do in order to select a menu option available within the information
handling application, from within the level one interface.


58
LEVEL 2 MAIN MENU
code Level_2_Main_Menu
cs
12, c3, "LEVEL 2 MAIN MENU"
x+2, c3, "1 Tsnrical"
r+, c3, *2 Access"
r+, c3, "3 File"
i+, c3, "4 Directory"
r+, c3, "5 Status"
i+, c3, "6 lofarmatioa"
r+, c3, "E Exit to C shell", mark_m
i+, c3, "7 Help"
x+2, c3, SELECTION: ", mark_2
tomaxk_2
STD 10: This state transition diagram represents the physical actions the stage two
user must do in order to select an application available within' the level two main
menu.


59
Term_Menu2
Action
node term_pathname2
node term_menu2
1 call system ("tennMemp");
open temp file;
display terminal pathname
in iw
2 determine the number of invalid
selections
rS, cl
r6, cl
tomark_m
r+, cl
r+2, cl
request_status
r21, c40, "Unix Command: tty"
cs
r2, c3, "TERMINAL HANDLING MENU0
r+2, c3, "1 Type*
r+, c3, "2 Pathncame"
r+, c3, "E Exit to Main Menu", mark_m
r+, c3, B? Help"
r+2, c3,SELECTION: ", mark_l
tomark_l
STD 11: This state transition diagram represents the physical actions the stage two
user must do in order to select a menu option available within the terminal handling
application, from within the level two interface.


60
Access menu2
Action node access_menu2
1 detertmine the number of invalid cs
selections r2, c3, "USER ACCESS CONTROL MENU"
r+2, c3, 'T Password"
r+, c3, "E Exit to Main Menu", mark_m
r+, c3, "7 Help
r+2, c3, "SELECTION: ", mark_l
tomark_l
STD 12: This state transition diagram represents the physical actions the stage two .
user must do in order to select a menu option available within the access application,
from within the level two interface.


61
File menu2
node file_menu2
cs
r2, c3, "FILE MANIPULATION MENU"
r+2, c3, B1 QeUe"
i+, c3, 2 Copy"
r+, c3, 3 Delate"
i+, c3, 4 Rtint"
i+, c3, "3 Change name"
r+, c3, 6 List"
r+, c3, "7 Move"
x+, c3, "8 Ctncatmale"
i+, c3, "9 Change access"
x+, c3, "E Exit to Main Menu", mark_m
r+, c3, "? Help"
r+2, c3, "SELECTION: ", maik_l
tomaxk_l
STD 13: This state transition diagram represents the physical actions the stage two
user must do in order to select a menu option available within' the file manipulation
application, from within the level two interface.


62
Dir menu2
node dir_menu2
cs
r2, c3, "DIRECTORY MANIPULATION MENU"
r+2, c3, "1 Create"
r+, c3, "2 Delete"
r+, c3, "3 Change access"
r+p c3, "4 Move"
r+, c3, "5 Pathname"
r+p c3, E Exit to Main Menu", mark_m
r+, c3, "? Help"
r+2, c3, "SELECnON: ", mark.l
tomark.l
STD 14: This state transition diagram represents the physical actions the stage two
user must do in order to select a menu option available 'within the directory
manipulation application, from within the level two interface.


63
Stat menu2
Action
ode stit_menu2
1 call system (who>teiiipl);
open turji file;
display contents of temp file
in iw.
2 call system ("dal e> temp");
npn tornjl
display contsils of fil*
in iw.
ca
i2, c3, STATUS INQUIRIES MENU"
r+2, c3, "1 Who"
t+, c3, "2 Date"
i+, c3, "E Exit to Level 2 Main Mesa", maxk_m
r+, c3, "7 Help"
t+3, c3, "SELECTION: ", mazk_2
tomaxk_2
node wbo_2
15, cl
z6, cl
tomazk_m
r+, cl
r+2, cl
zequest_status
z21, c40, "Unix Command: who"
ode dale_2
i4, cl
z6, cl
tomark_m
r+, cl
r+2, cl
reqaeat^statna
x21, c40, "Unix Command: date"
STD 15: This state transition diagram represents the physical actions the stage two
user must do in order to select a menu option available within the status application,
from within the level two interface.


64
Comm menu2
node comm
x2, c3, -COMMUNICATION MENU*
t+2, c3, *1 Mail a message"
r+, c3, -2 Read mail
x+, c3, *3 Communicate with user
x+, c3, 4 Communicate with all users
x+, c3, 5 Iobibil
x+, c3, 6 Reinstaie
x+, c3, *7 Calendar
x+, c3, E Exit to Main Menu, mark_m
r+, c3, ? Help"
x+2, c3, "SELECTION: , mstk_l
tomaxk.l
STD 16: This state transition diagram represents the physical actions the stage two
user must do in order to select a menu option available within" the commmunication
application, from within the level two interface.


65
Info menu2
node info_menu2
cmw
r2, c3, "INFORMATION HANDLING MENU
r+2, c3, "1 Sort"
r+, c3, 2 Eliminate*
r+p c3, "3 Report"
r+, c3, "4 Identify"
r+, c3, "5 Count"
r+, c3, "6 Check"
r+, c3, "E Exit to Main Menu", xnark_m
r+, c3, ? Help"
r+2, c3, SELECTION: ", xnark_l
tomark_l
STD 17: This state transition diagram represents the physical actions the stage two
user must do in order to select a menu option available within the information
handling application, from within the level two interface.


66
LEVEL 3 MAIN MENU
Action
node Level_3_Main_Meaa
1 detatmine the number of invalid
selections
cs
i2, c3, "LEVEL 3 MAIN MENU"
r+2, c3, "1 Taminal"
i+p c3, "2 Access"
t+, c3, "3 File"
t+, e3, "4 Directory"
r+p c3, "5 Status"
r+, c3, "6 Inform Hi on"
r+, c3, "E Exit to C shell", mxrk_m
r+, e3, "? Help"
r+2, c3, "SELECTION: ", m=k_2
tomsrk_2
STD 18: This state transition diagram represents the physical actions the stage three
user must do in order to select an application from within the level three main menu.


67
Term Menu3
node term_menu3
cs
i2, c3, TERMINAL HANDLING MENU"
r+2, c3t 1 setenv TYPE"
r+f c3t "2 tty"
r+, c3, "U Unix Terminal"
r+, c3, "E Exit to Main Menu", mark_m
r+, c3, "? Help"
r+2, c3,"SELECTI0N: ", mark_l
tomark_l
STD 19: This state transition diagram represents the physical actions the stage
three user must do in order to select a menu option available' within the terminal
handling application, from within the level three interface.


68
Access menu3
Action
node access_menu3
1 detertmine the number of invalid
selections
cs
r2, c3, "USER ACCESS CONTROL MENU"
r+2, c3, "1 passwd1'
r+, c3, "E Exit to Main Menu", mark_m
r+, c3, "? Help"
r+2, c3, "SELECTION: , mark_l
tomark_l
STD 20: This state transition diagram represents the physical actions the stage three
user must do in order to select a menu option available within the access application,
from within the level three interface.


69
File menu3
node fUe_tnenn3
C8
i2, c3, "FILE MANIPULATION MENU
i+2, c3, 1 Create cal"
r+, c3, "2 cp"
i+, c3, 3 xm"
i+, c3, "4 i*"
i+, c3, "5 Change name cal"
i+, c3, "6 la"
i+, c3, "7 mv"
x+, c3, "8 Cone ala ale cal"
r+, c3, "9 ctznod"
x+, c3, "U Unix Hie Commands"
r+, c3, E Exit to Main Mmu", mark_m
r+, c3, ? UtUp"
x+2, c3, "SELECTION: ", m*rk_l
tomukl
STD 21: This state transition diagram represents the physical actions the stage three
user must do in order to select a menu option available within the file manipulation
application, from within the level three interface.


70
Dir menu3
node dir_menu3
C8
r2, c3, "DIRECTORY MANIPULATION MENU"
r+2, c3, "1 mkdxr
r+, e3p "2 nadir"
i+, c3, "3 cbmod"
i+, c3, "4 mv"
t+, c3, "5 pwd
i+, c3, "U Unix directory commands"
r+, c3, "E Exit to Main Menu",
i+, c3, "7 Help"
r+2, c3, "SELECnON: ", maik.l
tomaik_l
STD 22: This state transition diagram represents the physical actions the stage three
user must do in order to select a menu option available 'within the directory
manipulation application, from within the level three interface.


71
Stat menu3
Action
ode unix_command_window
3 detstmine if the input is valid ci invalid;
if valid than deto mine if input = who or if
input = data; if input ia invalid then go to
action nnoba 1, or 2, as cppiojaiate
ciw
r2, c40, ENTER THE UNIX STATUS COMMAND,'
t+, c40, THEN PRESS THE ENTER KEY:_"
message unix_atat_belp_msg
i2, c40, This menu item will let you enter
r+, c40, "the Unix commands who" cn"
i+, e40, ""date"."
node alat_menu3
ct
>2, c3, "STATUS"
r+2, c3, "1 who"
r+, c3, "2 date"
r+, c3, "U UNIX Status Commands"
r+, c3, "E Exit to Level 3 Main Menu", markjn
r+, c3, "7 Help"
t+3, c3, "SELECTION: ", maik_2
tomazk_2
STD 23: This state transition diagram represents the physical actions the stage three
user must do in order to select a menu option available within the status application,
from within the level three interface.


72
Comm menu3
code comm_menn3
cmw
r2, c3, "COMMUNICATION MENU"
1+2, c3, "1 mail"
t+, c3, "2 imdl"
i+, c3, 3 write"
i+, c3, "4 wall"
r+, c3, "5 meag n"
x+, c3, "6 mesg y"
r+, c3, "7 calends"
r+, c3, "U Unix Communication Commands"
r+, c3, E Exit to Main Mom", mizk m
x+, c3, "7 Help"
t+2, c3, "SELECTION: ", msrk.l
tomark_l
STD 24: This state transition diagram represents the physical actions the stage three
user must do in order to select a menu option available within the communications
application, from within the level three interface.


73
Info menu3
node info_menu3
cmw
12, c3, "INFORMATION HANDLING MENU"
r+2, c3, "1 sort"
r+, c3, "2 uniq"
r+, c3, "3 difr
r+p c3p "4 comm"
r+, c3, "5 wc
r+, c3, 6 spell"
r+, c3, U Unix Infomation Handling Commands"
r+, c3, BE Exit to Main Menu", mark m
r+, c3, "7 Help"
r+2, c3, "SELECTION: ", mark_l
tomark_l
STD 25: This state transition diagram represents the physical actions the stage three
user must do in order to select a menu option available within the information
handling application, from within the level three interface.


APPENDIX B


75


76


77


78


79
/------------\
main_menu1
item 2
s____________*
/-----------\
access_menu
1 Jogic ()
getch
(stdscr)
V_______________)


80


81
f--------------\
file_menu1
item 1
______________*
/ \ erase_menu_ items 0 / \ create_file_ module () s * r ^ continue msg 0 ( \ erase_info_m sg () / \ erase_contin ue_msg () >


82


83


84
file_menu1
item E
erase_subme
nu1 ()
file_menu1
item ?
fiie_menu1_h
elp ()
I
erase_menu1
Jag 0
I
help_intro_m
sg 0


85


86


87
erase_help_ msg () s / / ' erase_menu_ items () ' > chng_file_ac cess_help_m sg() continue msg 0 ^ - --- ' > erase_help_ msg () erase_contin ue_msg ()
* > erase_help_ msg() k. d / ' erase_menu_ items () l : a ' ' exit_submenu _help_msg () L A * continue msg 0 k A * > erase_help_ msg () t A ' \ erase_contin ue_msg () k A
f \
main_menu1
item 4
erase_mainm
enu1 ()
J v.
dir_menu1 ()
menu1_tag ()

getch
(stdscr)
J v.