Babbage and the abstraction of mechanism
Abstract:
Charles Babbage has been called the 'great-uncle' of modern computing, a claim that rests simultaneously on his demonstrable understanding of most of the architectural principles underlying the modern computer,
and the almost universal ignorance of Babbage's work before 1970. There has since been an explosion of interest both in Babbage's devices and the impact they might have had in some parallel history, and in Babbage himself as a man of great originality who had essentially no influence at all on subsequent technological development.
In all this, one fundamental question has been largely ignored: how is it that one individual working alone could have synthesised a workable computer design over a short period, designing an object whose complexity of behaviour so far exceeded that of contemporary machines that it would not be matched for over one hundred years?
The key, as is well understood in modern engineering contexts, is to abstract away from the full complexity of a concrete system. The complexity barrier was faced by the electronics industry in the 1970's and 1980's, and triggered a switch from visual descriptions of large scale digital electronic devices to text-based Hardware Description Languages similar in style to that of a software programming language.
Babbage too faced an overwhelming complexity barrier, and his response was indeed to design a system of hardware abstractions which he called his Notation. The ideas allowed him to reason in the abstract about chains of cause and effect in his mechanisms, and he believed the Notation to be his crowning achievement.
His ideas were not taken up: one near contemporary rejected it because there could be many concrete machines that had the same notational description, which of course was precisely the point.
In this talk I will draw parallels between early electronic HDL's and Babbage's notation; display some strengths and weaknesses of Babbage's approach; and speculate on the underlying cause of the 150 year gap between Babbage's notation and the emergence of HDL based engineering design as a standard technique.
Bio:
Adrian is Professor of Computing at Royal Holloway, member of the Centre for Software Language Engineering.