OPS-1(ID:205/ops001)

On-line Process Synthesizer 


On-line Process Synthesizer.

Martin Greenberger, MIT 1964

Developed out of Seminar at Sloan School of Management in Spring Semester of 1964. An attempt to make a general purpose programming language that suited the needs of management, developed by the seminar on the basis of prior research by Greenberger.

The Seminar designed the program to be extremely modular and extensible, comprising a global database and a series of OPS or operators. OPerators could be added to the system to enhance functionality, or combined into Compounded Operators (KOPs) to make a simper means of expression.

System design concepts were were:
- Simplicity
- Versatility
- Generality
- Individuality
- Expandability and open-endedness
- Modularity
- Immediate execution
- Conditional recalling
- Graduated guidance

Discrete simulation under CTSS. Sammet 1969, p.660. Versions: OPS-3, OPS-4.


There is a copy online at the Newell archive of the OPS-1 manual which is well-worth reading, but sadly it has no direct URL.



Structures:
Related languages
OPS-1 => CALCULAID   Extension of
OPS-1 => OPS-2   Evolution of
OPS-1 => OPSIM   Extension of
OPS-1 => OPTRAN   Evolution of
OPS-1 => VECOPS   Extension of

References:
  • Greenber Martin et al "The OPS-1 Manual" MIT Technical Report MAC-TR-8 view details External link: Online page at MIT Abstract: The recent attainment and continuing development of personally accessible computer facilities have opened another chapter in the use of machines by man. A number of current research efforts, including Project MAC at M.I.T., are designing new concept
  • Greenberger, M. "A new methodology for computer simulation" Project MAC, MIT, Cambridge, Mass., MACTR- 13. view details
  • Fano, Robert "The MAC system: a progress report" pp131-150 view details
          in Sass, M. and W. Wilkinson, eds. Computer Augmentation of Human Reasoning Spartan Books, Washington, D.C., 1965 view details
  • Greenberger, M , Jones, M. M., Morris, J H , Jr., and Ness, D.N. "On- line Computation and Simulation: The OPS-3 System", MIT Press 1965. view details
          in Sass, M. and W. Wilkinson, eds. Computer Augmentation of Human Reasoning Spartan Books, Washington, D.C., 1965 view details
  • Greenberger, Martin and Jones, Malcom M "Online Simulation in the OPS System", p476 view details Abstract: The OPS system, an interactive system designed for use in a time sharing environment, includes an online simulation capability. A simulation activity, thought of as an event, is scheduled, canceled, or rescheduled dynamically on the AGENDA, either at a specified time, or when a prescribed condition is met. The activity can be made to consume simulated time by means of an internal delay for a certain period, or a wait until given conditions are satisfied. The AGENDA is a time-ordered list of all conditionally and unconditionally scheduled activities. The user may inspect it at any point in a simulation, and personally modify or restructure it. He may base his strategy on data and partial results examined and analyzed with the help of the OPS system during interruption of the run. Extensive tracing facilities permit the user to follow the flow of control during a simulation to any level of detail.
          in [ACM] CACM 9(07) July 1966 view details
  • Lubin, John Francis and Teichroew, Daniel "Computer simulation—discussion of the technique and comparison of languages" pp723-741 view details
          in [ACM] CACM 9(10) October 1966 view details
  • Sammet, Jean E. "Computer Languages - Principles and History" Englewood Cliffs, N.J. Prentice-Hall 1969. p.660. view details
          in [ACM] CACM 9(10) October 1966 view details
  • Smith, Lyle B. "A Survey of Interactive Graphical Systems for Mathematics" view details Extract: OPS-1 and OPS-3
    OPS-3
    OPS-3, on-line computation and simulation, was developed at the Massachusetts Institute of Technology, Cambridge, Massachusetts, see Greenberger et al. (1965).

    OPS-1 grew out of a graduate seminar on advanced computer systems during the spring of 1964. OPS-2, an improved version of the OPS-1 on-line computational facility, was programmed during the summer of 1964.

    The fall of 1964 saw the beginning of development of OPS-3, a larger-scale improvement, which runs under CTSS, the MIT time-sharing system. As stated by Greenberger et al. (1965), "The aim of the designers of the OPS-3 system.., is to give the researcher a complete informationprocessing and model-building facility without placing any artificial demands on him; that is, without having the system get in the way of the research." This goal has been partially realized. For example, vectors and matrices are operated upon algebraically and processed as whole arrays simply by symbolic reference to their names. A user need neither index through subscripts nor test for boundaries, although the ability to do so is retained. OPS-3 does retain some ad hoc rules and conventions that a beginning user must learn to become familiar with OPS-3. However, according to Greenberger et al. (1965), experience has shown that users like the system, especiMly after becoming well acquainted with it. Communication with OPS-3 is operator oriented. There are 60 to 70 standard operators provided by the system such as:
    COMPUT (performs a computation and prints a result);
    SET (allows algebraic assignment statements) ;
    PRINT (prints information from storage);
    READ (allows entry of data from the console) ; and
    FIT (fits a linear equation to a multicomponent set of observations).

    The SET operator would be used, for example, to perform an assignment as follows: SET X = 5 ? (Z + 1733).
    Compound operators, called KOPs, can be written in terms of the standard operators and saved for subsequent usage. A KOP is executed interpretively or it may be compiled. In either case it is referred to by name and thought of as an operator. Compound operators may call themselves (recursively) and each other to any depth. A statement to call a KOP named BETA, with parameters X, Y, 25, would be
    ? ? ? CALLK BETA X Y 25.
    With matrix multiplication denoted by ". M." and raising a matrix to a power by ".P." we can use the SET operator to define statistical calculations of the mean and variance for data stored in a vector
    DATA and the covariance for data stored in vectors X and Y as follows:
    SET MEAN = (DATA M 1)/N
    SET SO = DATA.M. DATA
    SET VAR = SQ/N - MEAN P 2
    SET COV = (X M Y)/N -- (X M l) * (Y M I)/(N*N)
    The REPEAT operator used in conjunction with the IF and IFB operators allows loops to be programmed. This capability allows iterative algorithms to be easily incorporated as KOPs.

    Simulation is one of the primary uses of the OPS-3 system. There are several operators and compound operators available for this purpose; however, since this survey is mathematically inclined, we will not discuss this capability here.

    For data analysis there are operators for manipulation of stacks, ranking and counting, solving polynomial equations, and for multiple and polynomial regression. The operators for statistical analysis that are available with the OPS-3 system include linear least squares curve fitting and regression, contingency analysis, intercorrelation analysis, and about ten other statistical tests and computations. Each operator has two forms: a guided form and a short form. The guided form essentially asks the user for the necessary parameters one-by-one.

    The short form allows a user to enter the parameters as he calls the operator, thus eliminating considerable interaction time waiting for the system to type out messages.

    OPS-3 has no provision for graphical output.

          in [ACM] ACM Computing Surveys 2(4) Dec1970 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 429 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] ACM Computing Surveys 2(4) Dec1970 view details