ISPL(ID:5339/isp003)

Incremental System Programming Language 


for Incremental System Programming Language

RAND 1971


People:
Related languages
APAREL => ISPL   Written using
GRAIL => ISPL   Incorporated some features of

References:
  • Balzer, R. M.: The ISPL language specifications. Santa Monica, Calif.: The RAND Corporation 1971. (The RAND Corp. R-563-ARPA, August 1971 .) view details Abstract: The syntax and semantics of the Incremental System Programming Language (ISPL), designed for use on its own computer, the ISPL machine (described in R-562). Together, the language and the machine provide a complete programming laboratory environment. The syntax used to describe ISPL is APAREL (described in RM-5611), which is similar to BNF but allows imbedded alternatives. ISPL is incrementally compiled, resembles PL/I, and allows hierarchical systems to be built by providing capabilities for scheduling core and central processing unit resources, interrupt handling, and interprocess communication. Ports, the new interprocess communication facility (described in R-605), enables communication between a program and the files, terminals, physical devices, and monitor programs. Extensive debugging facilities include dynamic record verification of all pointers. The language specifically includes the facilities needed by the control program, and the machine provides many of the facilities normally implemented in software. External link: Online copy
  • Balzer, R. M.: The ISPL machine: principles of operation. Santa Monica, Calif.: The RAND Corp. 1971. (The RAND Corporation, R-562-ARPA, August 1971.) view details External link: Online copy Abstract: The first of a series conceptually describing the Incremental System Programming Language (ISPL) computing system, an integrated environment for multiuser research programming. The ISPL language and machine are jointly designed, with hardware providing the control and scheduling facilities traditionally handled by Job Control Language and other software. Close correspondence between program statements and machine actions makes for clarity and efficiency and facilitates incremental compilation, which in turn allows online, interactive programming and debugging. During postfix program translation, ISPL inserts NEW STATEMENT operators that define interruptible points. User address spaces are carefully segregated. Separately accessed memory areas are assigned in logical units, with pointers. Most programs and data remain in virtual memory; only those portions of program and data actually referenced are contained in real memory. Resources are allocated by machine primitives called semaphores, which may also carry data. Data semaphores compose Ports, which provide hardware/software/user communications
  • Harslem, E. F.; Heafner, J. F.: The ISPL basic file system and file subsystem for support of computing research. Santa Monica, Calif.: The RAND Corp. 1971. (The RAND Corp. R-603-ARPA, August 1971 .) view details Abstract: Functional specification of the Basic File System and one of several file subsystems envisioned for the ISPL computing system described in R-562. A generalization of the GRAIL logical input/output system (see RM-6257), the software package is described in its ISPL context. The BFS, as a resident part of the ISPL Operating System, creates, modifies, deletes, and keeps directories of file subsystems, allocates their secondary storage space, and handles their I/O transmissions. BFS is unconcerned with file structure, which is separately determined by each FSS. Any console or program can address any file by giving its name, FSS, and a qualifier. Further communication is determined by the rules of that particular FSS. All BFS procedures report whether and why an operation failed. An ARPA research file, FSSl, is described in its temporary IBM 360 implementation, with indications of probable changes in the ISPL environment External link: Online copy
  • Balzer, R. M."An overview of the ISPL computer system design" view details Abstract: This paper explores the advantages of the concurrent design of the language, operating system, and machine (via microcode) to create an interactive programming laboratory. It describes the synergistic effect that the freedom to move and alter features from one of these domains to another has had on the design of this system (which has not been implemented). This freedom simplified both incremental compilation and the system's addressing structure, and centralized the communication mechanisms enabling the construction of hierarchical subsystems. It also suggested an important new concept for operating systems: separation of the scheduling from the maintenance functions in resource allocation. This separation enables incorporation of new scheduling algorithms (decision of what to do) without endangering the system integration (correctly performing the scheduling decisions).
          in [ACM] CACM 16(02) February 1973 view details