
UNIVERSITY OF LONDON IMPERIAL COLLEGE OF SCIENCE AND TECHNOLOGY DEPARTMENT OF COMPUTING Microcomputers as Adaptive and Protective Interfaces in Computer Networks by David Michael Ireland A thesis submitted for the Degree of Master of Philisophy December 1989 Abstract There is a growing trend for the direct use of computers by non­ computer specialists. However the interface presented to the user is often tailored more to the computer expert than to the ‘novice user'. Therefore there is a need to make the man-machine interface more 'user friendly'. The features that are desirable in a user interface in order to meet this objective are discussed. The proposed solution is a 'protective interface', a separate entity from the application programs with which the user is interacting, acting as a buffer between the two. This protective interface would have the capability of adapting itself to suit the individual user, by forming a model of the user's interactions with the computer. A mechanism for implementing such an adaptive interface is proposed, based upon an interpreter controlled by a directed graph. The directed graph consists of a number of interconnected binary trees and the nodes of the graph represent the input expected, or the output to be generated. The interface is adaptive because it is not only controlled by the graph, but is also able to modify the graph. An implementation of the adaptive protective user interface is described which demonstrates the basic principles of the design. This demonstration implements the adaptive interface on a microcomputer, which is networked to a mainframe computer running the application programs. The operating system of a time-sharing mainframe was chosen as the application with which to interface, because Job Control Language is the first point of contact of a novice user with the computer. Page 2 Contents Page Abstract 2 Acknowledgements 6 Glossary 7 CHAPTER 1: INTRODUCTION 1.1 The need for simple interfaces 10 1.2 Overall project objectives 11 1.3 Outline description of system 13 CHAPTER 2: SURVEY OF RELATED WORK 2.1 Desirable characteristics of man-machine interface 15 2.2 Features of some existing interfaces 21 2.3 Adaptive programs 26 2.4 Job Control Languages 26 CHAPTER 3: OBJECTIVES AND BASIC PRINCIPLES OF DESIGN 3.1 Objectives 28 3.2 Proposed interface characteristics 29 3.3 Scope of Project 31 3.4 Protective Interface 33 3.5 Basic principles of design 34 Page 3 CHAPTER 4: DESCRIPTION OF PROGRAMS 4.1 General Principles 45 4.2 The Digraph 53 4.3 Design Decisions and Alternatives 60 4.4 TREEM 66 4.5 RESTRUCT 69 4.6 BLDTRE 69 4.7 UNBUILD 71 CHAPTER 5: DEMONSTRATION PROGRAMS 5.1 CDCFILE 72 5.2 Macro-node editor 75 5.3 Summary 75 CHAPTER 6: FUTURE DEVELOPMENTS 6.1 An Integrated Package 77 6.2 Automatic tree-building 77 6.3 Tree Editor 78 6.4 Minor enhancements 79 6.5 Distributed Processing 82 6.6 A Vision of the Future 83 CHAPTER 7: SUMMARY AND CONCLUSIONS 7.1 Enhancing Current Styles of User Interface 85 7.2 Adaptive User Interfaces 85 7.3 Protective User Interfaces 86 7.4 Current Trends 86 Page 4 BIBLIOGRAPHY 87 APPENDICES A: Detailed description of programs 98 B: Building and running the programs 140 C: Description of macro-nodes 144 D: Macro-node digraph for CDCFILE 153 E: File Formats 160 F: Node Types and Their Actions 164 Page 5 AcKnow ledgemen ts I would like to acknowledge the assistance of my supervisor Mr E.B. James for his guidance in the preparation of this thesis; my wife, Anne, for her encouragement and help; and the Science and Engineering Research Council for their financial support. Page 6 G Glossary of terms and abbreviations: Byte "byte" is used to mean 8 bits throughout this document. CAI Computer Assisted Instruction. CAL Computer Assisted Learning. CCP Console Command Processor - the command line interpreter of the CP/M operating system. CDC Control Data Corporation - the name of the manufacturers of the large mainframe computer operated by the Imperial College Computer Centre. CLI Command Line Interpreter. CP/M Control Program/Monitor - an operating system widely used on 8-bit microcomputers, including the RML 380Z, Digraph Directed graph. GEC General Electric Company - GEC Computers manufacture a range of minicomputers. ICCC Imperial College Computer Centre. I/O Input/Output. JCL Job Control Language - the "programming language" used to give commands to the command line interpreter of the Operating Operating System. Page 7 MM I Man Machine Interface - the user interface. NOS Network Operating System - the operating system run on the ICCC CDC mainframes. OS Operating System. OSCL Operating System Command Language - see JCL. OSCRL Operating System Command and Response Langauge - see JCL. 0S4000 The operating system used on GEC 4000 range minicomputers. RML Research Machine Ltd - the name of the manufacturers of a range of microcomputers. RML 380Z An 8-bit microcumputer manufactured by Research Machines Ltd that is equipped with floppy disk drives and runs the CP/M operating system. RMX86 Intel’s real time operating system used on Intel 8086 (iAPX) family of microprocessors. RSX 11M Digital Equipment Corporation’s real-time operating system for use on their PDP-11 range of minicomputers. SI04 The serial I/O port interface on the RML 380Z microcomputer. (V.24/RS232 interface). TAC Terminal Access Controller - a “switch’’ which allows a terminal to connect to one of several computers, by selecting from a menu. TELEX The name of the time-shared access to the CDC mainframe computers running the NOS operating system. Page 8 TP A Transient Program Area - the area of memory used by CP/M for non-resident programs, TREEM "Tree Matcher": a program developed by this project. TX/Alter A full screen editor used on Intel's RMX 86 operating system. TXED The text editor provided by RML for use on the RML 380Z microcomputer. UNIX Bell Lab's portable operating system widely used on many minicomputers. VDU Visual Display Unit. VM/370 IBM's operating system for use on IBM 370 series computers. VMS Digital Equipment Corporation's real time operating system for use on their VAX range of super-minicomputers. VT Video Terminal. Page 9 1 : INTRODUCE ION 1.1 The Need for Simple Interfaces (Motivation) In the past, the majority of (direct) computer users who were not computer specialists were engineers, scientists, mathematicians etc.. However, this is changing: computers are increasingly being used by 'novice users' who do not have an engineering or scientific background (police, doctors, bank clerks etc.) and the introduction of microcomputers is accelerating this trend. The advantage of bringing computing facilities direct to the end user is that hardware costs have fallen so much that the cost of employing staff to 'buffer' between the end user and the computer is now significantly larger than the cost of the hardware. It would therefore considerably reduce the cost of using computers if the end user could use them directly, but this will require a much more sophisticated user interface than is usual at the moment if the novice user is not to waste a lot of time 'fighting the system'. The purpose of this project is to develop an interface that is significantly easier to use by inexperienced users than existing interfaces. It is hoped to make it possible to use the computer with no documentation or manuals. It is assumed that no changes will be made to existing software: the interface will communicate with the existing programs' interface and with the user, acting as a buffer between them. The most important feature will be that it will be adaptive: it will adjust itself to each particular user and the complexity that they require. The first point of contact between user and computer is usually with the operating system. This normally has to be so, because most users will Page 10 Introduction Chapter 1 need to use more than one application at some time and thus direct entry to a fixed application is not appropriate. The command and response language used to communicate with the operating system is referred to here as a Job Control Language (JCL). Nearly all current JCL's were designed for batch use, as a kind of simple programming language, rather than from the point of view, 'What sort of interface should the operating system present to the user?'. There are many levels of user (i.e. different users have different amounts of experience of a system, and need to do different things) and with time any given user is likely to move from one level to another. Hence it is desirable that the interface be adaptive to take account of the fact that different users (and the same users on different occasions) will want to 'see' a different interface. The trend towards networking computers together is adding to the problems of the computer user. It is now increasingly likely that the range of facilities available will be split over a number of computers. These may all be accessed from one terminal or workstation by the user. Although convenient, this may lead to a variety of interfaces being presented to the user, in succession or even concurrently. 1.2 Overall Project Objectives It is possible that the ideal man-machine interface is natural language, although not necessarily so. However, this is at present impossible to achieve, even with large, fast computers, and since it is desired to design an interface that may be used on microcomputers, natural language can be ruled out. This project takes a more realistic aim: to develop a 'user- friendly' interface that is simple enough to be implemented on small systems.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages168 Page
-
File Size-