OLDAS(ID:334/old001)


for On-line Digital Analog Simulator.

Interactive version of MIMIC, for IBM 360.

Places
Related languages
MIMIC => OLDAS   Implementation

References:
  • Green, D. and Cornish, R. "DISPLAYTRAN a graphic oriented conversational system" pp8.1-8.42 view details Extract: Introduction
    Introduction
    In the first part of this presentation, I would like to spend a few minutes on background information on NWL and on the goals and history of the project of which DISPLAYTRAN is a part so as to put the work which will be described in its proper perspective. I will also describe briefly several other parts of this project which are of interest. The second part of the presentation will discuss DISPLAYTRAN at some length.
    NWL is a laboratory working under the direction of the Bureau of Naval Weapons. It has as its function research and development directed toward weapons and weapons systems as well as testing and evaluation of these. This work led quite early to a requirement for high speed, high precision digital computers, especially for work involving trajectory computations. As a result, the Aiken MARK II relay calculator was installed in 1946. This was followed by the MARK III in 1950, and the NORC in 1955. Currently the major computing facility is the STRETCH. A Stromberg Carlson Charactron tube printer-plotter was installed on the NORC in 1959 and still serves on its principal output unit. A similar device is available off-line to STRETCH users and is extensively used for both printing and plotting. Besides the large digital facility, there also exists at NWL a small analog computational facility, which is used in a variety of simulation problems arising in weapons development. This is currently being expanded.
    Besides its continuing interest in having the most up-to-date computing equipment available for use by its scientists and engineers, NWL has, of course, long been interested in those developments which would allow this hardware to be more effectively used by the programmers, scientists and engineers of the laboratory. While currently most programming is handled on a closed shop basis, by a staff of about 65 professional programmers, it was recognized several years ago that studies such as those at project MAC indicated both the potential usefulness and practicability of direct access and reactive or conversational computing.
    A project was therefore set up in the Programming Systems Branch of the Programming Division to investigate and study these developments and to see how they could be exploited at NWL to improve the productivity of scientific manpower. It was early decided to in particular explore the utility of display or graphical devices. To further this work, it was decided to obtain a limited number of graphical terminals. A 360/40 system was acquired for the purpose of driving these terminals and also to replace one of the two 1401's then installed in the laboratory for peripheral processing. The configuration is as shown in this slide. (Fig. 1). You will note that besides the two user terminals, there are two terminals to be used respectively for preparing STRETCH system input tapes and printing STRETCH system output tapes. After the acquisition of this system, the Data Processing Division of IBM expressed an interest in joining with NWL in this project and have since January 1965 actively joined with NWL in the work undertaken as part of it.
    In pursuing this project the four areas in which NWL feels particularly interested are summarized on this slide. (Fig. 2). Currently most emphasis is being placed on the first two areas with lesser amounts on the latter two. Extract: Utilization of Existing Systems
    Utilization of Existing Systems
    So that we might gain practical experience as soon as possible we decided to utilize several existing systems - principally the QUIKTRAN and ALPINE systems among the conversational systems, and the MIDAS simulation language (implemented in a batch mode on STRETCH) to explore the interesting area of digital analog simulation languages as a means for aiding in the solution of problems typically handled on analog or hybrid computers. This language has found acceptance with our engineering staff.
    In employing QUIKTRAN, our principal goals were to evaluate the utility of conversational FORTRAN to the scientists, engineers and programmers of the laboratory, and to study the typewriter type of terminal. We permitted, a variety of people from the scientific, engineering, and programming staff to use the system under controlled but realistic conditions. While I do not intend to go into the results of our study here, they were quite interesting and have had significant influence on our current course of action.
    The ALPINE system was used to gain early experience with a graphical input-output terminal. The problem we chose to implement was a simplified version of one of long standing interest to NWL, the determination of drag function for free fall weapons. The experiment showed the feasibility of the approach for solving this type of problem, but more important here showed the power of the FORTRAN oriented graphical language available on this system. This language, along with our experience with graphical output devices, forms the basis for the user oriented graphical language embedded in the DISPLAYTRAN system.
    With this background established, I would like to spend the remainder of the time in describing three user oriented systems that are being developed as parts of this project. We call them AAPl, OLDAS, and DISPLAYTRAN. Each attempts to adapt the digital computer to the user for a particular class of problems using the 2250 as a terminal.
    Extract: OLDAS
    OLDAS
    I would like next to briefly outline OLDAS. This is a conversational system based upon the MIMIC language developed at Wright-Patterson Air Force Base. As noted on this slide (Fig. 6), this type of language is useful in the simulation of parallel dynamic continuous systems such as are frequently modeled by sets of simultaneous differential equations. This is the same type of system which is often modeled on an analog computer or on a hybrid computer. OLDAS is currently being implemented for NWL by Computer Concepts Incorporated and will work under the multiprogramming monitor developed at NWL. It is planned to have it operational in August, 1966.
    By making use of MIMIC via a graphical input/output device connected to a digital computer, we hope to give to the user of OLDAS the programming ease and conversational capability of the analog computer while retaining the mnemonic capability of digital computer language along with the accuracy, logic, memory, and freedom from scaling problems given by the digital computer.
    In describing OLDAS, I would like to make use of the example shown on this slide. (Fig. 7). This shows a simple second order differential equation with specified initial conditions. The next slide (Fig. 8) shows a block diagram which indicates how a numerical solution to this could be obtained if we assume that the operations specified in the blocks can be performed in parallel.
    The transition from the equation to the block diagram can be explained as follows. One writes the equation with the highest order derivative to the left of the equal sign. Since we are given the value of X and X" at time zero we can form the value of MX at time zero by multiplying X by -B, X by -K and summing. K we have, as we assume we do here, a device capable of integrating a function of a single variable then knowing MX at any instant in time we can divide it by M to get X, integrate X to get £ and integrate X to get X. We can use these new values to form the value of M3t and repeat the process.
    This slide (Fig. 9) shows a MIMIC program to solve this problem derived from the block diagram and written for execution on the 7090.
    As indicated by the comments on the slide, we must first define the parameters to be used in the program. The operational statements in this example are in one to one correspondence with the blocks on the diagram. The first tells us that the output of the first block, MXDD is formed by summing BXD, (the output of the fifth block), and XX (the output of the sixth block). The other operational statements are similarly interpreted.

    It should be noted that since all operations are assumed to take place in parallel the order of the operational statements is not important. The statement FIN (T, STOP) compares the value of T, the independent variable which is automatically advanced by the integration routine, against the value of STOP and halts execution as soon as T exceeds STOP. The HDR statement prints out the names enclosed in parenthesis as a heading. The OUT statement prints the values of the specified variables at fixed intervals of T. If the interval is not specified then it is assumed to be . 1. The data is read into the specified parameters in the order in which they are listed in the parameter statement before execution begins.
    This sample does not illustrate many of the features of MIMIC but in the interest of brevity let me now go on to show how OLDAS will be. used to solve this problem.
    The user of the OLDAS system will normally enter and manipulate his MIMIC program from the graphic terminal making use of three separate basic pictures which I will hereafter refer to as the PROGRAM display, OPTIONS display, and OUTPUT display. He can store his program, or data produced by it, in a file on the 2311 disk and retrieve his program from the disk. Either the symbolic or the compiled program at various stages in its execution can be stored into or fetched from the file. Information can also be entered into or retrieved from this file off-line.
    After the user has signed on, the first display he will see is shown on this slide. (Fig. 10). It will initially be blank except for the first two lines. The user will use his light pen to select options and the keyboard to enter information. A positive response will be given to each user action. First the user will point to the option, PROGRAM. This will cause the cursor to be moved to the first space following the option name, here to the first space after PROGRAM. The user will type in the name of the file he wishes to use during the run. The system will then open the file and respond with a message to the user in the message area. As the program is thought of as being divided into a number of pages of different types, the user must next choose the page option and type in the page type and number. This will bring up the page format. To fetch data from his file he points to the LOAD option with his light pen, after he has typed in the appropriate page option. He can also enter or modify information using the keyboard. In this example we have the first parameter page displayed. This information can be stored into the file by pointing to the STORE option or entered into the compiler by pointing to the ENTER option. Making use of either of these options does not alter the information on the display.
    After the user is finished with a page he can point to the PAGE option again and type in the next page he wants. This slide (Fig. 11) shows the first program page with our sample problem. Note that we have deleted the

    output statements. Selection of output in OLDAS is controlled from the OPTIONS display. When this page is compiled using the ENTER option the END statement will signal the compiler that the program is complete. If the program is correct, a message to this effect will be put in the message display area, otherwise appropriate error messages will be given. The user then will select the START option to initiate computation. This brings up the OPTIONS display, which is shown in this slide, (Fig. 10.), and which permits the user to select among the available run time options.
    Standard integration options will be displayed as shown here. These may be changed before initiating the run or at essentially anytime during the run if desired.
    The user must fill in the DISPLAY option as desired. Again using the light pen to select the option and the keyboard to fill in the variable information. The SAVE option allows the values of up to six variables to be saved in the users file for later off-line printing. The last position allows the user to label the saved set of variables.
    The ENTER PARAMETER option allows the user to change the value of any parameter - either before initiating a run or at essentially any time during the run. He- can likewise examine at any time the current value of any variable using the DISPLAY CURRENT VALUE OF RESULTS option. The remaining options listed allow the user to begin a new run or continue in a current run, to save the current status of the program, and to restore the program to some previously saved state.
    After filling in the desired options, the user will initiate actual computation by pointing his light pen at the BEGIN COMPUTATION AT TIME ZERO option. If he points to the word DESTROY in this option he will cause any previously saved values in his file to be overlayed with those produced by the current run. The word SAVE will cause the current data to be placed after previously saved information. In either case, the initial status of the program is automatically saved in the file so that he can, if he wishes, come back to it at any time to begin a new run using the ENTER PARAMETER option if desired to change parameters.
    When this option is touched the output display -will be brought up. We see it on this slide (Fig. 13) as it would appear after 2 seconds of simulated time had elapsed. This display is of course dynamically updated allowing the user to monitor the course of his program. The options at the bottom allow him to halt computation at any point and, if desired, to return to the option display to examine the values of variables or to make changes in parameters or output options.

    Extract: Summary
    SUMMARY
    To summarize, let us briefly review the experiment and results.   We set out to devise economically feasible means of increasing the throughput of the scientist at NWL through the use of conversational computing and graphics. To achieve this goal, we elected to first experiment with available systems to direct or design of suitable tool for experimentation that could be developed for the S/360.   Our experiments with QUIKTRAN were encouraging, and influenced the development of AAPl as a local offering - the QUIKTRAN system is still operational.   Our experiments with ALPINE Graphic FORTRAN were encouraging also, and in conjunction with QUIKTRAN results, led directly to the development of OLDAS and DISPLAYTRAN for further experimentation in an operational environment.   We believe that the experiments have been successful, both in demonstrating that the general techniques are useful and in clearly identifying a useful product for continued, productive experimentation.
    Extract: OLDAS summary
    On Line Digital Analog Simulation (OLDAS)
    A CONVERSATIONAL SYSTEM BASED UPON
    AN INTEGRATION CENTERED PROGRAMMING LANGUAGE (MIMIC)
    FOR USE IN THE SIMULATION OF PARALLEL DYNAMIC CONTINUOUS SYSTEMS

          in [ACM/IEEE] Proceedings of the SHARE Design Automation Project Annual ACM IEEE Design Automation Conference 1965 view details
  • Cullen, R.P. "OLDAS: An On-line Continuous System Simulation Language" view details Extract: OLDAS
    OLDAS (An On-Line Digital Analog Simulator) is a tool for the simulation tion of continuous systems, or more simply, for the solution of differential equations. It is a conversational system that provides a user with the means to construct, modify, and run programs written in the MIMIC language [1].

    OLDAS operates in a time-shared mode on an IBM 360/40. The user terminal consists of an IBM 2250 display with a light-pen, alphanumeric keyboard, character generator, vector generator, and a 4K buffer. A 2311 disk pack drive is utilized for storage of user programs in both source and com-piled forms, input data, and results of program runs.

    There are three displays through which the user interacts with OLDAS The displays, called the PROGRAM, OPTIONS, and OUTPUT displays, present key words or phrases which the user'selects with the light-pen to exercise the functions of the system. The PROGRAM display provides a user with the means to construct a MIMIC program, store it on the disk, retrieve it, change it, and enter it into the processor for compilation and sorting. The program is displayed and stored in the form of pages of which there are three types: PARAMETER, PROGRAM, and FUNCTION. The PROGRAM display is shown in Fig. 1 with a PROGRAM page. From this display the user may also bring in previously compiled versions of a program for execu-tion from the disk. These compilations are referred to as machine states and there are two types: TIME 0 and TIME N. These states contain all the information needed to execute a program from its initial conditions, or M resume execution from some point in the course of a run.

    The OPTIONS display shown in Fig. 2 is used to specify integration options, set up the OUTPUT display, and designate results to be saved on the disk. Parameters may be displayed on request and changed if desired. current value of results may also be displayed. The TIME 0 and TIME N states are saved from this display and may also be brought in as from PROGRAM display. When the user commands execution to begin or to resume, the OUTPUT display comes up. On this display, see Fig. 3, results are plotted and displayed digitally as execution proceeds. The user is therefore able to monitor a run dynamically. Execution can be halted at any time and return made to the OPTIONS display where any program or system parameters can be inspected and/or changed and execution resumed. From the OPTIONS display, return may be made to the PROGRAM display to change the source code or to start a new program.

    OLDAS first went into use in April 1967. Since then usage has steadily increased to the point where it is now quite heavy. Some of the areas in which the system has been successfully used are fire control system simulation, opti-mization studies, exterior and terminal ballistics, spectrum analysis, and curve fitting.
          in ACM Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
  • Chu, Yaohan "Digital Simulation of Continuous Systems" McGraw Hill NY 1969 view details Extract: OLDAS
    Green [35] reported in 1966 the development of OLD AS (On-Line DAS) at the Naval Weapons Laboratory, Dahlgren, Virginia. It was written for the IBM 360/50 computer with 2250 display console.
          in ACM Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 425 view details Abstract: PREFACE  AND  INTRODUCTION
    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 Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
    Resources
    • Input for OLDAS

    • Output for OLDAS