In the foregoing chapters, the concept of the procognitive system has been approached and developed from several different points of view. Common to these points of view has been the fundamental purpose, to improve the usefulness and to promote the use of the body of knowledge. Also common to the several points of view has been the central methodological theme, that the purpose can best be achieved through intimate interaction among men, computers, and the body of knowledge. Though we shall use the convenient phrase, "man-computer interaction," it should be kept in mind that it is an abbreviation and that the body of knowledge is a coordinate partner of the men and the computers.
In order to come to grips with problems of the projected interaction, it seems necessary to break it down into parts, even though there appears to be no set of components into which the interaction process can be subdivided that do not themselves interact strongly.
The traditional approach, which allocates some functions to men and others to machines, is particularly unsatisfactory because, in order for the major functions involved in working with the body of knowledge to be fulfilled efficiently, synergic action is required in which men and machines participate together. Most of the efforts made during the last decade to figure out "what men should do" and "what machines should do" have missed this point widely. They have supposed that the fabric of man-computer interaction is a patchwork quilt made of red and blue patches, and that the red patches correspond to functions that call only for human capabilities, the blue patches to functions that call only for machine capabilities. In our analysis, however, the fabric of man-computer interaction is an almost uniformly purple quilt, albeit made of red and blue threads. Woven together, they constitute a useful whole. But when one tries to divide it into human functions and machine functions, he winds up not with two sets of assignable tasks but with two tangles of colored thread. By and large, the human threads are heuristic and the machine threads are algorithmic. The art of man-computer system design is the art of weaving the two qualities into solid-color cloth.
Despite the artificiahty of division, we shall divide the discussion of man-computer interaction, for convenience, into three parts: (1) what is often called the man-machine interface, the physical medium through which the interactions take place, (2) the language aspects of man-computer interaction, and (3) a look at the total process as an adaptive, self-organizing process. These three sections re-examine some ideas already introduced and fit some new elements into the picture.
Early in our study of man-computer interaction, we became dissatisfied with the term, "man-machine interface." "Interface," with its connotation of a mere surface, a plane of separation between the man and the machine, focuses attention on the caps of the typewriter keys, the screen of the cathode-ray tube, and the console lights that wink and flicker, but not on the human operator's repertory of skilled reactions and not on the input-output programs of the computer. The crucial regions for research and development seem to lie on both sides of the literal interface. In order to remind ourselves continually that our concern permeates the whole medium of interaction, we have avoided "interface" and have used, instead, "intermedium."
The man-computer intermedium subsumes the computer's displays and the mechanisms and programs that control and maintain them, the arrangements through which people communicate information to the computer, and the relevant communication organs and skills of the men. Once we assume that definition of the domain, it is impossible to draw a sharp line between the nonlinguistic and the linguistic parts. The blurred line that we shall in fact draw is intended to put most of the questions of apparatus on one side and to put most of the questions of method, procedure, and format on the other.
An important part of the physical intermedium is the user's station, a "console" of the kind described in an earlier chapter. However, the intermedium extends beyond the console to include the user's entire work space and the physical aspects of his personal documentation system and perhaps even his laboratory system or his application system. We shall not examine those extensions in detail, but that does not mean that we consider them unimportant.
According to the argument set forth in the introduction, it is natural to think in terms of familiar schemata, but it is necessary to abstract from them, or to break them down and recombine them into new configurations, always on the lookout for new elements, if one is to progress. One of the two most flexible and promising display-control systems provided by the current technology is the combination of oscilloscope and light pen that has figured in much of our discussion. That combination is a source of very useful schemata. It is also a source of intense frustration.
Abstracting from the actual physical equipment, and making several improvements and rearrangements in the mind's eye, one comes to a conception that may well be epoch-making as soon as it is well engineered for man's use and widely available. We make this prediction despite the fact that the currently available and familiar equipment has such shortcomings that pencil and paper and the printed page seem to belong to a domain of infinitely superior engineering.
The desiderata are easy to list but probably difficult to achieve. In the following list each item is associated with an intuitive estimate of its degree of importance. The estimate -- the number in parentheses -- is based on a scale of increasing importance from to 10.
We should like to have: a color display (4) if possible, or, if not, a black-on-white display (7) with at least eight gradations of brightness (5) and a resolution exceeding 400 (4), or 200 (6) or, at any rate, 100 (9) lines per inch. Each element of the display should be selectively erasable by the computer program, and also either directly or indirectly by the operator (9). The display should have controllable persistence (6) and should be free of flicker (9). There should be a way to capture any frame of the display in the form of "hard copy" (9), and the hard copy should be coded automatically for machine filing, retrieval, and redisplay (7).
The display should provide the set of features called "Sketchpad" features (10), which assign to the computer those parts of the sketching and drawing skill that involve much practice and precision, and leave the man responsible mainly for expressing the essential structure of the concept he desires to represent.
The stylus should resemble an ordinary pen or pencil in size, shape, weight, and "feel" (8). It should have a home position slightly above and to the right of the display surface. It should return to that resting place whenever the operator releases it from his grasp. If the stylus is connected by a wire to the console, the wire should be very light and flexible and should not constrain the manipulation of the stylus.
In addition to the foregoing considerations, there are, of course, rehability (9), ruggedness (8) and economic feasibility (10). The challenge inherent in the last three factors sometimes seems to be too little appreciated.
The oscilloscope-and-light-pen schema of the next decade should have a hard, tough surface upon which both the user and the computer can print, write, and draw, and through which the user's markings will be communicated to the computer. Even when this surface is flush with the top of a desk, no "electron gun" sticks down through the desk and bumps the user's knees. The marks appear on the surface, of course, and not on a lower subsurface: there is no explosion screen and no parallax.
Ideally, the user and the computer should make their marks in precisely the same coordinate frame, so that it will not be necessary to compensate for poor registration. It is easy and natural to designate part of an observed pattern by pointing to it or touching it directly with fingertip or stylus. Since the computer must act upon designations made by the pointing or touching of patterns displayed on the screen, it seems to us important to have the frame of reference for sensing correspond precisely to the frame of reference for displaying. It may be easier to develop equipment in which the user and the computer make their marks on separate screens, but whether that is a satisfactory arrangement should be evaluated carefully.
A device called the RAND Tablet * (* footnote: The RAND Tablet is similar in principle to a device invented by H. M. Teager of M.I.T. Both devices involve conductive lines and coded pulses. The path from the lines to the stylus is capacitative in the RAND Tablet and inductive in the Teager Table.) has been developed which will provide experience with separate display surfaces for man and computer. The RAND Tablet looks to the user like a sheet of paper. Underneath the paper, however, there is a layer of insulating material on each surface of which are a thousand or more parallel conductive lines. The lines run from right to left on one surface of the insulating sheet and from front to back on the other. Coded patterns of pulses are applied to the various conductive lines by a pulse generator. When the user touches his stylus to the paper, the stylus picks up the pulses from the nearest conductive lines and transmits them, by way of a connecting lead, to electronic circuits associated with the pulse generator. These circuits determine the location of the tip of the stylus and transmit the coordinates to the computer. Because the conductive lines are produced in the same way as primed circuits, the Tablet is not very expensive. Doubtless, the electronic circuits that generate the coded pulses and determine the location of the stylus can eventually be produced at low cost as "integrated circuits."
The Tablet handles only the problem of communication from the user to the computer and does not provide a display from computer to operator. At the Corporation, the Tablet is used in association with a computer-posted oscilloscope display. The RAND Tablet is mounted flat on the writing surface of the console. The screen of the oscilloscope is vertical and located immediately behind the Tablet. On the basis of early experience, RANDthe people say that the separation of the computer's display from the user's Tablet is not a source of serious difficulty.
A working version of another component of the schema we have been discussing is provided by the "flat" cathode-ray tube. Whereas an ordinary cathode-ray tube has the (often inconvenient) shape of an Erlenmeyer flask, the flat tube has the shape of a book. Operable flat oscilloscopes have been constructed and have proved to afford excellent resolution.
In several military display systems, projection of photographic "slides" is combined with display generation by computer. The slides provide a convenient and economical way of maintaining the static part of the display pattern, which is often a reference grid or a map. A few of the systems provide means for photographing computer-posted displays and then redisplaying the information from slides. We think that, should such an arrangement be produced at low cost, it would find widespread use (7) in procognitive systems.
The second main area in which improvement of controls and displays is required is the area of alphanumeric keyboards and hard-copy displays. Those devices are obviously important for the future of procognitive systems.
The main functions to be fulfilled by devices derived from the typewriter schema are obvious ones. Such devices must provide for "digital" communication from the user to the computer. They must also provide a visible record of the information that has been fed into the computer, and this record should be easy to modify. The computer should be able to make marks on the record. The user should have the option of producing either soft (ephemeral) copy or hard (permanent) copy, and even the option of turning the soft copy into hard copy after editing. The device should accept input as fast as a welltrained operator can provide it, and it should translate signals from the computer into typed characters at a rate of at least 100 characters per second.
The typewriterlike devices that are currently available provide five schemata that are useful as bases for thinking in this area. Let us abstract from these schemata the parts and qualities we should like to have melded together for use in procognitive systems.
The first schema is offered by the familiar teletypewriter. Although there are several models of teletypewriter, the general features are sufficiently characteristic that, for some of our purposes, we may think simply of "the" teletypewriter. Compared to most other man-computer communication devices, it is rugged, reliable, and inexpensive. However, it has no lower-case letters, it is slow, and it has a strange "touch" for anyone accustomed to office typewriters. Many people who have had experience with on-line man-computer interaction look forward to the manufacture of a device like current models, but with 128 or more characters, with the capability of typing at very high speed, and with a touch more like that of an ordinary electric typewriter. We realize, however, that, in the present state of the art, these features are to a large extent incompatible with high reliability and low cost.
The schema offered by the familiar electric typewriter, or by the electric typewriter that has been designed or adapted to be used with a computer, is a montage of 44 type keys, six to twelve operation keys, two cases, fairly clear marks on paper in one or two colors, limited control of the carriage from the keyboard, fair reliability, and a high level of noise. The ensemble of 88 characters (2 cases X 44 keys) is almost large enough for serious intellectual purposes. The font contains both capital and lower-case letters. These things are important. Perhaps even more important are the intimate familiarity with typewriters and the significant skill in typing that are fairly widespread in the population.
It is worth pausing to ponder how few well-developed skills there are that are both complex and widespread. Almost everyone can get about in three-dimensional space. Almost everyone can speak and understand one of the natural languages perhaps not grammatically, but fluently. But relatively few people can do anything else that is even remotely comparable in informational complexity and degree of perfection. Of the remaining candidates for inclusion in the list of widespread complex skills, we may with some misgivings accept writing, and perhaps the playing of musical instruments. After this comes typing. And typing ends the list. It is possible that, in future decades, typing will move up past music and that it will become almost as widespread as writing and more highly developed.
The third typewriter schema is offered by typewriter-like devices that are used in association with computers and that type 60 or more characters per second. These are usually called "printers." (We refer here to character printers and not to line printers, which are likely to remain too complex and expensive for ordinary user stations.) The aspect of the printer schema that is of interest is simply the rapid rate of typing. It is worth while to have in mind that characters can be marked on paper at high speed by a device the size of a typewriter.
The fourth schema is offered by devices commercially available but not in widespread use, separated keyboards and typing units. When a typewriter is associated with a computer, there ceases to be any reason for the conventional, direct connection between the key that is pressed and the type bar that strikes the paper. Obviously the pressing of the key should direct a code to the computer, and the computer should acknowledge the code by activating the type bar and thus printing the character on the paper. As soon as the tacit assumption of a direct linkage between key and type bar is recognized and discarded, there is no longer any need to maintain a oneto-one relation between key pressings and character markings. It should be possible, in a "debreviation" mode, to type "clr" on the keyboard and have "The Council on Library Resources, Inc." appear on the display.
The final schema in the typewriter field is the "Stenotype." The component that seems to be of most value, for these purposes, is simultaneous multiple key pressing. If it turns out, as seems likely, that very large ensembles of characters are desirable in man-computer interaction with the body of knowledge, then it will become much more important than it is now to be able to specify the desired character by pressing a pattern of keys on a small keyboard. That is a much better solution than pressing a single key on a keyboard with several thousand keys.
Because our thinking is anchored in familiar experiences, we are inchned to think of interaction between men and procognitive systems as a collection of dyadic man-computer interactions. More and more, however, the problems of science, technology, industry, and government are being solved by groups of men rather than by individuals. Although the "team approach" is a topic of controversy in some fields, its value has been proven in others. Consideration should be given to the development of tools and techniques to facilitate group interaction with the body of knowledge.
In the current technology there are two general approaches to group-computer interaction. The first and most widely used provides a separate console for each member of the group and relies upon the computer, together with auxihary communication circuits, to mediate the interaction among the members of the group as well as the interaction of the members with the computer and its store. The second approach, taken in some military systems, uses large "wall" displays, located in view of several or all of the members of the group and intended to provide a common frame of reference for their decisions and actions.
In procognitive systems based on individual consoles, the main items of equipment that would be needed for group communication, not already discussed under the heading of man-computer communication, would be derivatives of the telephone and television. Communication by telephone and perhaps by television would be closely correlated with communication through the computer system. This procedure does not pose any novel requirements for the display and control equipment of the system.
In a procognitive system with group displays (second approach) one would expect to see large-scale displays similar in principle to the individual display screen already discussed, even with derivatives of the light pen to provide communication between the human members of the team and the computer. The most significant characteristic of the group display seems to us to be resolution. The total number of resolvable points is no greater in the large-scale kinematic displays available at present than it is in the smaller individual displays. In some largescale static displays, such as wall maps, however, there is high resolution, and in them the advantage of size is apparent. On a good wall map, one can see the general features of a continent from the middle of the room. In order to examine the boundaries of countries or states, it is necessary only to step a little closer. From a normal reading distance, the names of cities and towns can be made out and the courses of rivers can be followed. It is interesting to extrapolate to very high resolution and dynamic presentation. If display capabilities should increase as rapidly as memory capabihties, one may someday watch a display on a very large wall, examine the weather situation in the Midwest, and then with a magnifying glass follow the movement of an individual automobile from Bethesda to the Pentagon, reading the names of the streets and highways along which it moves. It seems to us that there is some merit in trying to develop such large-scale, high-resolution dynamic displays for groupcomputer interaction, though at the same time we appreciate the difficulty of the technical problems involved.
The design of consoles and the arrangement of work spaces is not likely to be regarded as an exciting part of Ubrary planning, but it is an essential step in overcoming what C. W. Churchman calls the "brain-desk barrier." During the course of our experience with facilities for man-computer interaction, the point was driven home to us that convenient arrangement of the elements of the physical intermedium is an extremely important factor in the determination of the effectiveness of the interaction and not something readily purchased or easily achieved. The individual ingredients of the current difficulty of man-computer interaction are trivial in themselves, but they add up to a significant total.
The first inconvenience is likely to be the position of the keyboard of the computer typewriter. Most computer typewriters are located on "console" desks that are higher than typewriter tables. The keyboards of most computer typewriters stand higher above their resting surfaces than the keyboards of ordinary typewriters do. That makes the keyboard much too high. Raising the chair seat makes the typist's knees hit the table. Moving the computer typewriter to a conventional typewriter table puts the typewriter too far away from the oscilloscope screen, the light pen, and the switches that control the computer.
In the computer-posted displays that we have seen, the oscilloscope screen stands only 10 or 20 degrees off the vertical. This is true for displays that have light pens associated with them as well as for screens that function only as displays. Evidently, the designers had in mind the blackboard and not the writing desk. In fact, one's blackboard habits carry over to the vertical oscilloscope screen, and one writes and draws in a large scale inappropriate to the small size and high resolution of the display. Moreover, it is tiring to hold a hand at eye height for a long time without support.
The other elements of difficulty are of the same general nature: Light pens are too thick and heavy for facile writing; they could be and should be the size and weight of ordinary pens. Conventional "Hne printers" have no lower-case letters; it is difficult to read long passages in capital letters. One has to turn the lights out to read the oscilloscope and then turn them back on to read print or typescript. And so forth. Each individual difficulty can be remedied easily, but it may take a strong, well-organized effort to perfect all the necessary elements and combine them into an effective physical intermedium.
If the problems of the physical intermedium of mancomputer interaction are lacking in intellectual challenge, the problems of language for man-computer interaction abound in it. The entire spectrum of language from binary machine code to the great natural languages will be involved in man's interaction with procognitive systems.
We may distinguish four different involvements of language in a neolibrary procognitive system. Language is employed (1) by the programmers who prepare and improve the computer programs that implement the basic operations of the system; (2) by the information specialists who endeavor continually to improve the organization and operation of the system; (3) by the substantive users of the system in their interaction with the body of knowledge; and (4) in the representation of the body of knowledge in the memory of the system.
The science of applied linguistics is so new, and formal languages designed to facilitate the programming of computers are burgeoning so fast, that it is difficult to summarize the present situation and almost impossible to make a long-term projection worthy of confidence. This part of the discussion, therefore, is confined to a brief examination of the roles of language in the four areas of man-computer interaction.
Even after it has been developed and is in operation, the procognitive system of the year 1994 has a continuing need for programming specialists. Their task is, essentially, to maintain and improve the basic programs of the system. Requirements arise that cannot be met effectively without making alterations in the basic system programs. To change even one short statement in a large system of programs is a serious matter, to be undertaken only by the most skilled and experienced professional programmers. The programmers of the procognitive system, therefore, plan modifications carefully, test them thoroughly outside the main stream of operation of the system, and then monitor the situation closely when they introduce the modifications into actual operation.
Basic programs for the procognitive system are written in a high-level programming language. The programs are available to anyone who wishes to examine or use them, not only as services that will function at the user's request, but also in the form of annotated statements in the programming language. When a system programmer modifies a system program, he operates upon it through another program designed to facilitate the preparation, testing, modification, documentation, storage, and retrieval of programs. This "programming-system" program provides several separate services, each of which can be brought into operation by simply typing its name. Each service makes available to the programmer a specialized lansua^e attuned to its own structure and functions. Together with his physical intermedium, the programming languages guide and implement the programmer's interaction with the system.
Let us observe a programmer at work, modifying a basic graphical display program in order to make it operate with a new display device that provides eight times as much linear resolution as the older "standard" displays provide. We shall concentrate more on the functions and operations than on the syntax and terminology.
The programmer sits down at his console, turns it on, and calls the programming system. It reports for service, and he requests the program retrieval and editing program. It reports, and he asks it for the names of all the screen-display programs that are regularly used. Of the 20 offered, he selects four as likely to include the one he must change, and he asks to see their abstracts. From the abstracts, he selects one and asks to see its listing in the high-level language in which it was written. From the listing, he can tell almost at once that he has the program he wants, for the listing is heavily annotated, and it is immediately clear that the number of lines in each scan is the famiUar number and that the division of the screen into sectors is the same as the one currently in use throughout the system.
Using the "moving window" * (* footnote: A "moving window" display that lets the programmer see a selectable and variable segment of program or data in the computer memory has been demonstrated by Marvin Minsky and associates at M.I.T.) to scan through the program, the programmer gets an over-all picture of the display routine and then returns to its beginning, where he finds a statement labeled "Interrogate display" and a comment to the effect that, through interrogation, the program checks the type designation of the screen on which it will display information. Such a check is made because at one time or another several different types of display have been in the system. What is being introduced is a fifth or sixth type. The programmer figures out that the result of the interrogation is a code, that the first ten digits of the code are checked against a standard to pro- vide authentication, and that the last four digits of the code are used as the argument of a "transfer-table" or "jump-table" operation. He therefore temporarily dismisses the entire programming system, calls a document-retrieval program, and retrieves the engineering specification of the new display device. He looks at the document long enough to satisfy himself that he has the correct display program. He then asks the question-answering system the identification code of the display described in the document. Just as the question-answering system is displaying the answer, he finds the passage in the document that gives the code. He makes sure that the two displays of the code are identical. He sees that the last four bits are 1101 (decimal 13). He makes a note of that and recalls the programming system, which comes back into action with the retrieval and editing program operating in the mode in which he last used it.
The programmer notes next that the name of the transfer table is "Display-selector transfer table." He types:
Insert in Display-selector transfer table
- 13 a jump to Patch. Prepare Patch: Deposit in user's scratch-pad register (Insert here designation of user's scratch-pad area used in the first deposit operation following the jump-out from Display-selector transfer table + 12) the octal constant [Insert here (the octal constant inserted in last-cited deposit operation)/10]
Then on the next fine he types:
Jump to the return used by Display- selector transfer table + 12.
Then finally he asks to see a screen display of the newly prepared patch program. In the first register of the patch, the programming system has composed the instruction "Deposit," the octal constant "4000," and the symbolic address "Scratch-pad area. Display + 6." In the next register it has deposited the instruction "Jump" and the symbolic address "Initialize display." Seeing this, our programmer thinks a moment about the "4000" and decides that it is a plausible value for the constant. He then types:
Display "Initialize display".
and looks at the part of the program to which the "Jump" leads. The program statements in that segment seem appropriate to him. He therefore decides to test the modified program.
The modification has been so short and simple that he sees no reason to test it under "trace," which would have the effect of running it slowly and protecting other programs against interference in the event that it should misbehave. However, it does occur to him to take one more precaution before testing. He decides to give the patch a retrievable label (to replace the local, nonretrievable label, "Patch") and to store away a copy of the modified program so that he can retrieve it and work on it further if the test is unsatisfactory. He therefore types:
Assign the label, "Constant for display 13" to the statement locally labeled "Patch".
The programming system pauses a moment and then replies:
The label, "Constant for display 13", has already been used.
It occurs to him immediately what the trouble is, and he types
Assign "Constant for display 13, H. I. Johnson".
The programming system then replies:
Done.
In order to test the program, the programmer takes advantage of a substitution technique provided by the testing part of the programming system. He calls for the testing service and then asks to have a set of test data displayed on his old display screen, which is still connected. As soon as he has confirmed that the data are displayed on his old display screen, he substitutes one of the new display devices for his old one and requests the test program to substitute the program he has just modified for the regular program. The system will effect the substitution as soon as it comes to the part of the regular program that matches (except for the modification) the part he has just modified. This is a fairly complicated operation, but it is easier and surer for the system to find the place where the substitution should be effected than it is for the programmer to specify it precisely. The programmer then calls for a redisplay of the data. This time the data show up on his new display, the format is the same, the resolution is better, and everything seems to be working well.
Now the programmer acts on the insight he had achieved a minute or two earlier -- the realization that one or more than one other programmer has been working on the modification, programming it in parallel with him, so that two or more versions of the modification can be compared before the modification is introduced into the operating system. He therefore asks the programming system:
Is another programmer modifying a screendisplay program?
The programming system says that no one is working on such a modification now, but that O. B. Smith worked on one earlier in the day. Our programmer asks to talk with O. B. Smith. The system makes the connection. The two programmers discuss their modifications on the telephone. Each calls for both versions of the modified program in order to check that they are identical in their essentials. It turns out that O. B. Smith had happened upon the label, "Constant for display 13," only an hour or two earlier than H. I. Johnson and had thereby set up the colHsion of labels that had been detected by the system.
The two versions of the program do match, except in respect of arbitrary labels. The two programmers together delete the retrievable patch label. They enter a note in the system log, indicating that they have made a modification and giving its location, purpose, and nature, and their names and the date. Then they replace the old program with the modified program in the system files and in the operating system. In that final step they use -- without stopping to think about it -- a sophisticated capabiUty of the system. Before substituting the modified version for the old one, the system checked to see that no one was at the moment in the process of using the old one.
In the foregoing account, attention was focused on the programming system and the language and procedure used in modifying a program -- not on the programming language in which the system programs were originally written. There is Httle to say about the basic programming language except that it is a powerful and sophisticated descendent of present-day computer-programming languages and the product of long-continued, intensive research.
The example was intended to illustrate how closely interwoven are the threads of hardware, system design, programming technique, and programming language. It touched also upon the capabihty of the programming system to interrelate the efforts of members of the system programming team.
The system specialists in their continual effort to improve the organization of the body of knowledge and the usefulness of the procognitive system must deal with a variety of languages and procedures. Whereas the language of the programming system dealt with programs written in a consistent, high-level programming language, the "organizing language" dealt with documents written in the various natural lan^ua^es, with mathematical models and computer-program models, with computer programs themselves, and -- most intensively -- with large, coherent systemizations of knowledge represented in the "representation language" that constitutes the foundation of the question-answering system. Associated with each of these diverse objects is a set of information structures and procedures with which the organizing language must resonate. Therefore, the organizing language is divided into parts, any one of which may be brought into play almost instantly by any one of the system specialists who can direct it on the task with which he is concerned.
One of the main tasks of the system specialists is to transfer information from the document store associated with a subfield of knowledge to the organized body of knowledge of that subfield. This operation involves, but is not wholly restricted to, translation from natural language to the representation language. We say that it is not wholly restricted to such translation because many of the documents entering the procognitive system consist mainly of metainformation and are intended not to express substantive findings so much as to set such findings (represented in auxiliary structures) into relation with problems, to define their scopes and domains, and to offer qualifications and suggestions about their applications and their correlation with the body of knowledge. The substantive findings are typically expressed in the form of a high-order formal language, or in the form of operable computer programs ("dynamic models"), or in the form of data structures such as lists, tables, and matrixes. The fact that the incoming information is already to a large extent formalized and organized simplifies the problem for the system specialist. During the future period to which this discussion refers, many scientists are beginning to use in their own work the formal language in terms of which the body of knowledge is represented in the procognitive system. However, the rapid advance in the understanding of languages and the burgeoning of linguistic techniques and formalisms are still in progress, and the time when one great formal language will dominate procognitive intercourse appears still to be decades away.
The organizing language contains a section that handles translation from natural language to the representation language. This section provides translators for each of the main natural languages. These translators work in both directions. One of the major items of routine business is to translate a document into the formal representation language, then to translate it back into a long series of short statements in the natural source language, and then to review the new version in a conference with the author of the document. The system specialists who handle that part of the work are educated in the scientific or technical disciplines they deal with, as well as in the information sciences.
The process of translation is carried out mainly by algorithm, but, even after two decades of progress, there are still many problems and difficulties that must be solved or circumvented by human specialists. The problem of capturing and representing precisely the intention of an author is still so difficult that the conference between the speciaUst and the author of a 10-page paper may take as much as an hour. By the time the conference is finished, however, the natural-language text has been perfected to the point at which it can be translated into the representation language without the loss of any information the author considers essential. When the translation algorithms operate upon the final natural-language text, they ordinarily require no human intervention. Whenever a problem of translation persists, however, it is made the subject of a conference between the system specialist and experts who speciahze in translation algorithms. Over the years, these conferences have contributed much to the perfection of the translation algorithms.
In this part of the work the language employed by the system speciahst is essentially a language for controlhng the operation of language algorithms, editing text (jointly with a colleague at a distant console), testing the logical consistency of statements in the representation language, and checking the legality of information structures and formats. The part of the language concerned with editing is to a large extent graphical. Both the system specialist and the author point to words and sentences in the text, move them about with the aid of their styli, insert or substitute new segments of text, and so forth. The language used in controlHng algorithms is essentially standard throughout the procognitive system.
When an incoming document contains many references to associated information structures, the task of the system specialist expands. He has to introduce the links that will connect the textual document with the associated structures and the associated structures one with another. Inasmuch as the work we are discussing is done in a second-echelon center, this does not involve the actual introduction of the new information into the over-all body of knowledge, but -- operation for operation -- it amounts to almost the same thing. The main difference is that there is even more caution, more insistence upon verification in the top-echelon centers. In linking the various structures, the system specialist makes statements of the following kind:
Table 3 is a two-dimensional matrix with alphanumeric row and column headings and with row and column marginal totals. The entries are floating-point decimal num- bers. Check the format. If it is all right, file it, and construct a bidirec- tional link to "Table 3" and the title.
The system will know, of course, to file it in the data base. Encountering a series of equations in a document, and seeing that they are sufficiently complete to constitute an operable computer routine, the system specialist makes a series of commands such as the following:
Assign an arbitrary PROCOL independent routine label to these [He points] equa- tions. Construct a bidirectional link between the text and the routine. Assume ranges for the variables. Assume assign- ments of variables to axes. Display rela- tions on screen while running program. Run the routine.
In this way, the system specialist checks the operability of the system of equations as a "PROCOL routine." While observing the display, he may, for example, make some modifications in the ranges of variables, and substitute z for X as the independent variable. In such operations, he uses the graph-control sublanguage that is standard for the entire procognitive system.
One of the main features of the language mechanism used by the system specialist is a built-in "understanding" of the several kinds of information structure that system specialists usually handle. When the information structure is a matrix, certain operations, certain storage locations, certain kinds of link, certain kinds of test, and certain kinds of display are appropriate. When the information structure is an operable program, a different set of things is appropriate. When the information structure is a textual string, still different things are appropriate. The linguistic development that has made all this possible has been the development of an interpretive mechanism that examines the class memberships of the entities mentioned in the declarations, commands, and questions, determines from those memberships what operations and interrelations are appropriate and uses that information to guide its implementation of the instructions.
The format of the illustrative commands given in the foregoing paragraphs is intended, of course, only to suggest. No such language is currently implemented on a computer. The suggestion is that such a language will in due course be implementable. The use of pronouns will cause no serious difficulty. Most of the power of the language stems from the interplay of the facts already mentioned, (1) that the language mechanism "understands" the information structures that will be encountered in its work, and (2) that the operations to be performed upon the information structures have been carefully programmed and associated with the verbs of the language.
The design of a specialized language, according to this hne of thinking, is in large part a matter of identifying the information structures and the fundamental operations of the special domain of application. It includes also the formulation of a sufficiently sophisticated syntactic analysis to permit flexibility of expression and sensitiveness of response to tense, voice, mood, and so forth. The language must, of course, be intimately correlated with the physical intermedium and with the repertory of processing techniques that are available. "Techniques," as used here, is not the same as "operations." There may be several different ways to carry out a given operation. To the substantive user, the difference may appear only in speed or in cost. To the system specialist or the programmer, on the other hand, the selection of a particular technique may have profound impHcations. Selecting the wrong technique for the performance of a fundamental operation might seriously handicap future development of the system. One of the main responsibilities of system specialists, therefore, is to exercise good judgment about the selection of techniques. The selection of operations, on the other hand, is determined largely by the requirements of the task at hand.
We have discussed one particular kind of task in which system speciahsts are involved. Let us now turn to another kind of task. It is part of what we have called "mulling over" the body of knowledge -- looking for undetected relations within it and for possibilities of improving its organization. Let us concern ourselves here with one small facet of that endeavor.
Consider the work of a system specialist who is exploring the possibility that there may exist, within a part of the body of knowledge as currently represented, a number of basic abstract correlations that have not yet been detected. Let us suppose that he has available the language and processing mechanisms capable of transforming patterns of information from the standard representation language into various other representations, based upon other information structures. By "information structures," we refer, of course, to trees, lists, matrixes, relational nets, semantic nets, multidimensional space analogues, and so forth. The foregoing are currently available examples, but during the next decades there should be great development -- both in proliferation and in sophistication -- of information structures.
The language employed by the system specialist handles the standard representation language approximately the way a present-day query language handles a simple hierarchical file. The system speciahst might say, for example:
Designate as A, B, and C, respectively, the parts of the representation that con- tain models involving DNA and RNA, models of transformational grammars, and information-compression codes. Transform each of the parts. A, B, and C, into "trie" representation, list-structure representation, and semantic-net represen- tation. Within each of the latter, truncate each representation tentatively, retaining the highest-level 1,000,000 bits. Now, consider subdivisions of the representation that are locally complete and approximately 10,000 bits in size. Correlate all the subrepresentations of A with each subrepresentation of B, and do the same for B and C and for C and A. Display all pairs of patterns that have correlations greater than 0.8.
In the foregoing series of commands (which in practice would have been interspersed with requests for stepby-step display of results), there were many points at which substantive knowledge of information structures and technical operations had to be "understood" by the language mechanism. Since many of the structures and most of the operations are of particular significance to system specialists, the organizing language contains specific terms for them.
System specialists have many other tasks besides the two that have been discussed. They preside over the introduction, into the top-echelon representation of the body of knowledge, of those contributions that are locally organized and tested in the second-echelon centers. They call to the attention of experts in the various substantive fields the correlations and systematizations they find plausible in their continual examination of the body of knowledge, and they work with the substantive experts in reorganizing the representations of substantive areas. They seek continually to improve the representation language. Approximately once each decade they have to adapt the representation to a new and improved hardware base. In so doing, they work closely with the system programmers. Indeed, there are some system specialists who are programmers, and some programmers who are system specialists. There is no sharp line between the two, any more than there is a sharp Hne between system speciaHsts and specialists in substantive areas of science and technology.
The existence of so very many subfields of science and technology, each with its local jargon, its own set of frequently occurring operations, and its own preferences for data structures and formats, makes it necessary to have many different user-oriented languages. However, there is a homogeneity that underlies the diversity. We have seen the basis for this underlying homogeneity in our discussion of programming language and organizing language. The homogeneity is inherent in the fact that there are only a few syntactic classes, only a few dozen information structures, and only about a hundred kinds of operation -- though there are very many different operations -- in the entire spectrum of activities of the procognitive system. The various field-oriented and problem-oriented languages employed by the substantive users of the system are therefore all related, one to another, and they are similar in their basic essentials to the languages used by the programmer and the system speciahst.
One of the tasks of the specialist that is relevant in the present connection is to keep the user-oriented languages compatible with one another. User-oriented languages naturally tend to develop in their own particular directions, and every effort is made not to impede such development when the needs are truly special. It usually turns out, however, that consultation between a substantive user and a system speciahst reconciles achievement of the goal of a new specialization with preservation of order within the over- all system. This is true because the substantive user only rarely invents a new linguistic technique that is superior, for his purposes, to every other technique already estabhshed within the system and because any new and useful one that he does invent soon finds application in other parts of the system.
The interaction between a substantive user and the procognitive system may be intellectually as deep as the user's penetration of his field of study, but it should be simple. It tends to be simple because there are only a few kinds of action for the user to take at his console. Almost everything posted on a display, for example, is put there by the computer. If the user wants to make a mark or turn on a light, he tells the computer what, when, and where, and the computer proceeds to carry out the act.
In order to match the small set of control actions a man can take with the vast assortment of things there are to be done in the world of the procognitive system, it is necessary to take advantage of the concept of determination by local context that is so highly developed in the natural languages. In the system of user languages, the first step in that direction is the selection of a sublanguage -- a field-oriented or problem-oriented language designed to handle the kind of task with which the user is concerned. The second step, taken within the sublanguage, is to enter a "mode." We have already touched briefly on modes of display associated with the display screen and the light pen. When the pen is used merely as a pointer, the meaning of its message is conveyed partly by the location of the spot to which it points. However, the meaning is determined also by the nature of the display that is currently being presented and the particular details of that display. The part of the determination that is associated with the nature of the display is "mode" determination.
The simplest on-line man-computer interaction systems we know of have only two modes: a "control mode" and a "communication mode." In the control mode, the signals the operator directs to the computer select one or another of a set of subprograms. In the communication mode, the signals merely enter a buffer space in the computer's memory, and what the computer then does to the signals depends upon which subprogram is brought into action. For example, in an on-Hne "debugging" system called "DDT," the programmer, trying to find out what is wrong with his program, might type:
sto/
The solidus is a control-mode signal that means "I have just transmitted to you three characters or their equivalent that constitute the label of a register in memory. When you have received them, look them up in your address table, examine the register with the corresponding address, and type out in octal notation the number you find in it." In response, DDT would type the number:
sto/ 123456
If the programmer wanted to change that number to 123321, he would simply type 123321 and press the carriage-return key. The carriage return is another control character. It says, "Substitute the number now in the buffer for the old one, and do nothing else about this register unless it is mentioned to you again." The programmer might then check to see that the new number had in fact replaced the old. To make the check, he would press the period key and the solidus key. (The period is not a control character. It is a "pronoun" that stands for the last-mentioned register label.) The computer would then respond with the number in the second line:
sto/ 123456 123321 ./ 123321
It is evident from the foregoing that DDT uses a shorthand notation that is much less explicit than the notations used in the examples given in connection with programming language and organizing language. This is partly because the language of DDT is not very far removed from machine code, whereas the hypothetical languages are high-level languages. Nevertheless, there is an advantage to the terseness of the DDT control language that should not be lost to increasing sophistication. This matter will be discussed in the section on Representation Language. The point here is that one part of what the user types is essentially an instruction to the system, telling it what to do to an object, and another part is the object on which the system is to act. This fundamental distinction will probably never disappear. However, it will not long remain as simple as it is in DDT.
One of the first necessary complications of the distinction between the control mode and the communication mode has already appeared in several on-line languages and is also found in DDT. It is the "execute" command. The execute command instructs the system to consider the object communicated no longer as an object to be processed but as a command to be implemented. The computer therefore executes the communicated message as an instruction. This corresponds approximately to removing the quotation marks from a string of characters of ordinary text. Several groups have recently built into ALGOL the capability of removing the quotation marks from a string of characters and executing the string as an ALGOL procedure.
We may expect a continual development of on-line interaction languages until the residual distinction between control and communication mode is carried partly by the syntactic structure of statements and partly by context. In the work with programs discussed earlier, for example, the system programmer first examined the programs, treating them as objects, and then tested them, causing the system actually to carry out the procedures.
The convenience of having local context or mode implicitly define terms and particularize procedures for him may to some extent be countered by the responsibility, thrust upon the user, of continually keeping track of the prevailing mode. However, one of the basic facts of man-machine interaction is that, although the responsibility for keeping track of mode or situation causes great difficulty in monitoring, it causes almost no difliculty in truly symbiotic interaction. In truly symbiotic interaction, the human partner is always active, always involved in directing, always "ahead of the game." In monitoring, on the other hand, he tends just to sit there, waiting for an alarm to alert him to action. When the alarm goes off, he does not know what the situation is, and it is difficult or impossible to find out in time to do anything effective. It does not help the monitor much to display to him the developing situation, either in summary or in detail, for it is almost impossible for him to think ahead constantly if his thinking has no effect on what happens. In our conception of man-computer interaction in procognitive systems, however, the man is no mere monitor. He is a partner -- indeed he is usually the dominant, leading partner.
On-line interaction introduces into the language picture the possibiUty of "conversation." This possibility, together with the need to bring on-line languages abreast of conventional programming languages, opens an inviting field to research and development. It seems to us desirable to move rapidly beyond the simple dichotomy between the control and communication modes and to develop a syntax in which it will be possible to express commands, state facts, and ask questions in any convenient sequence.
The most economical approach to that objective appears to be to direct all the operator's signals, except one special "terminator" signal, into a buffer. The operator can put as long a string as he likes into the buffer. When he wants the signals to control action or to be acted upon, he presses the terminator key. The computer at once recognizes the terminator and calls a translator, a program that sorts the contents of the buffer into commands and data and puts them into a format determined in part by the syntax of the language and in part by the needs of the programs to be controlled or employed. The translator initiates the requested actions by executing the first command. From then on, processing follows the course determined by the commands in interaction with the program.
What is needed, we believe, is a synthesis of the good features of the several approaches that have been mentioned in the foresoins; discussion. In order to control complex processes, an on-line interaction language must have a sophisticated syntax and a large vocabulary. At the same time, to cater to the user's convenience, it should minimize the requirement for complex or manifold control actions, and it should encourage the kind of convergence upon understanding achieved in conversation. To facilitate learning, and to promote efficient utilization of programs, on-line interaction languages should be compatible with one another and should fit together into a coherent system.
The representation of information for storage and retrieval has already been discussed at length. Here we merely reiterate our conviction that both formalization and sophistication of language seem important for effective representation and efficient processing of a large corpus. We suspect that "the" representation language, if a single representation language ever becomes dominant over all its competitors, will be essentially a language system. It will have several sublanguages, specialized for different applications. Some of them may have as many syntactic categories as the natural languages and will distinguish among several thousand sharply defined semantic relations. Some of them may "understand" the complex interrelations among the semantic relations and the syntactic categories and deal competently with several dozen clearly defined information structures. Others will be simpler but less powerful.
We must distinguish between a language or sublanguage and its implementation through computer programming. One language or sublanguage may have several implementations, differing in compactness of packaging and speed of processing, but yielding the same answer to a given question and the same solution to a given problem. There will probably be a demand for two or more implementations of certain sublanguages in the procognitive system.
The over-all language will be a system because all the sublanguages will fall within the scope of one metalanguage. Knowing one sublanguage will make it easier to learn another. Some sublanguages will be subsets of others. There will be translators, as suggested earlier, to convert sets of data or domains of knowledge from one representation to another. One sublanguage will resonate with one discipline or problem, another with another. But the whole apparatus of representation will be internally consistent. It will be a coherent system -- if the day ever arrives.
Meanwhile, every effort should be made to find a way out of the present chaos of fragmentary and incompatible schemes for representation. Standardization of terms and formats will doubtless help. The main hope, however, appears to lie in the development of community computing systems. The economic impracticality of having a different system for every user will force convergence. There will be an active market place and a strong incentive to form coalitions. Perhaps one coalition will become a monopoly. Monopoly should not be allowed to stifle research on languages and representations, but it should be encouraged to foster coherence within the operating system.
In a sense, the whole of the procognitive system and its use is an adaptive, self-organizing process. The adaptive, self-organizing system includes, of course, the specialist personnel and the substantive users. One of the main goals to be sought through adaptive self-organization is recursive: it is increased effectiveness in growing, developing, adapting, and organizing. The other main goal, of course, is increased effectiveness in serving the substantive users.
Underlying the global aspect of adaptation and selforganization, there must be continual adaptation of the system to meet the needs of its users and a continuing development, on the part of the users, of the ability to take advantage of the services offered by the system and to improve the system in the process of using it.
We see the topic thus introduced as a very large and important one, but one that still remains almost unexplored. The prospects range all the way from simple adaptations that we know how to achieve, such as adjustment of the explicitness of user-oriented languages to the level of experience of the individual user, to regenerative self-organization of the procognitive system through its use by schools, colleges, and universities in education and in research. We have done enough work in computer-aided teaching and computer-facilitated study to sense that a procognitive system might contribute greatly to education by increasing the rewards to be won through intellectual effort. Let us end this section in a lower key, however. The console of the procognitive system will have two special buttons, a silver one labeled "Where am I?" and a gold one labeled "What should I do next?" Any time a user loses track of what he is doing, he can press the silver button, and the recapitulation program will help him regain his bearings. Any time he is at a total loss, he can press the gold one, and the instruction program will explain further how to use the system. Through either of those programs, the user can reach a human librarian.