This note describes the history of the Multics Development Process, sometimes called "The Multics Way," as it evolved from 1964 to the 1980s.
The Compatible Time-Sharing System (CTSS) was developed at MIT starting in 1961, by a small team led by MIT Prof. Fernando Corbató. Multics was a successor to CTSS, and many of the CTSS developers joined the Multics team. The CTSS development process was experimental and informal, and this approach carried over into the team process used by the Multics group at MIT Project MAC. CTSS was initially documented by a users' manual published by the MIT Press.
The development process and internal documentation of CTSS was informal; the need for more formal documentation was seen later, when the CTSS team switched over to developing Multics, using CTSS as a tool.
Multics Development Over The Years
|Coding Std||MSPM BB||AN82|
|Code Review||ad hoc||audit||audit|
|Testing||ad hoc||ad hoc||Sys M regression||?|
|Exposure Usage||MIT||MIT, CISL||MIT, CISL, SysM||ACTC|
|Performance Testing||ad hoc||MIT||MIT+SysM||?|
|Library/Build||GE lib team||MIT IPC lib team||PMDC lib team||ACTC|
XXX Here we could compare the Multics processes to others, if we could point to other process descriptions. If there are useful comparisons with FreeBSD, OpenBSD, Linux, Apple, Microsoft, we could point them out. For example, do some other processes skip steps we perform? Do some other processes perform steps we did not? Is the level of rigor greater or less?
From 1965-1969, during the initial development of Multics, Prof. Fernando Corbató ("Corby"), head of the Project MAC Computer Systems Research Group, led the system development. MIT, General Electric, and Bell Laboratories researchers presented six papers about Multics at the 1965 Fall Joint Computer Conference (FJCC). The development process emphasized documentation, because of the participation of Bell Labs and GE developers. The geographic distribution of team between Cambridge, New Jersey, and Phoenix also caused process adjustments.
The MIT/GE/BTL development team wrote 3000 pages of the Multics System Programmer's Manual (MSPM), 124 "repository" documents, and many other planning and administrative memoranda. These documents were circulated for comment before approving the final versions.
Bob Daley of MIT was the chief development engineer. He decided if an issue was important enough to extend the discussion or to consult with Corby. He decided how things would be implemented and what features were in and out. He decided whether to spend time speeding up a module or live with it, and similar choices.
Integration and bringup of Multics was organized and tracked in the Multics Planning Notebook, which defined a sequence of functional benchmarks for the integrated system, such as "Phase One", "Demonstrable Initial Multics", and "Limited Initial Multics."
Deployment at MIT
In 1969, the MIT Information Processing Center started running Multics as a service on the MIT GE-645, available to MIT researchers and other educational customers. GE and Project MAC Multics developers were the largest group of users on the MIT service.
Transition to GE/Honeywell
In 1969, Bell Laboratories dropped out of the Multics development effort. At the beginning of the 1970s, GE sold its computer division to Honeywell. Key MAC/MIT personnel took jobs at Honeywell Cambridge Information Systems Laboratory (CISL) in the late 1960s and early 1970s. At first, there was little change to the Multics development process.
Development in the 1970s
Honeywell increased its commitment to Multics, introducing second generation hardware, and we adapted our process to support two code branches for a while. Announcement of Multics as a commercial product in 1973 introduced additional resource demands for supporting customers and accommodating their requirements. Honeywell established its Phoenix Multics Development Center (PMDC), in order to to support customers and benchmarks, and installed System M in Phoenix in 1972. Most Multics development was done at CISL, outside of the HIS/LISD rules and bureaucracy. The MCR Board was established with members from MIT/MAC/Honeywell in September 1973. CISL obtained its own small Multics machine in 1974 for test purposes. A few development projects were done in Phoenix, and submitted through the MCR board at CISL. Multics source library maintenance was done by a team led by MIT IPC. The index of MCRs lists some of the MCRs we have been able to locate.
Some major development efforts during the 1970s were the Access Isolation Mechanism, done at CISL, which made file system changes for multilevel security; integration of the ARPANet into Multics, done by MIT Laboratory for Computer Science (LCS) with funding from ARPA; and the New Storage System, which reworked the layout of files on disk and supported more storage, led by CISL. These projects modified many parts of the system and exercised the development process.
In the late 1970s, the Multics forum command was used by CISL and PMDC developers to discuss product development issues online.
Development in the 1980s
A major project at CISL in the 1980s was the addition of the Data Management storage system, which supported transaction semantics on files. It led to multiple MTBs. Also in the early 1980s, the MCR Board process was reconfigured to increase the participation of Phoenix developers at PMDC. Dual MCR Boards were established and the process streamlined.
The B2 project touched many parts of the operating system, and required additional process steps, and additional formalism and rigor in the process to satisfy NSA's Orange Book criteria. Some of these changes are described in MTB-712 Policy and Procedures for Software Integration. (1985-05-15) and MTB-713 MR11 Configuration Management (1985-05-17).
Right after the B2 rating was announced, Bull cancelled Multics development. The cancellation of Multics development was announced by Honeywell in July of 1985, but it took a while to wind down. CISL was closed in June of 1986. Development continued in Phoenix for a while: the last MCRB packet was dated 1987-12-22.
XXX In April 1988, Bull transferred maintenance of Multics to a University of Calgary spinoff, ACTC Technologies. This company, under various names, continued to support Multics until 1998. Did it follow a similar process? From comments in the source code, we know they continued to assign MCR numbers until 1992.
page created 21 Mar 2016 THVV