From: Muench, Joanna (jmuench_at_fhcrc.org)
Date: Wed Jan 07 2004 - 13:17:36 PST
This paper provides a summary of the design and construction of a
multiprogramming system. It first defines the project scope, goes on to
describe the system structure and finally discusses the implications the
structure had on the construction process. The ability to prove the logical
soundness of the system a priori forms a core concept for this project.
To me the most interesting part of the paper was the impact of choosing a
hierarchical architecture for the system. From a design standpoint, the
multiple levels of abstraction allows a very flexible design, for instance
viewing the console teleprinter as two independent peripherals. In addition,
these layers prevent the control processor from having to react directly to
clock interrupts, thereby minimizing the number of relevant states the
system needs to know about. Most importantly, the minimization of states and
existence of multiple layers allows (supposedly) exhaustive testing of each
layer. The author cites previous difficulties in attempts to debug software
with real-time interrupts and clearly feels that extensive testing is a
better solution. The multiple benefits to the hierarchical designs results
in a compelling paper.
I greatly enjoyed the paper, despite Dijkstra's assertion that the system is
guaranteed to be flawless. It is interesting to see how his 'design for
testing' attitude is back in style after 35 years.
This archive was generated by hypermail 2.1.6 : Wed Jan 07 2004 - 13:17:43 PST