Page images

the adaptive system will allow completion of all calls provided the number of simultaneous calls is less than or equal to the number of system channels. The adaptive system is thus similar to the telephone system where each user has a private line, but the number of trunks connecting the lines is less than the number of lines." (Horne et al., 1967, p. 120). 3.25 "In the distributed network routing scheme if the preferred path is busy, the in-transit Message Block is not stored, but rather sent out over a less efficient, but non-busy link. This rapid passing around of messages without delay, even if a secondary route must be chosen, is called a 'hot-potato' routing doctrine.

"With such a doctrine, only enough storage at each node need be provided to permit retransmitting messages if an acknowledgement of correct receipt is not received from the adjacent station within a prescribed time interval. Message storage capacity is modest. . . .

"A dynamically-updated routing table stored at each node indicates the best route for each Message Block to take to reach its directed end terminal station... When two messages seek the same preferred line, a random choice is used to select which message is sent out over the best path . . . Simulation has shown that this use of secondary paths in lieu of storage is a surprisingly effective doctrine, enabling transmission of about 30-50 per cent of the peak theoretical capacity possible in a store-and-forward system having infinite storage and infinite delays." (Baran, 1964, pp. 9, 12).

3.26 "If empirical data were available in the information field we could use an input-output matrix. On the input side the various international and national information services should be included. Many of these services act also as users of the input from other services, and they process it for their own purpose. Thus the output side will also contain most of the same services. The content of the matrix should be information just as an economic matrix will contain employment, goods or services. The economist expresses his flows in dollar values, since money is the conventional substitute. A convention measuring the information flow of documents has to be developed." (Tell, 1966, p. 119).

3.27 "Based upon information taken in these [Lockheed] studies, it is quite clear that long term information exchange requirements will include wide band data and image transmission and that data entry points may ultimately involve more than 10,000 terminals throughout the nation." (Johnson, 1967, p. 7).

"The issues of communication in the sense of the electrical transmission of data have come to the forefront during 1966. Most computer-system implementers and users are encountering the problems of communication engineering for the first time. Many have found disquieting the fact that the element of system cost arising from the necessary datacommunication support of large, multiaccess systems is surprisingly large- often of the same order as that of the central computer facility." (Mills, 1967, p. 244).

4. Input-Output, Terminal Design, and Character Sets

4.1 "The display-computer interface is a generalized requirement of all displays and provides computer buffering for the display system. In addition, some systems may require logic level and/or word length changes from computer to display. These operations are also performed by the interface." (Mahan, 1968, p. 9).

4.2 Plans for implementation of an experimental network for the Advanced Research Planning Agency (ARPA) have been reported as follows: "The ARPA contractors' network is . . . in the planning stage. As one of the nodes of this network, SDC would receive a small computer (of the PDP-8 class) as an interface message processor (IMP). All other nodes in the network would likewise have a similar IMP. The IMP would be two-faced: one view. facing the local contractor's time-sharing system; the other facing other node IMPs. In this fashion, network protocol would be standardized at the IMP, while still maintaining the flexibility of permitting dissimilar local time-sharing systems to be included as nodes. An IMP will support up to two local time-sharing systems, thereby permitting local

networking via the IMP." (System Development Corp., 1968, p. 1-13).

4.3 "A method must be devised to develop the storage adress of a record from a key in the record itself. This is usually referred to as a randomizing formula. What is implied is an arithmetical operation on a key in the record to develop from this key an actual storage address for the record. Study is required to ascertain which technique or formula provides a good file utilization, with the least number of common addresses for different keys to keep overflow records down." (DeParis, 1965, pp. 30-31).

"The logical address of a data item defines the relative position of the item within the structure of the data base. The logical address is coded so that a unique code may be created for each item in the data base. The logical code is a numerical representation of the nodes in the multi-list tree structure of the data base, and is called the Item Position Code." (Barnum, 1965, p. 50).

"The technique of hash addressing by randomizing the input word was used to generate an address for the dictionary look-up. This method results in

376-411 O-70-5

the address of the first element of a chain of words in storage, each of which yielded the same random address. An examination of the chain would proceed in sequence until the word was found or until the last element of the chain was compared." (Baker and Triest, 1966, p. 3-13).

