Multics 838 sections, 54 online
19 Aug 2014

MSPM

 
Multics Close ⊗
Loading

Early Multics Development and the MSPM

manuals in a case

MSPM on display at the MIT Museum MIT150 exhibit in 2011. Photo by Dave Walden. Click for a larger view. More photos by Chris Devers on Flickr.

The Multics System Programmers' Manual (MSPM) was intended to be the primary design document for Multics. Most of the MSPM was written between 1965 and 1969.

While waiting for the PL/I compiler to become available in 1965 and 1966, the team designed Multics and documented the design in the MSPM, which grew to over 800 sections and about 3000 pages; every section went through serious review and many sections were rewritten or deeply revised several times.

The MSPM contained functional requirements, high-level design, and implementation plans for Multics. When we actually started building and integrating the system, we discovered that some of the MSPM designs were far too complex. Simpler, more efficient facilities were built instead, sometimes as interim measures intended to evolve into the full design eventually, and sometimes as recognition that the original plan attempted too much. The MSPM was updated to reflect some of the early redesigns, but quickly got behind.

Section numbers of the MSPM begin with B, like "BA.1." This is homage to the CTSS manual, the CTSS Programmer's Guide, whose second edition's sections all begin with A.

Much of the MSPM is science fiction, describing features that might work one day in the future; some were never done. (One early I/O System design section mentioned the "on-line peripheral oil well.") Other parts of it provided high level functional specs for cool facilities we never did have time to build, e.g. the reserver. Other parts had low-level PL/I declarations of code that might or might not compile. In modern terms, the MSPM was a kind of requirements document, describing what Multics should do once built, intermixed with internal design documents specifying how to build the functions.

It is important to understand that the MSPM writing exercise was a step toward Multics, and that almost none of the design in the MSPM was implemented as written. But we would not have had as good a system without it: the MSPM represented an innovation in Process, a balance between formality, writing things down, peer review and imprecision, detail hiding, leaving specifics till later.

MSPM sections were handwritten by programmers, and then typed by secretaries on hectograph masters. Blue hectograph copies of a document were unapproved, and provisional. After design review, the official versions of documents were retyped on paper tape using Friden 2201 Flexowriters, proofread by the programmers, and then the paper tapes were used to produce mimeograph masters. Official versions of documents had black ink. CTSS was not used for system documentation, because it was too expensive. Xerography was not used for reproduction because it was expensive and unreliable. The Flexowriter tapes appear to have been discarded.

As sections were produced, they were distributed to every member of the project team. The MSPM occupied ten or twelve four-inch three-ring binders, more than one shelf of a standard office bookcase. Just keeping up with filing the updates took substantial time. As a result, each person's copy of the MSPM may have some variations.

The table below does not include section BS, System Module Abstracts. That section consisted of one-page writeups for actual code as we really began building and integrating the system in 1966-68. The idea was that we would update the MSPM as we actually wrote code, to produce a system and documentation that matched it. We fell behind rapidly. Management insisted that we at least have a one-page abstract for everything in the system, and that may have been true for a short time.

The table below is derived from data provided by the The Multics History Project. When they had multiple scans of the same section, I chose the last one. In the case of sections that got renamed, this may have caused some duplicates.

Table of Contents

This Table of Contents reflects the "final" MSPM, which we stopped updating as the real system began to take shape in 1967 and 1968. Thanks to Roger Roach and Olin Sibert for the data.