We propose an academic initiative to help change society through fundamental advances in computer science. By building on our current strengths and expanding into new research areas, the initiative will enhance our tradition of producing fundamental results with significant long-term impact. The result will be new engineering and scientific discoveries that will bring about dramatic improvements in the scale, reliability, and usability of computational and communication systems, and will augment educational and research programs in all Caltech divisions.
The central theme underlying the initiative is the development of high-confidence systems for managing increasingly complex applications that impact all aspects of our lives. The founders of the department saw that managing complexity was a primary and fundamental issue; new issues of complexity are still critical today and are guiding our choices for the initiative's research focus. The future requires scientific methods of: (1) building reliable and powerful computing devices and (2) integrating computing into larger and ever-more complex systems on which society depends.
The proposed initiative will: 1) break new ground in research particularly with regard to new interdisciplinary explorations, 2) achieve critical mass for computer science activities at Caltech with six to eight new appointments over the next five years 3) offer stellar education in computing for all Caltech divisions, 4) take advantage of targets of opportunity in hiring and 5) continue our tradition of fundamental research that has a major impact on society.
Figure 1. Research areas for the proposed Caltech Computer Science Initiative. Open dots indicate new research activities for the initiative; filled dots indicate current areas. Our plan is to focus on a few fundamental areas on the research ``horizon,'' at the edges of the diagram, that have great potential for high-leverage impact over the next ten years.
Computer Science research at Caltech focuses on the fundamental science of information, the natural and synthetic structures that communicate and process information, and on interactions between the computational substrate and the real world.
In the coming decades there are vital computer science research problems arising in the context of managing complexity. Computers are becoming ubiquitous, appearing in a variety of guises in homes, transportation, industry, government and academia. An important challenge for society will be managing the dynamic interaction between computational devices, in a large worldwide pool of such devices, in reliable and efficient ways, and in ways that amplify the effectiveness of human intent and understanding. Another central goal in managing complexity is to ensure that we have high confidence in the computing substrates we build: they must execute correctly, be fault tolerant, and be secure. New hierarchical modeling techniques are needed so that complex scientific predictions resulting from computer simulations will be reliable and trustworthy. Finally, computation and communication devices are becoming components in larger systems, and therefore interactions of computing devices with people and other devices is increasingly critical.
In the context of the initiative, we feel that these issues imply the need for better human-computer interaction methodologies, new types of faster and smaller computational devices, ubiquitous and high-confidence computing techniques, computer modeling of complex physical phenomena, and advances in computational biology, asynchronous VLSI and computer graphics. The demand for more powerful, cheaper and smaller computational devices stimulates the exploration of new physical substrates for computation, such as quantum computing and DNA computing. Strengths in the core computer science research areas, including computer architecture, are essential to exploiting new devices and to provide the qualities of interaction that people seek. Theoretical research in support of all of these areas is also needed.
All of the areas have the potential for high-leverage impact over the next ten years; our intent is to focus on areas with the greatest potential impact.
Over the past twenty-five years, researchers in our department have been early creators of many significant new technologies and new fields of computer science research, including digital VLSI technology, concurrent computation methods, mathematically-reliable computer graphics techniques, asynchronous VLSI techniques, and neuromorphic modeling, processing and computation techniques.
Our research accomplishments have had great long-term impact. For instance, reliable VLSI technology was first developed in the Caltech Computer Science department. Through the Caltech Silicon Structures Project, our department's work brought forth the world's ability to make complex microscopic electronic circuits, leading to all of the modern computer processors and VLSI chips. Concurrent computation technologies first developed in the Caltech CS department enabled important types of new calculations, from ab-initio quantum chemistry to computations needed for astrophysical measurements. Paradigm-shifts developed here in the field of computer graphics enabled a new era in computational picture-making and modeling. Our analog VLSI and related work has helped create the field of neuromorphic engineering and stimulated the creation of the Caltech CNS department; 50% of our CS faculty have a joint affiliation with CNS.
It is also worthwhile to note that out of the three nationwide NSF Science and Technology centers in computer science, the faculty in our computer science department were founders and members of two of them: the Center for Research in Parallel Computation, and the STC for Computer Graphics and Scientific Visualization. Other members of our department helped found the NSF ERC for Neuromorphic computation.
A guiding principle for the computer science department at Caltech is, and always has been, the importance of exploring interdisciplinary computational problems. The department, though small, has active collaborations with researchers in many divisions. Indeed, Caltech stands out among computer science departments for its interdisciplinary research.
Our department's work has had long-term impact because we have focused on fundamental issues that have great potential; it is for this reason that all of us are currently involved in differing aspects of the theme of managing complexity.
There are many possibilities to consider regarding the choice of research areas; our department can work only on a subset of these possibilities. To achieve our mission we must reach a Caltech-appropriate size that nonetheless achieves the institute's long-term research and teaching goals.
The guiding theme we use in selecting target research areas is the systematic development of high-confidence systems for managing complex applications that impact all aspects of our lives. This theme implies that we must (1) take a scientific approach to designing and building computing systems, (2) be concerned about both fundamental computing issues and the integration of computing into larger systems, and (3) take an interdisciplinary approach because so many of the applications are based on computing and other disciplines.
For instance, in the future, each of us is likely to have several computational agents or objects that carry out information-based activities for us all of the time. We can think of this world in almost organic terms: a worldwide ``ocean'' of objects, finding each other, adapting to one another, organizing themselves into collaborative structures, and carrying out useful transactions.
Systems of all types are getting more complex, and the consequences of failure or even poor performance are getting more severe. Computing and communication are being used to push the limits of technology. There will be more planes in the sky, more products tailor-made for each customer, more use of ``smart'' cards of all kinds, more computer-aided design and simulation tools for more complex systems, larger multimedia databases for science and engineering, and more sophisticated computer-based control systems. Multiple computational devices interact with other devices over space and time in air-traffic control, robotics for medical applications, and intelligent highway systems.
Modern designers of a single VLSI chip currently deal with complexities barely imagined 25 years ago when the Silicon Structures group was founded at Caltech. At that point in time, the grid of cells in a typical silicon computer chip was roughly as complex as the grid of blocks in a city the size of Pasadena. Currently, the grid complexity has increased 100,000 fold and the analogous city would spread across the entire surface of the earth; ten years hence the corresponding city will cover the earth 100 times over.
In this section we describe the areas we have selected for the initiative and explain why we are targeting these areas in particular. Since we cannot hire faculty in all areas of computer science due to Caltech's overall size constraints, our intent is to focus on the areas that we believe to have the greatest potential impact and leverage.
Ubiquitous Computing will fundamentally change the way in which people use computers. Homes, factories, shops, planes and cars will have many computing devices, and these devices will be linked together; computing, communication and storage devices will become increasingly powerful, creating a world of millions of interacting devices, enabling an immersive environment with 3-d graphics, tactile and voice transducers. This is an area that is adjacent to computer graphics, human-computer interface research, distributed computing and distributed control. Profs. Shuki Bruck and Mani Chandy have research programs in this area.
Asynchronous VLSI. The immense complexities within a chip have required radically-modified approaches to chip design. The Computer Science group at Caltech has had a history of exploring novel approaches to VLSI, such as Carver Mead's work in developing analog circuits in VLSI for neuromorphic applications. We also have a history of research in systematic methods for designing error-free digital VLSI chips. One reliability issue limiting the effectiveness of large VLSI chips is the issue of reliable propagation and arrival time of digital computer clock signals. As a result, we have been developing reliable digital VLSI approaches that do not need clock signals at all: faculty and students at Caltech have been founders and leaders in the field of asynchronous VLSI, and one of the most important aspects of Caltech's work in this area is guaranteeing correct behavior. We feel that Prof. Martin's asynchronous VLSI research will be one of the next high-impact areas for our department.
Computer Graphics. One of the primary aims of the Caltech Computer Graphics Group is research in the mathematical foundations of computer graphics, with an emphasis on the crafting of robust and efficient algorithms. The long term goals are to develop and explore new approaches to modeling, rendering, simulation and scientific visualization. This effort is highly connected to our work on human/computer interaction. New methods are needed to increase modeling fidelity, ``fluency,'' and interactivity. This is accomplished using mathematical principles from differential geometry, constrained optimization, integral equations and piecewise differential equations, as well as physical principles such as the mechanics of solids and the physics of light. The approach of our research team, Profs. Arvo, Barr, and Schröder, is unique in its mathematical rigor. The common theme of our work has been an emphasis both on correct underlying mathematical foundations and on careful realization in efficient algorithms.
New Technologies for Human-Computer Interaction. The development of new technologies for human-computer interaction is vitally important. We feel that the current limitations of the interface between groups of humans and computers is an area of great potential impact. Computers are basically blind and deaf, and still interact with people in clumsy and time-consuming ways. New types of interfaces will be multi-sensory, and will include 3D imaging, sound, gestural commands and touch. In addition, people at remote places will be able to collaborate in immersive and highly interactive ways. Prof. Jim Arvo has many novel and fundamental research plans here. This work will also connect significantly to the very strong computer graphics research team that we already have here, combining the work of Profs. Barr and Schröder with that of Prof. Arvo.
Computational Biology. Another vital research area for Caltech is computational biology ; this part of the computational revolution supports fundamental understanding of biological structures, functions and behaviors. Advances in computational and representational techniques will lead to medical and biological breakthroughs. Work in this area could include research on structural cell biology, developmental modeling, DNA sequencing, protein-folding, deeper studies of neural computation, prosthetics such as cochlear implants for hearing, and the study of fundamental biological issues such as phylogenetic trees and modeling of zoological niches. A related area is that of exploring designs and implementations of biologically-based computing devices (see the section on new computational substrates, below). Fundamental concepts of computer science can be used to help understand information processing within the cell and in the central nervous system. In addition, biological systems can provide inspiration for new types of information processing systems such as the central nervous system, the eye and the ear. Our group's work on neural networks has been applied to a wide range of problems including that of understanding patterns in complex financial systems, and then using this understanding to make predictions. Profs. Abu-Mostafa, Bruck, Barr and Mead have active research programs in these areas.
High-Confidence Systems. As our lives become increasingly dependent on computers, we must have increasing confidence that the computing fabric is secure from malicious attacks, failures such as disk crashes, and design error. The Caltech computer science group has a history of research on: (i) demonstrating functional correctness of VLSI chips and concurrent programs, and (ii) designing fault-tolerant systems. We now seek to extend Caltech's research in this area specifically to hardware verification and to real-time systems such as those used in control and dynamical systems. All members of the department do research on different aspects of high-confidence computing because we consider it to be so important.
New Physical Substrates for Computation. Some of the most exciting research opportunities lie in new physical substrates for computational devices. Semiconductor switches have many fruitful years ahead, but exploration of quantum, DNA and other novel substrates will be valuable in terms of practice and basic theory. Prof. Carver Mead has been a pioneer in exploring the physical limits of computational devices, from digital VLSI to analog VLSI.
Scalable Methods and other issues of Complexity. The complexity of computational and communication systems continues to increase rapidly. This takes place for several reasons. The number of different types of objects that may interact is increasing, and the number of objects of each type is also increasing. Further, computation is being used to push the limits of what we do, from putting more planes in the air to simulating more complex systems. A critical area is that of dealing with scalability: systems that continue to work as complexity increases. Prof. Peter Schröder at Caltech is a leader in scalable algorithms using wavelets, particularly for graphics.
Core CS research areas. Fundamental theories of computation and algorithm design are important for all areas of computing. Prof. Abu-Mostafa is a leader in the theory of learning systems.
Interdisciplinary research. Most of the computer science department's research projects are interdisciplinary. A significant strength of the department is its collaboration with groups in many Caltech divisions. We have not identified Caltech groups who share aspects of our research agenda because they are far too numerous to mention.
The primary faculty members in our department have been active in their research and teaching, but additional faculty are needed to better-achieve the goals of the initiative.
New Faculty. To realize the initiative's vision, we seek from six to eight additional faculty members over the next five years. Our primary focus is on young faculty who are likely to make fundamental advances in one or more of our selected research areas. For instance, we think Caltech should recruit two to three senior faculty and four to five junior faculty in computer science.
Even with eight new faculty, the department will only have sixteen faculty, at most thirteen of which are primarily in computer science, with the others having their primary home in other departments. This contrasts with other institutions such as MIT, Carnegie-Mellon, Berkeley and Illinois which have from 40 to 100 research and teaching faculty in computer science.
A deep understanding of computer science is becoming increasingly important for all scientific and engineering endeavors. Caltech has had a tradition in which sophisticated mathematical methods have permeated its work. Now, there is a developing need for a new tradition at Caltech: to have sophisticated computational methods permeate our work. Effective teaching of computer science is needed so that Caltech researchers can more effectively perform world-class research in their diverse research areas.
This need is reflected in the numbers of Caltech's graduate and undergraduate students, in all disciplines, who wish to learn about computing. Sophomore and senior/graduate level CS classes have become large, many of them with 60 to 90 students, larger than many other courses at Caltech. In addition, the class sizes have been increasing each year. Even though the CS faculty teaches more than is expected of E&AS faculty, this does not provide enough academic breadth nor does it bring class-sizes down to a level expected of Caltech.
Although there is currently no official undergraduate CS major at Caltech, an increasing fraction (about 25%) of Caltech undergraduates list their intended area of specialization as computer science. In addition, graduate students in the other Caltech options increasingly wish to ``minor'' in computer science. A large number of recent Caltech alumni work in different areas of information technology. We believe that Caltech can better compete with the best schools for students at all levels if Caltech offers: 1) more courses in CS, 2) a CS undergraduate major, and 3) a more active PhD minor program in CS.
One of the primary strengths of the Caltech CS department is its encouragement of interdisciplinary research. The number of collaborations are far too numerous to mention individually. Here, we discuss our philosophy of collaboration.
Computation is becoming an integral part of most scientific disciplines; the research agendas and principles of collaboration of computer science departments must now be thought through carefully. Computer Science research should not be merely a service organization to other research programs, but it should also not work on problems exclusively within its traditional academic boundaries, with very little interaction with other disciplines.
Caltech CS has avoided both of these extremes. Our guiding principle is that there must be a fundamental issue about computing in interdisciplinary research in which we participate, and there must also be fundamental research questions in the collaborating disciplines as well.
One of the ways in which CS at Caltech stands out is in its emphasis on continuous mathematics, computation as part of larger systems, and on a broad education in science and engineering. Researchers in more traditional CS departments focus more of their attention on core computation problems and discrete mathematics with relatively little attention paid to continuous mathematics and applications.
The department has a history of collaborations in high-performance parallel computational science, graphics and scientific visualization with groups across the institute and JPL. Examples of such collaborations include those with biology, engineering, chemistry and the earth sciences. A few (of many) examples of new collaborations that we plan to foster as we get additional faculty include research with: biology in a variety of areas; electrical engineering on networking and VLSI; control and dynamical systems on distributed control; physics and applied physics on novel computational structures; mechanical engineering on robotics; and groups across all divisions on distributed problem-solving environments. These few examples are merely illustrative of the collaborations we will foster, and are far from a complete listing.
Caltech's Computer Science department has had a long history with a significant impact on computing. As we move into a future of unprecedented communications and computing in every sphere of life, our theme of engineering high-confidence systems for complex, ubiquitous and interactive computing systems, only increases in importance.
The proposed initiative builds upon existing strengths. The initiative will help build a very small, but world-class, group of faculty who do fundmental work in computing and who also collaborate with research groups across all divisions of the institute and JPL. The initiative will help Caltech offer minor and undergraduate major programs in computer science which will help Caltech competing in recruiting students at all levels. The research and teaching activities, and the outward-looking collaborative approach of the department, will help research and teaching in all divisions.