An important question to be asked by the system designer is whether the output responses will be of the types and in the formats that the client will expect to receive. It is noted in particular that "the closer the correspondence of the computer output is to the methods of presenting textual and tabular material familiar to the user, the greater his information absorption rate will be." (Morenoff and McLean, 1967, p. 20). Thus, in engineering applications, for example, the client may want results to be displayed in a familiar format such as a Nyquist plot.4.36 Similarly, in operations on files or data banks, the user should be able to structure and sequence files and subfiles for display and selection to suit his own purposes.4.37 For effective online operation, the system should provide responses within the reading rates of typical users, and with good resolution, little or no flicker, and with both upper and lower case.4.38 A some what more specific and stringent list of remote terminal desiderata is provided by Licklider, with particular reference to the requirements of multiple access to the body of recorded knowledge. His desired features include, but are not limited to, color, or at least gradations of gray scale; 4.39 terse or abbreviated modes of expression to the machine with full or "debreviated" response; 4.40 selective erasibility of the display by either program or user command, 4.41 and capabilities such as the following: "Shortly thereafter, the system tells me: 'Response too extensive to fit on screen. Do you wish short version, multipage display, or typewriter-only display?'." (Licklider, 1965, p. 50). Another design criterion affected by the factor of client convenience is that of the extent of display on the console face of meta-information.4.42 Continuing needs for technological developments have also been indicated for improved terminal and output display design. Examples include the development of new, fast phosphors and other materials,4.43 use of analog predictive circuitry to improve tracking performance,4.44 and variable sequencing of processor operations in computation and display.4.45 A number of advanced techniques are also being applied to large-screen displays,4.46 although some continuing R & D difficulties are to noted.4.47 Multiplexing of graphic display devices may also be required.4.48 Returning, however, to the human behavioral factors in input-output and terminal design, we note that man-machine relationships require further investigation both from the standpoint of human engineering principles and also from that of attitudes of clients and users,* 4.49 that there are continuing requirements for research and development efforts on both sides of the interface 4.50 and that, in all probability, "industry will require more special prodding in the display-control area than in the other relevant areas of computer technology." (Licklider, 1965, p. 66). We note further an area of R & D concern that will recur in many other aspects of information processing system design and use, and especially in information selection and retrieval applications. More specifically: "The major problem today in the design of display systems is that we cannot specify in more than qualitative terms such critical criteria as 'context' and 'meaning'." (Muckler and Obermayer, 1965, p, 36). Swanson adds: "Other restrictions derive from the need of programs to solve hidden line problems, to recognize context, and to make abstractions." (Swanson, 1967, p. 39). Finally, we note the specific problem in documentary and library applications that large character repertoires are important to input and output representations of various levels of reference and emphasis in technical texts (especially, for example, in patent applications with multilevel referrals to accompanying drawings and diagrams) and to delineation of different types of possible access points in indexes and catalog cards.4.51 In addition, a wide variety of special symbols and/or exotic alphabets are typically employed in texts dealing primarily with mathematical, logical or chemical subjects. A text written principally in one particular language and alphabet may frequently use the alphabet set of one or more other languages, as in reference to proper names, citations, and quotations. 4.3. Character Set Requirements For multiple-access systems "most creative users want large character sets with lower-case as well as capital letters, with Greek as well as Latin letters, with an abundance of logical and mathematical signs and symbols, and with all the common punctuation marks." (Licklider, 1965, p. 182). In addition, subscripts, superscripts and diacritical marks may be required.4.52 Attacks on problems of character-set requirements for output begin with on-line printer variations to provide larger output character-set vocabularies at the expense both of output printing speed and of prior input precedence-coding and/or of processor programming. Larger characterset vocabularies are provided both by photocomposition techniques and by electronic charactergeneration methods, but again at the expense of either pre-coding or programming requirements.4.53 It should be noted, of course, that the internal language of most general-purpose information processing systems is limited to no more than 64 discrete characters, symbols, and control codes. Thus there must be extensive provision for multiple table lookups and/or for decoding and reencoding of precedence codes or transformation sequences, on both input and output, if any internal manipulations are to be performed on the textual material. In general, the larger the character set, the more elaborate the precoding and/or programming efforts that will be required. Then there is the problem of setting up keyboard character sets that are adequate for application requirements and yet within reasonable 1 relatively untrained personnel and the keyboard must be capable of error-free operation for these people. At the same time it should be capable of high thru-put for the trained operator as will be used on a key tape machine. "Some of the limitations of existing keyboards are: ● Mechanical interlocks which reduce operator speed. Excessive service (increasingly important for remote terminals). Contact bounce and wear of mechanical switches. Non-flexible format." (Vorthmann and Maupin, 1969, p. 149). For automatic typographic composition applications, it is emphasized that "the application of computers to typesetting only emphasizes the scope and the need for a radical re-thinking on keyset design," and that, although "one may imagine that the keyboard is a relatively simple piece of equipment . in fact, it presents a unique combination of mechanical, electrical and human problems." (Boyd, 1965, p. 152). Current R & D concerns with respect to keyboard redesign involve consideration of principles of motion study as applied to key positioning, key shape, key pressures required, and the like.4 4.24 Beyond this are questions of design requirements for dynamic on-line display. Thus we are concerned with requirements for improved remote input console and terminal design.4.26 Relatively recent input-output terminal developments, especially for remote consoles or dynamic man-machine interaction, have been marked by improved potentialities for two- and even three-dimensional data processing and by further investigation of prospects for color, as discussed, for example, by Rosa (1965), 4.27 Mahan (1968) 4.28 and Arora et al. (1967), among others. Van Dam (1966) has provided an informative state-of-the-art review of such scanning and input/output techniques. Vlahos (1965) considers human factor elements in three-dimensional display. Ophir et al. (1969) discuss computergenerated stereographic displays, on-line.4.29 In the area of input-output engineering and system design, what is needed for more effective manmachine communication and interaction will include the provision for remote consoles that are truly convenient for client use. Hardware, software, and behavioral factors are variously interrelated in terms of desired display and console improvements.4.30 The desirable design specifications for remote inquiry stations, consoles, and terminals and display devices as discussed in the literature variously include: economy, dependability, and small enough size for convenient personal use.4.31 Some misgivings continue to be expressed on this score. Thus, it is reported that Project Intrex will consider the design of much more satisfactory small consoles 4.32 and Wagner and Granholm warn that "at the moment, it is difficult to predict whether remote personal consoles can be economically justified to the same extent that technological advances will make them feasible." (1965, p. 288). Cost certainly appears to be a major factor in the limited nature of the use that has been made of remote terminals to date.4.33 A second requirement is for the provision of adequate buffering facilities including, for at least some recent systems, capabilities for local display maintenance.4.34 From the hardware standpoint, it is noted that "the major improvements in displays will be in cost and in the determination and implementation of the proper functions from the user standpoint. The cathode-ray tube will probably be dominant as the visual transducer for console displays through 1970, but there are several new techniques for flat-panel, digitally addressed displays presently under development that may eventually replace the CRT in many applications. The advances in memory and logic component technologolies will permit significant improvements in the logic and memory portions of console displays." (Hobbs, 1966, p. 37). 4.35 Other features that are desirable may include a capability for relatively persistent display, for example, up to several hours or several days,4 and the capability, as in the Grafacon 1010 (a commercially available version of the RAND Tablet) for the tracing of material such as maps or charts to be superimposed on the imput surface, or the Sylvania Data Tablet ET 1, which also allows a modest third axis capability. As in the case of system outputs generally, hard-copy options are often desired through the terminal device. For example, the console "should have a local storage device on which the user can build up a file of the pieces of information he is retrieving, so that he can go back and forth in referring to it. It should have means of giving him low-cost hard copy of selected material he has been shown and temporarily stored." (King, 1965, p. 92). The use of markers and identifiers for on-line text editing purposes should be simplified or eliminated to the maximum extent possible. If, for example, elaborate line and word sequence identifications must be used both by the machine system and by the client, then the virtues of machine processing for this type of application will be largely lost. Such systems should not only be easy to use, but easy to learn how to use. 376-411 O-70-2 An important question to be asked by the system designer is whether the output responses will be of the types and in the formats that the client will expect to receive. It is noted in particular that "the closer the correspondence of the computer output is to the methods of presenting textual and tabular material familiar to the user, the greater his information absorption rate will be." (Morenoff and McLean, 1967, p. 20). Thus, in engineering applications, for example, the client may want results to be displayed in a familiar format such as a Nyquist plot.4.36 Similarly, in operations on files or data banks, the user should be able to structure and sequence files and subfiles for display and selection to suit his own purposes.4.37 For effective online operation, the system should provide responses within the reading rates of typical users, and with good resolution, little or no flicker, and with both upper and lower case. 4.38 A some what more specific and stringent list of remote terminal desiderata is provided by Licklider, with particular reference to the requirements of multiple access to the body of recorded knowledge. His desired features include, but are not limited to, color, or at least gradations of gray scale; 4.39 terse or abbreviated modes of expression to the machine with full or "debreviated" response; selective erasibility of the display by either program or user command, 4.41 and capabilities such as the following: "Shortly thereafter, the system tells me: 'Response too extensive to fit on screen. Do you wish short version, multipage display, or typewriter-only display?"." (Licklider, 1965, p. 50). Another design criterion affected by the factor of client convenience is that of the extent of display on the console face of meta-information.4.42 4.40 Continuing needs for technological developments have also been indicated for improved terminal and output display design. Examples include the development of new, fast phosphors and other materials,4.43 use of analog predictive circuitry to improve tracking performance,4.44 and variable sequencing of processor operations in computation and display.4.45 A number of advanced techniques are also being applied to large-screen displays,4.46 although some continuing R & D difficulties are to noted.4.47 Multiplexing of graphic display devices may also be required.4.48 Returning, however, to the human behavioral factors in input-output and terminal design, we note that man-machine relationships require further investigation both from the standpoint of human engineering principles and also from that of attitudes of clients and users,4 4.49 that there are continuing requirements for research and development efforts on both sides of the interface 4.50 and that, in all probability, "industry will require more special prodding in the display-control area than in the other relevant areas of computer technology." (Licklider, 1965, p. 66). We note further an area of R & D concern that will recur in many other aspects of information processing system design and use, and especially in information selection and retrieval applications. More specifically: "The major problem today in the design of display systems is that we cannot specify in more than qualitative terms such critical criteria as 'context' and 'meaning'." (Muckler and Obermayer, 1965, p, 36). Swanson adds: "Other restrictions derive from the need of programs to solve hidden line problems, to recognize context, and to make abstractions." (Swanson, 1967, p. 39). Finally, we note the specific problem in documentary and library applications that large character repertoires are important to input and output representations of various levels of reference and emphasis in technical texts (especially, for example, in patent applications with multilevel referrals to accompanying drawings and diagrams) and to delineation of different types of possible access points in indexes and catalog cards.4.51 In addition, a wide variety of special symbols and/or exotic alphabets are typically employed in texts dealing primarily with mathematical, logical or chemical subjects. A text written principally in one particular language and alphabet may frequently use the alphabet set of one or more other languages, as in reference to proper names, citations, and quotations. Attacks on problems of character-set requirements for output begin with on-line printer variations to provide larger output character-set vocabularies at the expense both of output printing speed and of prior input precedence-coding and/or of processor programming. Larger characterset vocabularies are provided both by photocomposition techniques and by electronic charactergeneration methods, but again at the expense of either pre-coding or programming requirements.4.53 It should be noted, of course, that the internal language of most general-purpose information processing systems is limited to no more than 64 discrete characters, symbols, and control codes. Thus there must be extensive provision for multiple table lookups and/or for decoding and reencoding of precedence codes or transformation sequences, on both input and output, if any internal manipulations are to be performed on the textual material. In general, the larger the character set, the more elaborate the precoding and/or programming efforts that will be required. Then there is the problem of setting up keyboard character sets that are adequate for application requirements and yet within reasonable human engineering limitations. One proposed solution, the use of keyboard overlays and control codes to enable rapid shifting from one character subset to another, is exemplified by developments at Bunker-Ramo.4.54 Another possible solution to the character set problem as related to human engineering factors that is receiving continuing R & D concern is to provide multiple inputs via a single keystroke, such as "chord" typewriters or Stenotype devices.4.55 Regardless of what may be available through various conversion, transliteration, or translation processes on either input or output, there remains the question of the effects of internal character set upon sorting, ordering, filing and interfiling operations for a specific processor-storage system. For example, "other control elements which are frequently required in the design of information systems are special sorting elements. In a directory of personal names, such as those which might be found in an author bibliography, if names beginning with 'Mc' and those beginning with 'Mac' are to sort together, then special sorting codes must be entered into the computer for this purpose. (Austin, 1966, pp. 243-244)4.56 The size of an adequate character set is a particularly critical problem in at least two significant areas: those of automatic typographic-quality typesetting and of library automation.4.57 Complex character set requirements are also to be noted in such multiple-access applications as computeraided-instruction (CAI).4.58 Avram et al., considering automation requirements at the Library of Congress, stress that "keyboard entry devices must be designed to facilitate the input of a variety of languages and diacriticals." (1965, p. 4). These authors point out further that "if the problems associated with the design of input keyboards and photocomposition printing devices can be resolved for the multiplicity of alphabets, there still will remain the formidable task of searching in a machine file which contains them." (Avram et al., 1965, p. 89). Similarly, Haring (1968) points out that the 128 symbols provided in the ASCII code is inadequate for the augmented catalog under development at Project INTREX.4.59 The very number and diversity of varied but realistic cataloging, filing, and search considerations in terms of character-set and sort-order requirements that exist today may indeed surprise the typical computer scientist facing library automation implementation problems. Nevertheless, particular problems of sorting, filing, and reassembly orders in terms of practical usage needs and acceptability to the clients of mechanized systems and services should be subjects of concern to designers of machine languages, machine character-sets, and of the processors as such.4.60 The even more difficult case of extensive mathematical, chemical, and other special symbols desired on output imposes additional hardware requirements, whether for high speed printers, photocomposition devices, or character generators.4.61 This, then, is the area that has been called "Caligraphy by Computer." 4.62 A final example of unusual character set requirements is provided by "Type-A-Circuit" developments.4.63 5. Programming Problems and Languages and Processor Design Considerations The questions of design and development of appropriate programming languages and of processor design are obviously pertinent to all of the operations shown in Figure 1. As of 1967-68, however, special emphasis in terms of research requirements lies in three principal areas: user-oriented input, response and display languages; symbol manipulation languages capable of handling arrays of multiply interrelated data, and increasing interpenetration of hardware and software considerations in both system design and system use.5.1 For example, in the operations of developing processing specifications from client requests for service (Boxes 8 and 9 of Fig. 1), we need: new and more powerful problem-oriented languages; versatile supervisory, executive, scheduling, and accounting programs; hierarchies of programming languages; multiprogramming systems; improved microprogramming; new approaches to increasing interdependence of programming and hardware; and more versatile and powerful simulation languages. The overall system design requirements of the future indicate R & D concerns with programming languages, and especially with hierarchies of such languages at the present time.5.2 Controversies certainly exist as between advocates of more and more "universal" languages and proponents of problem-oriented or user-oriented machine communication techniques. 5.1. Programming Problems and Language Continuing R & D requirements for programming language improvements represent two contradictory requirements: on the one hand, there is recognized need for increasingly universal, common-purpose languages compatible with a wide variety of systems, hardware configurations, and types of applications; and on the other hand for hierarchies of language systems. In addition, a number of special requirements for more flexible, versatile and powerful languages are just beginning to emerge, especially in such areas as graphical communication, on-line problem solving, multiple access and multiprocessor control systems, simulation, and on-line instrumentation. We are concerned here, then, with generalpurpose language and compatibility requirements; with special-purpose requirements such as problem-oriented programs, list-processing and other techniques for non-numeric data processing; with special problem areas such as very large programs and the requirements of multiple-access and multiprogrammed systems; with hierarchies of programming languages, and with the increasing interdependence of software and hardware considerations. 5.1.1. Problems of Very Large Programs and of Program Documentation In terms of continuing R & D concern, we note first the problems of handling very large programs, defined as those that demand many times the available main storage capacity and that are sufficiently complex in structure to require more than ten independent programmers to work on them.5.3 An obvious requirement is to develop efficient techniques for segmentation: "When many programmers are involved, there is the problem of factoring the system into appropriate subtasks. At the present time this is an art rather than a science, and very few people are good at its practice, because of the inability to find useful algorithms for estimating the size and degree of difficulty of programming tasks." (Steel, 1965, p. 234). The questions of automatic segmentation, although recognized as critical and difficult problems, have therefore been raised.5.4 In particular, the checkout of very large programs presents special problems.* For example, "another practical problem, which is now beginning to loom very large indeed and offers little prospect of a satisfactory solution, is that of checking the correctness of a large program." (Gill, 1965, p. 203). Further, "the error reporting rate from a program system of several million instructions is sufficient to occupy a staff larger than most computing installations possess." (Steel, 1965, p. 233). Other specific requirements in the programming problem areas include improved provision for adequate program documentation and related controls.5.5 For example, Pravikoff (1965) presents cogent arguments for the improved documentation for programs generally. Mills (1967) points to the special documentation problems in multiple access systems where users are less and less apt to be trained programmers.5.6 Dennis (1968) points to the present high costs of large-scale programming efforts as due to inadequate documentation that prevents taking advantage of programming already achieved,5.7 while Kay (1969) considers the advan *See also Section 7.1 of this report, on debugging problems generally. tages of on-line documentation systems.5.8 Thus the area of program documentation requires further study and concern. A related difficulty is that of inadequate means for translation between machine languages, although some progress has been made.5.9 An intriguing possibility deserving further investigation has been raised by Burge (1966, p. 60) as follows: "Presented here is a problem and a framework for its solution. The problem is as follows: Can we get a computer program to scan a library of programs, detect common parts of patterns, extract them, and re-program the library so that these common parts are shared?" Another current question of R & D concern with respect to programming problems is of the generality with which a given language system can or cannot cope with a wide variety of system configurations and reconfigurations over time.5.10 The questions of development of more effective common-purpose or general-purpose languages involve very real problems of mutually exclusive features and of choices as between a number of means of achieving certain desirable built-in features.5.11 Areas of continuing R & D concern in programming language developments reflect, first, the need for increasing generality, universality, and compatibility (these objectives are followed in general-purpose language construction and standardization, on the one hand, and by increasing recognition of the needs for hierarchies of language, on the other); secondly, the special requirements of multiple-access, multiprogrammed, multiprocessor, and parallel processing systems; thirdly, requirements for problem-oriented and other special-purpose languages, and finally, needs for continuing advances in hardware-software balances and in fundamental programming theory. access 5.12 5.1.2. General-Purpose Programming Requirements The presently indicated transition from exclusively batch or job-shop operation to on-line, multiple system sharply management aggravates the problems of programming language requirements in a number of different ways. First, there are very real difficulties in translating from programming languages and concepts geared to sole occupancy and use of system facilities to those required in the multiple-access, and multiprogrammed, much less the multiprocessor and network environment.5.13 As Brooks (1965) points out: "Today's excitement centers chiefly around (1) multiprogramming for time-sharing, (2) multiple-computer systems using a few computers for ultra-reliability, and (3) multiple-computer systems using a highly parallel structure for specialized efficiency on highly structured problems." 5.14 In all of these cases, moreover, the R & D requirements are typically |