Notes on "Science of Design"

(Assembled from various NSF sources and workshop calls)

Les Gasser, GSLIS/UIUC


Science of Design

As with essentially all applications of computing technology, software will ultimately be the element of CI [Cyber-Infrastructure] that enables it or causes it to fall short of its envisioned potential. Many of the issues discussed above [I believe he is speaking of the [in the Atkins CyberInfrastructure Report here - LG], to say nothing of hundreds of others, will result in software implementations. The languages, constructs, techniques, and structures that are used will be key, but our current stock of software elements is no doubt insufficient. As a simple example, consider the basic mechanisms we have for describing data in terms that a domain-scientist can easily work with.

Software engineering (SE) - the tools, techniques, and processes for creating complex software systems - is clearly inadequate to the task ahead. Most software is still created by people with little or no knowledge of proven SE approaches, and while the result is often acceptable initially, the lifetime costs of modification and repair are often horrendous and prevent the kind of progress that we should be making. Even if everyone used the very best SE, there is ample evidence that the results would still be much less than appropriate.

In short, we need better software "building blocks" and better software engineering. If you consider other disciplines that ultimately produce engineered or constructed artifacts, you will note that they are based on a body of scientific knowledge and coherent, systemized experience. While we certainly have some aspects of this, by and large software and, more generally, computing-intensive systems are not built on any such foundation.

Creating a true "science of design," along the lines indicated above, has to be a top priority for CS&E. (Other terms may be better, but some, such as "software science" are either taken or have a certain historical connotation that may not be appropriate here). As with most of the other examples we have cited, this should be a goal of fundamental CS&E research independent of the need for it in creating CI. Building CI, however, presents a wonderful opportunity for advancing toward a science of design.

Peter Freeman 4/2/03


(From the call for papers of the NSF Science of Design: Software-Intensive Systems Workshop)

NB: this is NOT the scope of the UIUC or UCI workshops; it is only put here as context for understanding the term "Science of Design" -- LG

Workshop Scope

Essentially every modern technological artifact, system, or process is based on a design- an idea, plan, or scheme for the structure, behavior, function, and value of that thing. A design is the product of a process of designing of that desired artifact, system, process. Moreover, the design itself is an artifact and is designed. A science of design, then, is an organized body of knowledge about the designs and designing of artifacts and the designs and designing of their designs. For example, the designing of a system driven by computational processes yields an overall design, including designs for its computational processes in the form of software artifacts. The system, its component computational processes, and the system and software designs are all subject to designing. A science of design thus pertains to both end products (e.g., safety, ease of use) and to their designs (e.g., modularity, analyzability). The scope of this workshop is broad enough to include all of these levels, with a particular emphasis on the role of computation and software in the context of software-intensive systems. The term design here is not meant to refer merely to an idealized stage of software development between specification and coding.

Past research investments in understanding the design of software-intensive systems have paid off handsomely in improved design capabilities. Nevertheless, software-intensive systems are creating tremendous possibilities, posing significant risks, and having great impacts on our society, and our knowledge of how to design them effectively-and our knowledge of the nature of design itself-still falls far short of what is needed. The goal of this workshop is to address this need by providing guidance to the National Science Foundation of the formulation of a science of design (subject, scope, methods, norms, etc.), major open problems, and important research priorities for a ten-year time frame.


See also the statement of goals and themes for the IDM Workshop on the Science of Information Systems Design held in September of 2003, part of the same planning series. Again, this does NOT present the scope of the UIUC or UCI workshops; it is only put here as context for understanding the term "Science of Design."


Last modified: Thu Oct 2 11:44:59 CDT 2003