The premise of the meeting, and of the Science of Design program is that software and computation create amazing new possibilities and swell our ambitions for engineered systems. Yet, software is also a uniquely problematical medium. Many attempts to harness it have come to grief. The causes are many, but they include its mathematical intractability and the consequent inability to adequately project or test computational behavior; the scale and unprecedented nature of the design problems often addressed; inadequate methods for designing software in the context of larger complex systems; continuous change in available technology, in what is needed, and in one's understanding of what is needed; and the difficulty of understanding complex and dynamic application domains with enough precision to reliably develop truly useful software designs.
As we enter an era of unprecedented, global systems based on software and computing, and as the focus in the computing arena shifts from traditional concerns to problems of system integration and evolution, these problems are rapidly growing. The question of how to address larger problems in software development thus takes on a renewed urgency. While industry continues to innovate at a rapid pace, it is largely making due with a base of knowledge that is increasingly inadequate to the tasks that we will face in the coming years. We thus look to scientific investigations of the phenomena of and surrounding software and computing to grow the base of scientific knowledge to enable the reliable harnessing of software and computation for the coming generations of software-intensive systems.
Design seems to be an especially interesting and promising handle on some of the problems we face. For nearly a half century now people have explored possibilities for a generalized, scientific understanding of design as an activity, and of designs as a particularly interesting category of things. Among other things, the Science of Design program at the National Science Foundation starts from a significant but still somewhat inchoate base of work in this area, and encourages the development and evaluation of bold new new ideas on how to construct software-intensive systems. How will we, as human beings, manage fifty years from now? Intellectual and technological advances from this program are anticipated eventually to fold back into redefined areas of software research. The NSF's Science of Design program seeks fundamental advances in our understanding of design of software and software-intensive systems, not increments at the margin. At this meeting, Principal Investigators in the NSF Science of Design program will therefore explore fundamental problem formulations and other issues in the Science of Design. A key goal of the meeting is to help build a research community and discipline through cross-fertilization of ideas and identification of major problems and challenges in basic research.