SGER: Explanations of Software-Intensive Systems: A Foundation for Design Science

  • Haynes, Steven R. (PI)
  • Pitt, Joseph J.C. (CoPI)
  • Carroll, John (CoPI)

Project: Research project

Project Details


In this project, the PI and his team will help define a science of design by developing a theory of explanation for software-intensive systems. Explanations are the foundation of science, of scientific understanding, and of scientific communication. Theories of explanation are at the heart of discourse about what makes the scientific method unique, and they define metrics for assessing the quality of scientific programs and the results they produce. Though theories of explanation have received considerable attention in the physical and natural sciences, in psychology, and in engineering, little work has been directed at explicating and articulating a theory of explanation to act as a foundation for a science of software-intensive systems design. If science is about producing explanations, then a field of inquiry aspiring to the scientific label requires an understanding of what constitutes an explanation of the phenomena it takes as its subject. Design research is about understanding artifacts and the ways they are produced, as well as how and why they have the effects that they do when they are used (or misused, or not used) in different contexts. Understanding the fundamental reasons and causes behind successful and failed, good and poor software-intensive systems is the goal of a Science of Design. To develop this understanding, the field needs theoretical constructs to act as organizers and aggregators of the results from diverse research programs. These theories, in turn, need to be assessed in terms of the explanations they produce and their explanatory power. This research, if successful, will provide the field of software-intensive systems design with a theoretical framework for carrying out such assessments. Year 1 of the proposed study will involve a program of analysis and synthesis focused on theories of explanation from the philosophy of science and the psychology of explanation. Candidate theories and constructs will be compared to the kinds of explanations put forth in published systems design research, and to the PI's own on-going design research, resulting in a pre-empirical framework describing a theory of explanation for software-intensive systems. In Year 2 the PI will construct an interview protocol based on the theory and conduct interviews with researchers in software engineering, human-computer interaction, computer-supported cooperative work, and information systems. These interviews will elicit researchers' views on the kinds of explanations produced by their research and help to produce a generally applicable account of both the normative and natural explanations produced by design research.

Broader Impacts: Explanations are central to communicating scientific understanding, both between experts, and between experts and society at-large. A theory of explanation for software-intensive systems will provide a language for communicating about software-intensive systems, and help highlight where scientific understanding is lacking in the field. As complex, software-intensive systems become more pervasive in society, it will become increasingly important for system users to understand their essential nature and the design constraints that impact their structure and behavior. Explanations are also the currency of education. A theory of explanation for software-intensive systems will provide a new foundation for teaching, training, and learning in the systems development field.

Effective start/end date9/1/062/28/09


  • National Science Foundation: $199,712.00


Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.