Interactive maths at Lincoln Labs
Jack Gilmore MIT 1957
Interactive math including matrix operations, on TX-2 at the Lincoln Laboratory
Univac LARC is designed for large-scale business data processing as well as scientific computing. This includes any problems requiring large amounts of input/output and extremely fast computing, such as data retrieval, linear programming, language translation, atomic codes, equipment design, largescale customer accounting and billing, etc.
University of California
Lawrence Radiation Laboratory
Located at Livermore, California, system is used for the
solution of differential equations.
Outstanding features are ultra high computing speeds and the input-output control completely independent of computing. Due to the Univac LARC's unusual design features, it is possible to adapt any source of input/output to the Univac LARC. It combines the advantages of Solid State components, modular construction, overlapping operations, automatic error correction and a very fast and a very large memory system.
Outstanding features include a two computer system (arithmetic, input-output processor); decimal fixed or floating point with provisions for double
precision for double precision arithmetic; single bit error detection of information in transmission and arithmetic operation; and balanced ratio of high speed auxiliary storage with core storage.
Unique system advantages include a two computer system, which allows versatility and flexibility for handling input-output equipment, and program interrupt on programmer contingency and machine error, which allows greater ease in programming.
in [AFIPS JCC 28] Proceedings of the 1965 Fall Joint Computer Conference FJCC 1965 view details
in [AFIPS] Proceedings of the 1966 Fall Joint Computer Conference FJCC 29 view details
AMTRAN is a multi-level language. It can be used by the Systems programmer at the level of bit manipulation or by the applied mathematician with no prior knowledge of computing, or by practitioners at any intermediate level. The system can be used in an on-line, conversational mode or in an off-line, batch-processing mode or in any combination of the two. The keyboards, cathode ray scopes and typewriters provide low-cost adjuncts to the usual card, printer, tape, and plotter attachments.
Three objectives have been of primary importance in the development of the AMTRAN system.
First, a scientist or an engineer with no background in computer techniques should be able to solve relatively straightforward mathematical problems with little or no instruction in the use of the AMTRAN system. For this purpose, the system has standard "convenience" operators in the language of classical mathematics, such as F, d/dx mini-max, etc., which suffice for a large fraction of the problems commonly encountered by the scientist or engineer.
Also, the AMTRAN language has been considerably streamlined to permit the user to "converse" with the computer in the natural language of mathematics. For example, the system provides automatic array arithmetic, automatic dynamic dimensioning of arrays, no declaration of variables, automatic assignment of working storage, implied multiplication, natural-English input and output, "picture" formatting, and other adjuncts to natural mathematics.
Second, the programmer and the more experienced user'should be provided with the capability to construct their own programs and operators at the keyboard so that they can handle problems for which the standard set of operators is inadequate and so that they can take advantage of the extremely short turnaround times which are characteristic of conversation-mode programming. This requirement has been met by including algol 60 programming capabilities with certain programming extensions?e.g., high- level logical and transfer instructions, extensive list-processing and symbol manipulation capabilities, graphical input and output instructions, etc. Perhaps the most important feature is a simplified procedure-and-operator generation arrangement which permits the construction from the keyboard of general-purpose "super-instructions." These can then be stored in a disc-file library. This means that the programmer is not restricted to 30 to 40 basic FORTRAN-level instructions, but can, in effect, draw upon a repertoire of hundreds or thousands of general-purpose mathematical and logical procedures as building blocks for his programs.
Third, the system must be economically competitive with batch-processing systems in speed and storage. This requirement will be met through an incremental compiler. Extract: Conclusion
An effort has been made in the development of AMTRAN to develop a broad-based programming system which spans the spectrum from a streamlined machine language for the professional programmer to the highest level mathematical operations (for the scientist or engineer).
In addition to the writing of an incremental compiler, future plans call for effort in the areas of symbol manipulation, automatic numerical analysis, and the introduction of new simplified basic programming operations. It is hoped that these improvements, particularly in the symbol manipulation area, will improve the programming checkout and debugging rates beyond their present values. Turnaround times are presently running 5% to 10% of the batch processing rates.
An interesting result of our demonstrations has been the response of scientists and engineers to the system. The reaction is invariably "Where can I get one of these?". There is no doubt that a market exists for a conversational-mode computer system which speaks the natural language of. mathematics as nearly as possible, and which relieves the user of all those programming and analytical bookkeeping operations which can be prescribed in "cook-book" terms. Of course, incorporating the procedures of classical and numerical analysis into an on-line computer system is a formidable task. Nevertheless, we hope AMTRAN will provide a first step toward everyday use of an automatic mathematical system for on-line computation.
Extract: Other conversational mode systems
Other conversational mode systems
The basic inspiration for AMTRAN was the Thompson-Ramo-Wooldridge on-line computer system originated by G. J. Culler and B. D. Fried and later extended by Culler at the Univ. of California (Santa Barbara). The Culler-Fried system utilizes a 5-inch Tektronix storage scope, a typewriter keyboard, and another typewriter keyboard with specially-labeled operator keys. The system possesses the ability to handle complex numbers, two-dimensional arrays, vectors and matrices. It is designed to permit the console programming of operators or instructions and it also provides array arithmetic. It is very fast in execution. Although there are similarities between AMTRAN and the Culler-Fried systems, there are also sizable differences.
Another early conversational mode system consists of the RAND Corporations highly-polished JOSS system, which has formed the basis for the Burroughs INTERP system and the SDS CAL language. Four more recent conversational mode languages are quiktran (ibm's conversational-mode fortran system), and the MAP, Reckoner, and COGO systems. The Reckoner and MAP systems are quite similar to AMTRAN in their provision of a streamlined, applied-mathematics language for scientists and engineers. The COGO system is a problem-oriented language designed to accommodate civil engineering problems.
Two on-line batch-processing systems which use special high-speed compilers consist of the Klerer-May system and Dartmouth's BASIC language. The Klerer-May system is particularly strong in its emphasis upon natural mathematical formatting of its input and output. General Electric has implemented BASIC on a commercial basis.
AMTRAN differs from the preceding systems in various ways. It has been given certain features intended to facilitate future research in applied mathematics. It should be emphasized that AMTRAN is a full-scale ALGOL-type programming system and not a simplified language designed only for small computations or for a narrow range of problems.
Two restricted versions of AMTRAN are presently available which can be used on any IBM 1620 computer with floating point hardware and indirect addressing capabilities.
One version is intended for 1620's with 40,000 digits of core storage while the other is designed for 60,000 digit machines. No special equipment is needed except for the usual console typewriter and a card-reader punch. Copies of these 1620 programs are available from the authors upon request.
Although these restricted versions are designed for small core machines, they possess considerable power. Virtually all of the capabilities of the 1620 version of fortran ii are present, in addition to automatic array arithmetic multi-level programming of operators, rudimentary symbol manipulation capability, the Algol IF test, subscripted subscripts, and above all, the ability to deal with straightforward problems at approximately. the level of classical mathematical analysis. Through an encoding arrangement, this system can store up to 50 console programs or subroutines and can accommodate matrices or two-dimensional arrays up to 25 x 25. (When small desk-top computers become economically feasible, a 4-8,000 word edition of AMTRAN could combine the mathematical power of a digital computer with the simplicity and convenience of a slide rule.)
A more elaborate system utilizing one of the special terminals -described in this article has been implemented on IBM 1620 mod II computer with a disc file.
Although the writers have had very favorable experience with keyboards and visual displays, considerable effort has been expended in rendering AMTRAN compatible with typewriter and teletype input and output, since the latter are cheaper than full-scale AMTRAN terminals.
An extended version written in Algol 60 is currently under development in collaboration with the Burroughs Corporation. This time-sharing AMTRAN incremental-compiler will act like a single program in the multi-processing B5000 or the faster (800-nanosecond cycle time) B6000 computers.
Finally, the Brown Engineering Co. is presently developing an AMTRAN incremental compiler for the IBM 1130 computer. Extract: Hardware Configuration
As previously mentioned, a typical AMTRAN terminal consists of a large keyboard, one or two cathode ray scopes, a Polaroid camera for the scopes, and a special Selectric typewriter. A stylus or "electric pencil" will soon be available to enter graphical information to the computer.
The keyboard has two classes of buttons: labeled buttons which are permanently programmed and unlabeled buttons which are "programmable" by the operator. Sufficient space is provided around the unlabeled pushbuttons so that the user may label them as he wishes on paper overlays provided- for this purpose. Since the number of pushbuttons is necessarily limited, they are used primarily for the more common functions and operators, such as the +, sin, and repeat operators, while mnemonic codes are used to call less commonly used operations such as the error function, or the Newton-Raphson method for solving differential equations.
Since the typewriter is used to call a great majority of operations, the question arises: Why use the keyboard at all? Briefly, when a typewriter is used to enter mathematical equations, entry becomes quite slow and prone to error. A conflict seems to arise in the user between the consideration of the problem and the mechanics of typing. On the other hand, the keyboard is relatively inexpensive, permits considerably faster entry than the typewriter, and provides important software advantages because it enters binary codes directly into the computer, bypassing the label-decoding process. Also, a special keyboard is quite desirable for certain special operations, such as those dealing with graphical displays. Most of the people who have used AMTRAN so far have preferred the keyboard-typewriter combination to the typewriter alone. Nevertheless a typewriter can be used in lieu of the keyboard at some reduction in performance.
Because of the large number of buttons and instructions associated with the keyboard, a full set of instructions has been stored on the disc file and the user may display them any time. A general instructions button has been provided on the keyboard to elicit a display of general instructions on the cathode ray scope and get the user'started. Thereafter, the user can get specific instructions regarding the use of any particular button by pressing the turn page button, followed by the button in question. Thus, the system can explain itself in a self-teaching fashion to the novice user.
The typewriter, used to provide a permanent record of the program, has an 88-character set, which includes most of the Greek alphabet and a large complement of mathematical symbols (Fig. 2). The complete AMTRAN typewriter unit currently under development will have the ability to index the roller upward or downward independent of the carriage return so that mathematical equations may be typed out in the format in which they appear in a mathematics textbook. The typewriter is also used to type out data and results (augmented by the line printer) and, in addition, can serve as a plotter. The reverse indexing feature makes it possible for the typewriter to plot and label a curve in 30-40 seconds.
The stations used by the authors incorporate two scopes so that one scope can present alphanumeric information while the other retains "blackboard" graphical displays. The alphanumeric scope is used to print out instructions and error messages, and while it does not provide hard copy as does the typewriter, its writing speed is much greater. Therefore, it may be used to compose segments of the user's program before entry into the computer. Once the input has been checked, it is released to the computer, at which point a type-out occurs. This rapid writing rate has afforded unexpected benefits in the rapid printing or alphanumeric information in comparison to the slow typewriter. The 5-inch Tektronix storage scopes used for this purpose are inexpensive, afford high resolution, and require no internal buffering; consequently, they can be operated over ordinary voice-grade telephone circuits. (An improved 11-inch scope will be available early next year.) The attached Polaroid camera provides excellent high-contrast photos of the data displayed on the scope face. It would also be possible to employ an on-line plotter which would be shared by several stations. The plotter would provide accurate hard copy plots of any desired data AMTRAN software can be implemented on almost scientific computer of any reasonable size and speed, old or new.
in Datamation 12(10) Oct 1966 view details
in Proceedings of the 22nd national ACM conference 1967, Washington, D.C. view details
in ACM Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
in ACM Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
The Lincoln Reckoner system has been in routine use by the staff of the Lincoln Laboratory of the Massachusetts Institute of Technology since the spring of 1966, see Stowe et al. (1966), Wiesen et al. (1967), and Ruyle et al. (1967). The Reckoner system, designed to operate within the APEX time-sharing system for the TX-2 computer, is for on-line use in scientific and engineering research. The system in its present state does not provide all the services to an engineer or scientist that might be envisioned; instead, the development has been concentrated in the area of numerical computations on arrays of data. As of the summer of 1966 there were 64 operations available in the Reckoner public library. These include basic arithmetic on arrays, other arithmetic on arrays, data shuffling in two-dimensional arrays, matrix operations, signal analysis, input and output, and miscellaneous. The Reckoner is primarily a facility for making use of routines, not for writing them. The aim is to provide a system whereby a scientist can feel his way through the reduction of data from a laboratory experiment without previous programming experience or training. However, the capability to construct one's own routines is available in the form of a small algebraic compiler, called Junior, which can be utilized on-line.
The Lincoln Reckoner is an "operation-oriented" system, as are AMTRAN, MAP, OPS-3, and the Culler-Fried system. That is, the system tries to provide the operations (add, divide, integrate, differentiate, plot, etc.) that a user will need to solve his problem. The user then combines operations and operands so as to solve a particular problem.
in [ACM] ACM Computing Surveys 2(4) Dec1970 view details
The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.
There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.
The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.
Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .
It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.
The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.
It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.
We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.
Graz / Austria, May, 1973
in [ACM] ACM Computing Surveys 2(4) Dec1970 view details