"Every word encountered in the scan of an input text, i.e., during the actual operation of ELIZA, is randomized by the same hashing algorithm as was originally applied to the incoming keywords, hence yields an integer which points to the only possible list structure which could potentially contain that word as a keyword." (Weizenbaum, 1966, p. 38).

4.4 "The concept of on-line information control implies the ability of such users of the system to change the performance of the system to meet their own changing needs or wishes. With adequate control, they can experiment with the display of alternative data formats or configurations, with alternative sequences of data retrieval, with alternative formulae for summarizing, processing, or analyzing data." (Bennett et al., 1965, p. 436). "Other suggestions indicate the need to reconcile data formats of considerable variety." (Brown et al., 1967, p. 54).

4.5 "Special provisions (perhaps in the software) may be required to prevent overlap of symbology, as might result from adjacent aircraft tracks. (Israel, 1967, p. 208).

4.6 "Time-shared computers need an accurate, versatile clock to schedule programs, subroutines or problems, and to synchronize the computers with a desired time base. Large computer systems usually have their own built-in clock, but smaller units used in a time-sharing mode must be modified by the addition of an external clock." (Electronics 38, No. 23, 194 (1965).

4.7 The question of color on output is reflected first in the more conventional documentation or library situation. Thus it is to be noted that "the use of color in printing is of increasing importance", but that there are questions of whether copies in color, such as the color film versions of valuable manuscripts supplied by the Bodleian Library or the French Bibliothèque Nationale (Günther, 1962, p. 8), can be preserved over extended periods of time. (Applebaum, 1965, p. 493).

4.8 "The term 'graphical communication' presupposes a graphical language in which pictorial information is transmitted between the designer and the computer." (Lang et al., 1965, p. 1).

4.9 "M. Stafford of Westboro, Mass. . . . discussed the ways in which graphic communications systems are currently used, with emphasis on their interface between computers and information storage centers. Some examples of their use, he noted, are to send signature samples and information on accounts between a main bank and its branches, to send weather maps and technical drawings across the country, and to send pages of newspaper copy between cities." (LC Info. Bull. 25, App., 288 (1966).)

[blocks in formation]
[ocr errors]
[ocr errors]

"Desire to display data rapidly places a premium on the efficiency of the graphical language used at the display level." (Dertouzos, 1967, p. 203).

"The CAFE system permits definition of, or selection from, a library of pictorial elements (static and dynamic), formation of complex pictures from simpler ones, and parameter control of their individual display characteristics as well as their synchronization into a sequence of composite displays. Once a pictorial element is defined by the user-editor, it is readily available by reference to a name supplied at the time of its definition." (Nolan and Yarbrough, 1968, p. C103).


methods for expressing scope output and console input operations have produced a great deal of display programming activity. The obvious advantages over assembly coding of clarity, brevity, and fewer mistakes are a strong incentive for users. The compiler-compiler system on TX-2 has made relatively easy the implementation and evolution of an extended highlevel language based on ALGOL. The language, called LEAP (Language for Expressing Associative Procedures) has associative data structuring operations, reserved procedure forms for display or input manipulation, and real time variables such as the clock time and tablet stylus coordinates. Direct means for invoking the symbol recognizer's services are even incorporated. A 'Recognize' statement gets a symbol from the tablet just as a 'Read' statement gets a symbol from the console keyboard. Writing interactive programs which use the display is straightforward, and experimentation and modification can be rapid.

"Having LEAP available as a programming tool has facilitated the evolutionary development of application programs for graphical programming, data analysis, logic diagram input, and integrated circuit mask layout. The largest effort has been on circuit mask programs. A circuit designer controls the mask layout program with freehand figures sketched on the Sylvania tablet. The computer recognizes his rough marks as commands to create, move, group, and delete various integrated circuit components. Once a circuit design is complete, output tapes for each of the mask levels required can be punched for later use by a precision patterns making machine. Individual variations among designers in drawing style are accommodated easily by the trainable recognizer." (Sutherland et al., 1969, p. 632).

"First of all, this language must be concise and easily learned. It should permit the user to specify

the various features of a drawing in the natural order in which they occur to him and in a continuous stream rather than in segmented form in separate statements. For publication purposes, it must give the user direct and ultimate control of every line drawn if he so desires. Yet, where applicable, the user should be able to cause a particular version of a whole superstructure to be generated by the system merely by specifying a few simple options. Toward this end, the language should include the facility to construct higher level statements from the basic language statements. It is envisioned that a set of such user defined' statements could be developed by an experienced programmer for a particular application. Once defined, such statements could then be used by non-programmers without knowledge of their genesis. Preferably, the language should meet the needs of users of widely varying computer experience. At one end of the scale it should appeal to a user essentially untrained in computer programming for the simple transcription of drawings from a rough draft. At the other end of the scale it should satisfy a user desiring to generate pictures controlled by algorithm at execution time. Drawing on a conditional basis is particularly attractive for applications such as circuit drawings and the production of musical scores. Finally, the implementation of this language should readily accommodate minor changes in syntax dictated by user experience. In addition, it should be designed to run easily on a variety of computers, and hopefully on a variety of terminal CRT systems, such as the Stromberg Carlson 4060 or the RCA Videocomp." (Frank, 1968, p. 179).

"For the past five years, hardware has existed that allows a computer user to enter drawn, printed or written information directly into a computer as easily as writing with pencil on paper. The missing element that would make such devices viable entities in computer systems has been the appropriate software support. At SDC, we are developing the necessary programs to allow a user scientist to hand-print, on-line, two-dimensional two-dimensional structures required in the statement and solution of his problem. These programs include an on-line, real-time character recognition program that is independent of both position and size of the input; editing programs that can deal with two-dimensional entities (as opposed to linear strings); and contextual parsing programs that re-structure the recognized, edited input for subsequent processing. This work is being done within the constraints of the SDC Q-32 TimeSharing System

"The editing facilities are simple and straightforward, requiring a minimum of effort on the part of the user while providing repositioning, erasure, replacement and insertion for such diverse notations as mathematics and organic chemical structures." (Bernstein and Williams, 1968, p. C84).

4.10 "The display information is stored in a ring-type list structure, which reflects not only the order in which parts of the display are to be pro

duced, but also the associations which may exist between parts of the picture. A display routine within the executive threads its way through this ring structure transmitting the data if finds in the structure to the display generator." (Forgie, 1965, p. 606).

4.11 "A three dimensional windowing subsystem is available for the AGT [Adage Graphics Terminal] in which upper and lower bounds can be placed (in digital registers) on x, y, and z. The vector generator then blanks whenever the beam goes beyond one of the bounds, and it also tells the program which bound was exceeded. This device finds use in a number of applications including uncluttering pictures, testing the dimensions and intersections of solids, and splitting the CRT screen up into rectangles allocated to different pictures, which can then move beyond the 'edge' without encroaching upon its neighbor's display space.' (Hagan et al., 1968, p. 753).

4.12 "Early graphics systems, such as the GM DAC system and Sketchpad, were little better than automated drafting boards. This statement is not intended in any way to belittle their efforts, but merely to underline the fact that there was very little that could be done with a picture once it had been generated. Certain of Sutherland's illustrations are quite startling in their apparent sophistication, but generally return to the use of constraints (which were satisfied using least squares fit, which is an energy constraint in engineering). In endeavoring to ascribe meaning to pictures, later investigators were forced to use data structures in a more sophisticated manner, and it became obvious that associations should be much more complex than the original ring structures, etc. The CORAL language, APL, and AL, the language described by Feldman, are all outgrowths of the need to ascribe extra associations and meanings to a picture. Many are now working on this problem but information in technical literature is relatively sparse. To illustrate the techniques being developed at the University of Michigan, and to show the power of the associative language, a detailed example will now be given." (Sibley et al., 1968, p. 553).

4.13 Some other examples of experimental capabilities in this area are as follows: "GRIN [(GRaphical INput) language] is particularly suitable for use in problems requiring the extensive real-time manipulation of graphical information at the console. It takes full advantage of the incremental display structure of the scope . . . Thus, if a display part is composed only of a sequence of incremental words, its position on the display scope can easily be changed by changing only the initial absolute entry point. Also if a part is represented only incrementally, it can be called up using the display part subroutine linkage at many places on the scope face. The part has to exist in storage only once, however." (Ninke, 1965, p. 845).

"The GRIN-2 (GRaphical INteraction) language is a high-level graphical programming language that

permits the generation and manipulation of the graphical data structure, and provides statements for controlling real-time man-machine interaction. The interaction portion of the language is used with the GRAPHIC-2 graphical terminal. The rest of the language pertains to the common data structure used by all graphical devices and terminals.' (Christenson and Pinson, 1967, p. 705).


[ocr errors]

"The PLOT operator is used to create a picture on the oscilloscope corresponding to the graphical language statements . . . It builds a list of 'console commands' (plot a point, or a line, reposition the beam etc.) known as the display file, which are interpreted by the display console hardware so producing the desired picture." (Lang et al., 1965, p. 39).

"VITAL (Variably Initialized Translator for Algorithmic Langauges), a general purpose translator for the Lincoln Laboratory TX-2 computer, is currently being adapted for use as a graphical control language translator." (Roberts, 1966, p. 173).

"The MAD language offers a powerful facility to programmers to tailor their compiler to fit their application, viz., the MAD operator-definition facility. Using this part of the MAD compiler, the programmer (or programming staff) can extend the compiler by introducing new operators and new operand mode definitions into the language. In the formulation of any graphical language, the MAD operator-definition facility should play a large role. The syntax extensions we are describing in this paper are those which cannot be encompassed within the operator-definition facility. The listprocessing facilities described in the last section resulted from the examination of the L6 syntax, and the identification of these elements which were beyond the scope of the operator-definition ability. The rest we leave for development at the MAD programming level.

"In a similar fashion, we have tried to identify those elements of graphical language which were beyond the scope of the MAD syntax for their possible incorporation into the compiler. The one example of a graphic language which encompasses most of the desirable elements is the LEAP language of Feldman and Rovner. This language is an ALGOLtype language which includes elements of set operations as well as Feldman's own method of representing graphical relations. LEAP is predicated on a highly elaborate but efficient method of data storage involving hash coding, but the details of the implementation do not concern us here. What does concern us, however, is the language syntax, insofar as it is incompatible with a MAD representation." (Laurance, 1968, p. 392).

"The subject of data structures has received a great deal of attention in the past few years, especially in relation to computer-aided design. Programming systems used for creating data structures (sometimes dignified by the name 'graphical languages') vary greatly in the rigidity of their representation and the types of facilities offered to the

programmer. As an example of a high-level system, we can mention the formal language LEAP, in which the programmer can easily manipulate the logical elements of his model, and the structuring of the information (in the form of hash-coded tables) is performed automatically by the language system. At the other extreme we have a language like L6 which is a macro language useful in creating arbitrary list structures. The difference between these two 'graphical languages' is so great that one could easily conceive of implementing the LEAP language using the L6 language. An excellent review of this subject is given by Gray." (Laurance, 1968, p. 387).

"Only two other compiler-compiler systems which cater for graphics with Computer Aided Design in mind are known to the author. The first of these, AED, due to Douglas T. Ross is a very long-standing and general systen of great interest. GULP only attempts a small part of this generality; as AED has been justly called 'a system of systems for building systems'. AED processes graphic language using a macro-processor in a different way from the character definition of GULP. AED is also able to deal with contextdependent languages, and with more general types of precedence besides including an ALGOLlike compiler and many special-purpose packages for design; e.g., POLYFACE." (Pankhurst, 1968, p. 416).

"It is of vital importance that the language facility for the Computer-Aided Design System include not only flexible descriptive and programming languages in word form, but a generalized capability for graphical communication as well. There are many aspects of design in almost any field, for which the natural means of expression is in terms of pictures or diagrams, and any attempt to convey equivalent information in verbal form would be extremely unnatural and awkward, and would defeat the basic principle that the designer-user be able to operate in a manner which is natural to him." (Ross and Feldman, 1964, p. 15).

4.14 "Even within equipment classes there is a wide variation in keyboard arrangements. Though the alphanumerics generally correspond, the availability and location of special characters is by no means standard. Functional controls are even more varied, and in the case of devices using complex editing features (the alphanumeric display device) the number, type, function, and placement of functional controls is completely dissimilar between manufacturers." (Auerbach Corp., SDA, 1967, p. 2–10).

"For the inquiry/display console, the major problem is that of determining the proper functions to implement for the user." (Hobbs, 1966, p. 44). "Other operator input devices are available various consoles. Alphanumeric keyboards and function keys are used. Some function keys use plastic overlays for additional coding. Track


balls and joy sticks are preferred by some users. The Rand Tablet, which provides an easy method for graphic input, is available as an accessory in several systems." (Machover, 1967, p. 158).

"About a half of the available buttons are left unprogrammed, so that every user can tailor the system to his own particular needs by constructing just those operators which are useful to him at a given moment. A paper overlay is used to mark the labels under the buttons . . . The system provides operators which allow each user to keep his own private programmed pushbuttons and functions in a deck of cards. The same programmable buttons may then be utilized by different users for completely different purposes simply by reading in a small deck of cards at the start and punching out a new deck when someone else wants to use the system." (Clem, 1966, p. 136). "Registration . . . is important in systems using multiple display projectors or sources. Display overlays are a prime example where static information is projected over the dynamic display. It is very important that the images are properly registered with respect to each other. In general, registration accuracy should meet or exceed the resolution of the display in order that misregistration not be detected." (Mahan, 1968, p. 5).


"... Better determination of the proper functions to mechanize in the display to facilitate the human interface, including the appropriate human factors determination of the appropriate trade-offs between manual and automatic functions." (Hobbs, 1966, p. 1882).

"In addition to the standard typewriter keyboard, the CRT set will contain 40 special function keys as well as several cursor control keys. Through the use of plastic overlays, the meaning and purpose of the special function keys can be changed when the sets are used for different application modes." (Porter and Johnson, 1966, p. 81).

[ocr errors]

"Manual input to the [IBM 2250] display unit is effected by one of three devices - an alphanumeric keyboard, a program function keyboard and a light pen . . The program function keyboard contains 32 keys designed to allow the operator to indicate program interpretative functions to the computer by means of a single key depression . . . Any significance can be ascribed to . . . [the keys] depending upon the requirements of the operator and the program." ("IBM System/360", 1965, pp. 298-299).

4.15 "A system is described in this paper for developing graphical problem-oriented languages. This topic is of great importance in computer-aided design, but has hitherto received only sketchy documentation, with few attempts at a comparative study. Meanwhile displays are beginning to be used for design, and the results of such a study are badly needed. What has held back experimentation with computer graphics has been the difficulty of specifying new graphic techniques using the

available programming languages." (Newman, 1968, p. 47).

"The major problem is the development of sufficiently versatile programming languages directed at graphic, interactive devices." (Flynn, 1966, p. 99).

"Unlike conventional computer languages, graphical languages have received little study, and their formal properties have not been examined in depth. The lack of precise ways to formulate and represent graphical language fundamentals impedes the use of graphical techniques in many problem areas." (Sutherland, 1967, p. 29).

4.16 "The types of phosphors used in current alphanumeric display terminals are of relatively low persistence. To present a display that is suitable for viewing and free from annoying flickering, the display must be continually regenerated. Buffer storage is provided within the central controller or within each display unit to store data entered locally or received from the remote computer. Logic circuitry within the controller or display unit utilizes the buffer storage to regenerate the display, usually 30 to 40 times per second." (Reagan, 1967, p. 33).

"Continual regeneration of a short persistence CRT for flicker-free viewing demands high data transfer rates, or considerable buffer storage; but in return for this outlay comes ready communication by single photosensor pens and a medium for highly dynamic displays. However, the attendant costs are related to regeneration rates established by persistence of vision criteria and are disproportionate to the dynamic content of the majority of displays where static text and diagrams prevail for seconds." (Rose, 1965, p. 637).

"While the maximum required number of flickerfree lines varies greatly among applications, a vector construction rate of 10 microseconds per inch for the larger component, plus a memory access and decode time of not more than three microseconds per vector, should satisfy the requirements for most applications. A refresh rate of 30 frames per second would display about 2,600 connected one-inch lines." (Chase, 1968, p. 26).

4.17 "By modulating the electron beam with. several differential selectable frequencies, one could 'color' or 'classify' various displayed points on the CRT screen." (Haring, 1965, p. 854).

"The light pen allows good feedback in pointing since programming can brighten what unit is being seen, or display only the total unit being seen. The importance of such feedback cannot be appreciated until one works with a graphical system." (Ninke, 1965, p. 844).

"In addition to selecting point locations by means of the tracking cross, the light pen can be used in another interesting mode of operation known as the pick function. After a figure has been drawn by the operator, or is generated on the basis of computed data, the operator may desire to select a particular curve, component, line of text, or other distinct element which is a part of the picture. He may do

« PreviousContinue »