July 14th, 2024

On Building Systems That Will Fail (1991)

The Turing Lecture Paper by Fernando J. Corbató discusses the inevitability of failures in ambitious systems, citing examples and challenges in handling mistakes. It highlights the impact of continuous change in the computer field.

Read original articleLink Icon
On Building Systems That Will Fail (1991)

The Turing Lecture Paper by Fernando J. Corbató discusses the inevitability of failures in ambitious systems, emphasizing that the question is not if something will go wrong, but when. Examples from various domains like football, military warfare, and Boston driving illustrate how even well-designed systems can encounter unexpected issues. Corbató highlights the challenges in handling subtle mistakes, citing instances of numerical calculation errors and flawed programming approaches. Ambitious systems are described as vast, complex, and prone to underestimating completion times due to uncertainties and rapid technological advancements. The paper underscores the impact of continuous change in the computer field, leading to the development of increasingly ambitious systems across various industries. Corbató also touches on the exponential growth in computer performance and the decreasing cost of computing over the decades, reflecting on the evolution of technology from large machine rooms to embedded computers in everyday devices.

Link Icon 7 comments
By @rickydroll - 7 months
Are not wrong about MA rotaries. The Concord rotary on Rt 2 was exciting before they rebuilt it. The junction of 2a into the rotary still is exciting.
By @ghaff - 7 months
There was a partial rebuild of Rt. 2 where 2A cuts off to Minuteman Historical Park. (Concord Corner I think it's called.) My understanding is that there's a major rebuild of the actual rotary in the area where the correctional facility is in West Concord coming. The twin doughnuts of death going into Cambridge are still alive and well.

When I had to drive into Boston as opposed to taking the train as a commute, 6:15am was about the latest I could leave for it not to be completely insane.

By @pgraf - 7 months
One quote that I find funny from today’s point of view:

As we approach the present, corresponding to a personal computer, the graph really should become more complicated since one consequence of computers becoming super-cheap is that increasingly, they are being embedded in other equipment. The modern automobile is but one example. And it remains to be seen how general-purpose the current wave of palm-sized computers will be with their stylus inputs.

By @rramadass - 7 months
Pdf of the lecture here : https://dl.acm.org/doi/pdf/10.1145/114669.114686

Note the six points mentioned in the final "Conclusions" section;

First it is important to emphasize the value of simplicity and elegance, for complexity has a way of compounding difficulties and as we have seen, creating mistakes. My definition of elegance is the achievement of a given functionality with a minimum of mechanism and a maximum of clarity.

Second, the value of metaphors should not be underestimated. Metaphors have the virtue that they have an expected behavior that is understood by all. Unnecessary communication and misunderstandings are reduced. Learning and education are quicker. In effect metaphors are a way of internalizing and abstracting concepts such that one's thinking can be on a higher plane and low-level mistakes are avoided.

Third, use of constrained languages for design or synthesis is a powerful methodology. By not allowing a programmer or designer to express irrelevant ideas, the domain of possible errors becomes far more limited.

Fourth, one must try to anticipate both errors of human usage and of hardware failure and properly develop the necessary contingency paths. This process of playing "what if" is not as easy as it may sound since implicit is the need to attach likelihoods of occurrence to events and to address issues of the independence of failures.

Fifth, it should be assumed in the design of a system, that it will have to be repaired or modified. The overall effect will be a much more robust system, where there is a high degree of functional modularity and structure, and repairs can be made easily.

Sixth, and lastly, on a large project, one of the best investments that can be made is the cross-education of the team so that nearly everyone knows more than he or she needs to know. Clearly with educational redundancy, the team is more resilient to unexpected tragedies or departures. But in addition, the increased awareness of team members can help catch global or systemic mistakes early. It really is a case of "more heads are better than one."

By @contingencies - 7 months
Some nice pearls of wisdom in here.

Added to https://github.com/globalcitizen/taoup

By @vmh1928 - 7 months
From the title I was expecting a discussion of physical building subsystems, like HVAC and elevators.