« PreviousContinue »
compilation of the statement, not the complete program.” (1965, p. 462).
Time-sharing or time-slicing options and graphical communication possibilities cast new light not only upon the problem-oriented but also upon the useroriented languages and improved possibilities for man-machine communication and interaction. Effective compromises between the system design, the programmer, and the client have not yet been met, even although the demands of modern systems are increasing in complexity.
The problems of effective programming and utilization reach back beyond specific routines, specific languages, and specific equipment. They are involved in all the many questions of systems planning, systems managment and systems design. For example, in time-shared operations, “considerably greater attention should be focused on questions of economy in deciding on the tradeoff between hardware and software, in using storage hierarchies, and in determining the kind of service which the timesharing user should be offered.” (Adams, 1965, p. 488). Finally, the critical problems reach farther back than the potentialities of hardware, software and systems planning combined, to fundamental question of why, how, and when we should look to machines for substantial aid to human decisionmaking and problem-solving processes:
"An analysis of the various requirements that a programming language must satisfy (to be known both by the job-originator and the job-executor and to be capable of expressing both what the first wants to be done and what the second is capable of doing) involves basic researches on the linguistic nature of programming languages." (Caracciolo di Forino, 1965, p. 224).
tion. Certainly, for the future, “the entire spectrum of language from binary machine code to the great natural languages will be involved in man's interaction with procognitive systems." (Licklider, 1965, p. 104).
In the area of desired hierarchies of languages, we note such corroborating opinions as those of Salton who asks for compiling systems capable of handling a variety of high-level languages, specifically including list processing and string manipulations 5.68 and of Licklider who points out that in each of many subfields of science and technology there are specific individual problems of terminol. ogy, sets of frequently used operations, data structures, and formulas, indicating a very real need for many different user-oriented languages. 5.69 However, in his 1966 review, the first ACM Turing Lecture, Perlis concludes: “Programmers should never be satisfied with languages which permit them to program everything, but to program nothing of interest easily. Our progress, then, is measured by the balance we achieve between efficiency and generality." (1967, p. 9).
Moreover, even in a single system, it may be necessary not only to reconcile but to combine the contradictory advantages and disadvantages of differing levels of programming language in various ways. Thus Salton states “it is possible to recognize five main process types which must be dealt with in an automatic information system: string manipulation and text processing methods, vector and matrix operations, abstract tree and list structure manipulations, arithmetic operations, and finally sorting and editing operations.” (Salton, 1966, p. 205). A second complicating factor relates to the still unusually fluid situation with respect to hardware developments, logical design, and the increasing interdependence of hardware-software factors in the consideration of future system and network design possibilities.
Beyond the investigation, development, and experimental application of advanced programming languages for specific types of application such as graphical data processing, simulation, or on-line question-answering and problem-solving systems, study is needed of fundamental problems of programming theory.5.70 For example Halpern notes
... the increasingly wide gulf between research and practice in the design of programming languages.” (1967, p. 141), while Alt emphasizes that "we do not yet have a good theory of computer languages, and we are nowhere near the limit of the concepts which can be expressed in such languages." (1964, p. B.2-1).
, B.2–1) There is also to be noted in the current state of the art in the computer and information sciences an increasing concern for the relationships between formal modelling techniques, generally, the ques. tions of formal languages, and the development of powerful, general-purpose programming languages.5.71 Karush emphasizes that “the development of an integrated language of mathematical
5.1.4. Heirarchies of Languages and Programming
Direct machine-language encoding and programming was the first and obvious approach to both numeric and non-numeric data processing problems. In both areas, forms of communication with the machine that are more congenial to the human user have been developed, as formal "programming languages" (FORTRAN, ALGOL, COBOL, and the like).5.65 In addition, special program languages to facilitate either problemsolving and question-answering systems, or textual data processing, or both; (such as list-processing techniques, IPL-V, LISP, COMIT, SNOBOL, more recently TRAC, and others) 5.66 have been developed. More and more, however, it is beginning to be recognized that hierarchies of language are essential to present and foreseeable progress.5.67
Burkhardt (1965, p. 3) lists a spectrum of programming languages on the basis of the “declarative freedom available to the user, from absolute machine languages with none, to “declarative languages” which provide a description of the problem and freedom of both procedure and solu
and computer operations is part of a more general problem associated with the automation of control functions. This is the problem of formalism which embraces both mathematical representations of systems and representations of the processes of actual execution of systems, by computer or otherwise.” (1963, p. 81).
A similar concern is expressed by Gelernter: “Just as manipulation of numbers in arithmetic is the fundamental mode of operation in contemporary computers, manipulation of symbols in formal systems is likely to be the fundamental operating mode of the more sophisticated problem solving computers of the future. It seems clear that while the problems of greatest concern to lay society will be, for the most part, not completely formalizable, they will have to be expressed in some sort of formal system before they can be dealt with by machine.” (1960, p. 275).
High-order relational schemes both in languages and in memory structures will thus be required.5.7 For example, "the incorporation in procedural programming languages of notations for describing data structures such as arrays, files, and trees, and the provision to use these structures recursively together with indications of the scope of definition, will help greatly with the storage allocation problem and assist the programmer organizationally ..." (Barton, 1963, p. 176). In this connection, Press and Rogers (1967) have described the IDEA (Inductive Data Exploration and Analysis) program package for the detection of inherent structure in multivariate data.5.73
We note also that “even in the more regular domain of formal and programming languages, many unsolved practical and theoretical problems remain. For example, the matter of recovery from error in the course of compilation remains in a quasi-mystical experimental state, although some early results, applicable only to the simplest of languages suggest that further formal study of this problem could be worth while." (Oettinger, 1965, p. 16). Requirements for
for continuing research and development activities in the area of computing and programming theory are increasingly seen as directly related needs for more effective multiaccess time-sharing, multi-programmed, and multiprocessor systems. It can be foreseen that “Organizational generality is an attribute of underrated importance. The correct functioning of on-line systems imposes requirements that have been met ad hoc by current designs. Future system designs must acknowledge the basic nature of the problems and provide general approaches to their resolution." (Dennis and Glaser, 1965, p. 5).
What are some of the difficulties that can be foreseen with respect to the further development of hierarchies of systems? Scarrott suggests that "the problems of designing and using multilevel storage systems are in a real sense central
In the area of information processing systems themselves, current trends have been marked not only by new extensions to the repertoires of system configurations available for the large, high-cost, high-speed processors but also by a continuing tendency to the development of computer system "families." Increasing attention
“ is being given to both “upward” and “downward" compatibility – that is, to means by which programs operable on a large system may also operate on a smaller, slower, or less expensive member of the same family, and vice versa.
Increasing attention has also been given to providing adjuncts to existing and proposed systems which will give them better adapatability to timesharing and on-line multiple-access requirements. Similarly, the requirements for handling a variety of input sensing modalities and for processing more than one input channel in an effectually simultaneous operation clearly indicate needs for continuing research and development efforts in the design and use of parallel processing techniques, multiprocessor networks, time-shared multiple access scheduling and multiprogramming.
Hierarchies of languages are implied as we have seen, ranging from those in which the remote console user speaks to the machine system in a rela. tively natural language (constrained to a greater or lesser degree) to those required for the highly sophisticated executive control, scheduling, file protection, accounting, monitoring, and monitoring instrumentation programs.
Tie-in to various communication links, generally, should include remote consoles, closed circuit TV, facsimile, voice quality circuits, and the like, with capability for real-time processing. Message security protection facilities are often required, including encoding and decoding. Access to error detection and error correction mechanisms are also necessary.
Overall system design requirements indicate also the necessary exploitation of new hardware technologies, new storage media, associative-memory procedures for file and data bank organization and management, the use of dynamic reallocations of space and access to both programs and files or data banks in multiple-access systems, protective and fail-safe measures, and the development of hierarchies of languages of access and usage, hierarchies of stored data files, and hierarchies of
Many of the above factors are discussed in other sections of this report or in other reports in this series. Here, we will consider briefly some of the problems of central processor design, parallel processing, and hardware-software interdependence.
5.2.1. Central Processor Design With regard to the central processing system, it is noted that it should be operable in both time-sharing and batch processing modes, and that it provide simultaneous access to many users. Efficient mul. tiple access should be provided to the hierarchies of storage with the user having, in effect, virtually unlimited memory.5.75 There should be a capability for accessing either internal or auxiliary associative memory devices.
A continuing problem in processor-storage system design is that of address-circuitry.5.76 Closely related to this problem are questions of content-identification-matching whether for sequential or parallel access. Indirect addressing and multiple relative addressing via a number of index registers is an important consideration.5.77
Moreover, direct program access to all registers by ordinary instructions and with interlock protection features is often required. If the index registers can be simultaneously and interchangeably used as instruction counters, there are additional parallel processing benefits. For example, such capabilities can provide for jumping to the nth instruction from the present one, determining whether an instruction has been executed or not, and other flexible capabilities for debugging, diagnostic, and evaluation purposes. It should be possible to manipulate index registers several at a time.
System users may need a relatively long word length to provide numerical accuracy in long floating point values, for manipulation of large matrices, to provide duplex operations on two sections of the word simultaneously as in complex number process. ing, and the like. Automatic unpacking of word subsets in variable sized bytes is also recommended for future processor design. Salton indicates needs for “flexible instructions operating on individual bits and characters, and flexible branching orders. Pushdown store instructions, such as 'pop' or 'push' should also be useful for the list operations.' (1966, p. 209).
Also desirable is the ability to access a word simultaneously from more than one computer system or component with automatic protection interlocks in case of conflicts. Power-failure protection systems should be available and protection should also be provided against unauthorized access to various memory and data bank sections.
More flexible pagination 5.78 is needed for some important applications. For example, in graphic data processing, dynamic memory reallocation procedures requiring fixed pagination would be awkward to use and highly inefficient. Storage allocation should be under programmer control. For example, if pictorial data overflows the boundaries of a page, at least 4 and as many as 9 pages may be required since such data must be processed as a two-dimensional
array. The system designer needs to avoid as far as possible the problems of unnecessary and clumsy programming in order to apply a single procedure to such arrays. For example, Wunderlich points out in connection with sieving procedures for computer generation of sets and sequences that "there are obvious programming difficulties connected with sieving on a field of bits.” (1967, p. 13).
Another hardware-software desideratum here is obviously the need for efficient bit-manipulation capabilities. For example, the user would like to find, for a given gray-level representation of a graphic input that, at a given location and blackness level, some or all or none of the neighboring locations have the same blackness level recordings (this is important in eliminating “fly specks” from further processing, in filling-in “holes” that result from imperfect printing impressions, and also in determination of the relative locations of centers of blackness when attempting to reconstruct threedimensional imaging for serial sequences of twodimensional image representations).
Problems of computer design as well as programming for array processing are discussed by Senzig and Smith (1965) in terms of a worldwide weather prediction system and by Roos (1965) in terms of the ICES (Integrated Civil Engineering System) at M.I.T.5.79 Association matrices present a special form of data arrays requiring efficient manipulation and processing. Such considerations are particularly important in the experimental research or on-line instrumentation situations.5.80 In addition, bit
, manipulation and array.processing requirements are severely constrained in commercially available systems.
A requirement of major future importance (especially for chemical information searching, file, organization, mapping functions and graphic data processing) is for efficient bit manipulation capabilities, including convenient Boolean processing and transplant features. Again, bit manipulation capabilities are important because many operations require consideration of all the orthogonal neighbors of a single bit position.
In future system designs, increasing needs for multivalued logic approaches can also be foreseen. In general, a binary (two-valued) logic pervades information processing system design and the basic methods of information representation as of today. For the future, however, attention needs to be directed toward multivalued logic systems and to direct realizations of the n-ary relations between the data elements of stored information. There are new technological possibilities that point in this direction (e.g., new devices that are capable of at least ternary response,5.81 or multiple response by colorcoding techniques from a single “bit" recording on advanced storage media). In addition, parallel proc. essing, associative processing, and iterative circuit techniques point the way to new complexities of program command and control and to new, multivalued, processing opportunties as well.
Then, as Wooster comments: "Radically different on the sparcity of attempts made to date on the types of computers may well be needed. At present, potentials of parallel processing in programs for the best way of building these seems to be through many problems. He states further that while the the creation of logical structures tending more and tasks of segmenting the problem itself for parallel more in the direction of distributed logic nets, processing attack are formidable, “they must be wherein vast numbers of processes occur simultane- undertaken to establish whether the future developously in various parts of the structure. Right now, ment lies in the area of parallel processing or the best building blocks for such systems seem to be
." 5.90 Then there is need for judicious intermultifunctional microprogramable logic elements." mixtures of parallel and sequential processing (1961, p. 21).
techniques in specific design, programming, or Increasing complexity of central processor design application situations.5.91 is indicated by developments in advanced hardware Parallel processing potentials are also closely technologies; 5.82 while increasing flexibility is dic- related to, and may be interwoven with, multitated by dynamic reconfiguration requirements.5 processing systems which involve: “The simul. Modularity is an important consideration.5.84 The taneous operation of two or more independent critically challenging, interacting problems of both computers executing more-or-less independent design, programming and utilization of multiproc- programs, with access to each other's internal essors and of parallel processing are emphasized by memories. (Riley, 1965, p. 74). In particular, Brooks (1965), Amdahl (1965), Burkhardt (1965), and the Solomon Computer and Holland Machine conOpler (1965), among others. Thus: “The use of multi
cepts may be noted.5.92 For another example, computers implies intercommunication, with the increasing parallelism of operation of a multiple associated implications of interconnection, recon- access processing system has been investigated at figuration and interlocking." (Amdahl, 1965, p. 38). the Argonne National Laboratory in terms of an
“Intrinsic Multiprocessing” technique consisting of 5.2.2. Parallel Processing and Multiproce
n time-phased "virtual" machines which time-share The possibilities for the use of parallel processing
very high speed execution hardware (Aschenbrenner techniques should receive increased R & D atten
et al., 1967), while ILLIAC III has been designed tion. Such techniques may be used to carry out data
for parallel processing of pictorial data.5.93 transfers asynchronously with respect to the processing operations,5.85 to provide analyses necessary
5.2.3. Hardware-Software Interdependence to convert sequential processing programs into parallel-path programs,5.86 or to make allocations of
The earlier dichotomy as between “hardware" system resources more efficiently because con
and "software" considerations is beginning to yield, straints on the sequence in which processing opera
not only to the increasing interdependence of the tions are executed can be relaxed.5.87 Applications
two factors in many information processing applicato the area of pattern recognition and classification
tion requirements, but also to technological deresearch and to other array processing operations
velopments in "firmware" (in effect, wired-in are obvious.5.88
microprogramming 5.94) and to growing recognition of However, there are problems of effective use of
the critical importance of more precise and compreparallel processing capabilities. Some examples
hensive “brainware” in systems planning, design, of the discernible difficulties with respect to current specification, and implementation.5.95 parallel-processing research and development
Is it currently possible to separate computer and efforts have been noted in the literature as follows: storage system design considerations from those of (1) “Multiprogrammed processors will require
programming language design and of programmed
executive control? Several experts testify that, if it more explicit parallel control statements in
is still possible today, it will soon be so no longer.5.96 languages than now occur.” (Perlis, 1965,
It can be quite clearly seen that the areas of com(2) "Much additional effort will have to be put
puter theory and program design are becoming into optimizing compilers for the parallel
increasingly interdependent with those of adequate
programming languages, "software", and userprocessors that may dominate the computer scene of the future." (Fernbach, 1965, p. 84).
tolerance levels. At the same time, new possibilities (3) “Computers with parallel processing capa.
for multicommunicator, multiprocessor, and multi
user networks are increasingly coming to the fore. bilities are seldom used to full advantage.” (Opler, 1965, p. 306).
The growing interdependence is stressed, for
example, by Schultz (1967),5.97 and by Lock (1965) There are also problems of R & D concern in who notes the strongly increasing influence of programming language developments involved with multiprogrammed, on-line systems upon the orincreased use of parallel processing capabilities. ganization of the storage facilities. Scarrott (1965. The possibilities of "Do Together” provisions in p. 137) for another example, insists that "the compilers, first raised by Mme. Poyen in 1959,5.89 problems of designing and using multilevel storage add a new dimension of complexity for analysis, con- systems are in a real sense central to the design of struction, and interpretation. Fernbach comments computing systems."
Certain obvious overall system design requirements have to do with the further extensive development and application of advanced hardware technologies, especially opto-electronics generally (and lasers and holography in particular), with integrated circuit techniques, and with improved high-density storage media.
Recurrent themes in current progress toward very-high-speed, computer-controlled access to primary, secondary and auxiliary storage banks, from the standpoint of hardware technology, include the questions of matching rates of data-and/orinstruction access to those of internal processing cycles, and of the prospects for integrated circuit and batch fabrication advantages in design and construction.
These new technologies may also be combined in various ways. For example, Lockheed Electronics has been using deflected laser beams to scan photochromic planes very rapidly and very accurately, 6.1 laser and holographic techniques are conjoined in equipment designed to photograph fog phenomena in three dimensions, 6.2 and it has been reported that “laser devices show promise of very fast switching which together with optical interconnections could provide digital circuits that are faster than electronic circuits." (Reimann, 1965,
into three basic types: solid-state, semiconductor, and gaseous. Typical examples are the ruby solidstate laser, gallium arsenide semiconductor laser, and the neon-helium gas laser." (1966, p. 38).
Certainly, lasers, whether of the gas, fluorescent crystal, or semiconductor type, 6.4 are finding many new possibilities of application in computer, communication, and information processing systems.6.5 As sources of illumination they can provide greater display efficiency 6.6 and greater resolution with respect to display systems involving lightbeam deflection techniques (Soref and McMahon, 1965, p. 60),6.7 and they provide an effective aid to the boundary and contrast enhancement techniques for image processing developed at the National Physical Laboratory at Teddington, England. More specifically, this technology promises new developments in space communications,6.8 in memory construction and design, 6.9 in the development of analytical techniques such as Raman spectroscopy and photomicroscopy, in the identification of fingerprints, 6.11 in quantization of high resolution photographs 6.12 and in the use of holograms for collection, storage, and regeneration of two- and three-dimensional data.6.13
Small, very high-speed memories may be driven by laser beams,6.14 and laser components contribute to the design of "all-optical" computers 6.15 and computer circuits and components. 6.16 Laser inscribing techniques are being investigated for such applications as large screen real-time displays, 6.17 and for highly compressed data recording, for example, at Precision Instrument Company.6.18 As of March 1969, it could be reported that orders had been placed for UNICON systems by Pan American Petroleum Corporation, and were under consideration by several other organizations, including U.S. Government agencies.6.19 In particular, the National Archives and Records Service has been studying the possibilities of converting present magnetic tape storage to this system.6.20
Investigations of future technical feasibility of using laser devices for high speed data storage and/ or processing have thus been complemented by exploration of possibilities for recording onto very large capacity storage media as also in developments at Honeywell ,6.21 at the Itek Corporation, 6.22
6.1. Lasers, Photochromics, Holography,
and Other Optoelectronic Techniques
New hardware developments that are technically promising in terms of the long range research and development necessary to support future improvements in information processing and handling systems include the development of special laser techniques for switching, storage, and other purposes, and the possible use of holograms or kinoforms for 3-dimensional pattern recognition and storage.
6.1.1. Laser Technology
Writing in 1965, Baker and Rugari have pointed out that “a wide variety of lasers have been discovered and developed since the first laser device was operated five years ago. 6.3 Lasers can be classed