Evolvability and Robust Design
It is hard to build robust systems: systems that have acceptable behavior over a larger class of situations than was anticipated by their designers. The most robust systems are evolvable: they can be easily adapted to new situations with only minor modification. How can we design systems that are flexible in this way?
Observations of biological systems tell us a great deal about how to make robust and evolvable systems. Techniques originally developed in support of symbolic Artificial Intelligence can be viewed as ways of enhancing robustness and evolvability in programs and other engineered systems. By contrast, common practice of computer science actively discourages the construction of robust systems.
Robust designs are built on an additive infrastructure: there are exposed interfaces for attaching new functionality without serious disruption of preexisting mechanisms. Indeed, the ability to harmlessly duplicate a mechanism and then modify the copy to supply useful new functionality is one of the principal ploys appearing in natural evolution. What are the preconditions that support such augmentation? Can we engineers arrange our systems to be extensible in this way? Are there exploitable analogies between the techniques that we have created to make extensible artifacts and the mechanisms that we find in biological systems?
One powerful idea in biological systems is the use of space to distribute function. In principle, each cell of a multicellular organism is capable of living by itself. But a multicellular organism is a community of cells that are spatially differentiated to build particular structures and to perform particular functions. How is this arranged? We now understand how this can this contribute to reliability, but do we understand how it contributes to flexibility?
I will address these and related issues, and show, in terms of explicit and concrete examples, how some of the insights we glean can inform the way we do engineering in the age of information.
This is a joint presentation of the Boston/Central New England Chapter of the IEEE Computer Society and GBC/ACM.
For more information contact Peter Mager.
Gerald Jay Sussman is the Panasonic (formerly Matsushita) Professor of Electrical Engineering at the Massachusetts Institute of Technology. He received the S.B. and the Ph.D. degrees in mathematics from the Massachusetts Institute of Technology in 1968 and 1973, respectively. He has been involved in artificial intelligence research at M.I.T. since 1964. His research has centered on understanding the problem-solving strategies used by scientists and engineers, with the goals of automating parts of the process and formalizing it to provide
more effective methods of science and engineering education. Sussman has also worked in computer languages, in computer architecture and in VLSI design.
Sussman is a coauthor (with Hal Abelson and Julie Sussman) of the widely used introductory computer science textbook, "Structure and Interpretation of Computer Programs," which has been translated into French, German, Chinese, Polish, and Japanese. As a result of this and other contributions to computer-science education, Sussman received the ACM's Karl Karlstrom Outstanding Educator Award in 1990, and the Amar G. Bose award for teaching in 1991.
Sussman's contributions to Artificial Intelligence include problem solving by debugging almost-right plans, propagation of constraints applied to electrical circuit analysis and synthesis, dependency-based explanation and dependency-based backtracking, and various language structures for expressing problem-solving strategies. Sussman and his former student, Guy L. Steele Jr., invented the Scheme programming language in 1975.
Sussman saw that Artificial Intelligence ideas can be applied to computer-aided design. Sussman developed, with his graduate students, sophisticated computer-aided design tools for VLSI. Steele made the first Scheme chips in 1978. These ideas and the AI-based CAD technology to support them were further developed in the Scheme chips of 1979 and 1981. The technique and experience developed was then used to design other special-purpose computers. Sussman was the principal designer of the Digital Orrery, a machine designed to do high-precision integrations for orbital-mechanics experiments. The Orrery was designed and built by a few people in a few months, using AI-based simulation and compilation tools.
Using the Digital Orrery, Sussman has worked with Jack Wisdom to discover numerical evidence for chaotic motions in the outer planets. The Digital Orrery is now retired at the Smithsonian Institution in Washington DC. Sussman was also the lead designer of the Supercomputer Toolkit, another multiprocessor computer optimized for evolving systems of ordinary differential equations. The Supercomputer Toolkit was used by Sussman and Wisdom to confirm and extend the discoveries made with the Digital Orrery to include the entire planetary system.
Sussman has pioneered the use of computational descriptions to communicate methodological ideas in teaching subjects in Electrical Circuits and in Signals and Systems. Over the past decade Sussman and Wisdom have developed a subject that uses computational techniques to communicate a deeper understanding of advanced Classical Mechanics. Computational algorithms are used to express the methods used in the analysis of dynamical phenomena. Expressing the methods in a computer language forces them to be unambiguous and computationally effective. Students are expected to read our programs and to extend them and to write new ones. The task of formulating a method as a computer-executable program and debugging that program is a powerful exercise in the learning process. Also, once formalized procedurally, a mathematical idea becomes a tool that can be used directly to compute results. Sussman and Wisdom, with Meinhard Mayer, have produced a textbook, "Structure and Interpretation of Classical Mechanics," to capture these ideas.
Sussman is a fellow of the Institute of Electrical and Electronics Engineers (IEEE). He is a member of the National Academy of Engineering (NAE), a fellow of the American Association for the Advancement of Science (AAAS), a fellow of the American Association for Artificial Intelligence (AAAI), a fellow of the Association for Computing Machinery (ACM), a fellow of the American Academy of Arts and Sciences, and a fellow of the New York Academy of Sciences (NYAS). He is also a bonded locksmith, a life member of the American Watchmakers-Clockmakers Institute (AWI), a member of the Massachusetts Watchmakers-Clockmakers Association, a member of the Amateur Telescope Makers of Boston (ATMOB), and a member of the American Radio Relay League (ARRL)..