CISE - CCF - Science of Design



I am Peter Freeman, Assistant Director of NSF and head of the Directorate for Computer and Information Science and Engineering or CISE, as you probably know it.

I appreciate your interest in submitting a proposal to the Science of Design program and taking a few moments of your valuable time to watch this video to prepare to do that.

The solicitation that we posted on the website was written with great care to say exactly what we are interested in, and of course it gives you all the details of how to get more information and how to submit a proposal. My purpose in this short set of remarks is to emphasize the fundamental objective that the Science of Design program was created to achieve.

Very simply, we are trying to spur research that in time – perhaps a fairly long amount of time in computer terms – will provide a foundation that will help lead to significant improvements in our ability to create, use, and modify software-intensive systems.

The solicitation posted in September 2005 starts out reminding you of the origins of the field of Software Engineering almost 40 years ago. The quotation at the beginning of the Introduction Section of the solicitation essentially says what I just said.

In the past 40 years, we have created the field of Software Engineering and there is no question that we are able to create software much more reliably today than we could 40 years ago. And, of course, we all know that the situation in practice would be even better if people and organizations just did what we have been teaching for many years!

But, it is also the case that relative to the demands and expectations of today compared to 40 years ago that, we still have great difficulty in creating software-intensive systems. And I don’t think that anyone will quibble with the assertion that compared to other engineering fields, Software Engineering is still built on rather flimsy foundations.

Let me give you 2 analogies for what we are trying to do: We are all familiar at some level with the creation, or design, of large, complex buildings. If you have ever been deeply involved in that process then you have an appreciation for the amount of "theoretical foundations and practical disciplines" (to quote from the solicitation) on which the design and ultimate construction of such buildings are based.

We are also all familiar – again, at some level – with the creation of complex, modern aircraft and are aware that aeronautical engineering is based on a number of scientific principles and bodies of practical knowledge.

You are probably also at least somewhat aware of the fact that many engineered objects such as bridges or large buildings were created before we had a scientific body of knowledge on which to base architecture and civil engineering – and that not infrequently, such structures failed or were impossible to modify because we were unable to foresee the consequences of design decisions. Similarly, many attempts to build "flying machines," including the first successful attempts, were made without a deep understanding of aerodynamics – and we are familiar with those results as well. That is, that shallow foundational knowledge doesn’t allow us to get very far.

We believe the situation is similar for Software Engineering. The objective of the Science of Design program is to foster research that will ultimately help change that situation as it applies to software-intensive systems.

In closing, let me note a few caveats that may be helpful to you.

First, we use the word "design" in a very broad sense – not just as a particular stage of development -- because we believe that all aspects of the process of creating, using, and modifying a system are affected by what we know as "design," using that word both as a noun and as a verb.

Second, we are not concerned about improving Software Engineering as it is practiced today. Rather, the emphasis is on new approaches, new formulations of the problem, and new viewpoints and visions. At the same time, we understand that some aspects of a "science of design" may emerge from careful study of existing Software Engineering processes and artifacts.

That leads to my final caveat: We don’t know where the best ideas will come from. That is why we have encouraged you to look very broadly for ways to build the scientific bases of knowledge that can support a true Software Engineering discipline. And that is also why we are using the Science of Design funds to open up new directions and encourage new lines of research that will make a significant difference over the coming decades.

Our fundamental requirement – that we will work very hard to stay focused on – is to encourage work so that our successors 40 years from now will not have to feel that in spite of many advancements that the plea of 40 years ago to create a deeper base of knowledge for Software Engineering is still unfulfilled.

Again, thanks for your interest in the Science of Design Program. We look forward to receiving your innovative proposals.