Experience in the design, implementation and use of PL-11, a programming language for the PDP-11

PL-11 is a programming language for the PDP-11 family of computers designed and implemented as part of the OMEGA Project at CERN (the European Organization for Nuclear Research). Its purpose is to provide an effective tool for both physicists and systems programmers to use in building real-time data acquisition systems that are on-line to high-energy physics experiments. It is a fairly typical member of the PL-class of programming languages (44) which are based on the initial design of PL360 (41) (see Table 1). Each of these languages represents a linguistic model of its specific machine architecture, thereby providing a Systems Implementation Language (SIL) that is extremely efficient on its target machine, yet is also highly effective for human programmers to use. The need for such a tool is obvious on all computer systems, but especially on minicomputers, where most applications are in fact “systems programs”. For example, in any data acquisition environment the distinction between “user” and “operating system” largely disappears—the user's prime concern is to handle time-dependent sequences of events involving the manipulation of special I/O devices through direct status checking and data streaming—all functions which are usually buried in the operating system of conventional computing systems. This paper discusses four years of experience with PL-11, especially as this relates to the general topic of SILs on minicomputers.

[1]  Michael A. Malcolm PL360 (revised): a programming language for the IBM 360 , 1972 .

[2]  R D Russell,et al.  ORION - the OMEGA Remote Interactive On-line System , 1973 .

[3]  Per Brinch Hansen,et al.  Concurrent Programming Concepts , 1973, CSUR.

[4]  Richard C. Holt,et al.  Project SUE as a learning experience , 1972, AFIPS '72 (Fall, part I).

[5]  Niklaus Wirth,et al.  PL360, a Programming Language for the 360 Computers , 1968, JACM.

[6]  Stephen H. Kamnitzer,et al.  Bootstrapping XPL from IBM/360 to UNIVAC 1100 , 1975, SIGP.

[7]  Brian A. Wichmann,et al.  An algol‐like assembly language for a small computer , 1971, Softw. Pract. Exp..

[8]  S. Gorn,et al.  FORTRAN vs. Basic FORTRAN: a programming language for informational processing on automatic data processing systems , 1964, CACM.

[9]  Stephen N. Zilles,et al.  Programming with abstract data types , 1974 .

[10]  J. C. Heliard,et al.  The two-level approach to data definition and space management in the LIS system implementation language , 1973 .

[11]  J. J. Horning,et al.  A compiler generator , 1970 .

[12]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[13]  Charles Antony Richard Hoare,et al.  Hints on programming language design. , 1973 .

[14]  Jr. John Dennis Gannon,et al.  Language design to enhance programming reliability. , 1975 .

[15]  Niklaus Wirth A programming language for the 360 computers , 1966 .

[16]  Hellmut Golde,et al.  Bootstrapping XPL to an XDS sigma 5 computer , 1973, Softw. Pract. Exp..

[17]  Niklaus Wirth The PL360 system , 1967 .

[18]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[19]  R D Russell The omega project : a case history in the design and implementation of an on-line data acquisition system , 1972 .