
Raymond Mccall- Ph.D.
- University of Colorado Boulder
Raymond Mccall
- Ph.D.
- University of Colorado Boulder
About
78
Publications
5,153
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,390
Citations
Introduction
Skills and Expertise
Current institution
Publications
Publications (78)
In recent years, Judea Pearl, winner of the 2011 Turing Award, developed a fundamentally new theory of inference in causal networks. Our goal is to show how Pearl’s concepts of causal networks and the do-calculus can be used to model intervention in design, i.e. the generation, evaluation, and choosing of design alternatives. Design projects typica...
Efforts to use design rationale (DR) to improve design have been frustrated by difficulties in capturing such rationale in a format structured by a DR schema, such as PHI, QOC, or DRL. These difficulties disappear when rationale is captured as unstructured transcripts of communication among collaborating designers, but the lack of structure in such...
More than 40 years after Rittel and Webber published the first articles on the theory of wicked problems this theory has been applied to a wide range of fields involved in real-world problem solving. Interest in the theory seems greater than ever. This has led to an interest in rethinking the theory. A number of authors do this by imposing interpre...
Horst Rittel defined his wicked problems theory to differentiate wicked problems, which are open-ended and controversial, from tame problems, which have a single correct solution. Rittel identified ten properties of wicked problems but did not indicate if all of these properties needed to hold before something could be deemed wicked. Failure to cor...
Three decades of creating software to support design rationale showed the author that rationale processes can promote generation of novel ideas by promoting critical conversations among designers and other project participants. Critical conversations intertwine ideation and evaluation, using feedback about consequences of decisions to challenge des...
Three decades of creating software to support design rationale showed the author how rationale processes can promote generation of novel ideas. Rationale can promote creative design by promoting critical conversations among designers and other project participants. Critical conversations intertwine ideation and evaluation, using feedback about cons...
Many decisions are required throughout the software development process. These decisions, and to some extent the decision-making process itself, can best be documented as the rationale for the system, which will reveal not only what was done during development but the reasons behind the choices made and alternatives considered and rejected. Burge,...
Research on rationale in software engineering was originally inspired by research on rationale for the design of physical artifacts. While there is still much that software engineering can learn from the latter, it is important to recognize that the process of software development differs in crucial ways from the processes of developing physical ar...
Exploiting the full potential of rationale in software engineering requires a comprehensive understanding of that potential. Such understanding must be based on a conceptual framework that describes how and where ratioale usage can support SE. This framework should identify where and how rationale can be used in software projects. It should also pr...
In this chapter, we describe how Software Engineering Rationale(SER)can be used during many types of software re-use, including how rationale can assist during Component-Based Software Engineering, with Software Product Lines and COTS-based software development.
While issues of rationale usage in software engineering (SE) often differ crucially from those of rationale usage in other domains, there is still the possibility of learning a great deal from research on other domains. This is suggested by the fact that rationale research in SE originally derived from Rittel's much earlier rationale research in ar...
This chapter examines collaboration with respect to design rationale. On the one hand, this is a discussion of how collaboration can support the development, codification and use of design rationale. On the other hand, it is a discussion of how rationale supports collaboration in design and development.
Software development can be modeled using a number of different lifecycle,or process, models. These include the waterfall model, the spiral model, the Unified Process, V-Model, and others. In this chapter, we will describe these models and how rationale capture and use supports the development process followed in each of them.
Software Engineering Rationale (SER) can play several roles in supporting system evaluation. One is to support the evaluation of decision alternatives by providing the means to capture the arguments for and against each alternative. The rationale can be used to automatically calculate support for alternatives and present it to the developer to assi...
As the term is used here, rationale is the reasoning underlying the creation and use of artifacts. Software engineering research on rationale aims to devise methods and systems for managing rationale throughout the software engineering process. Managing rationale includes eliciting it, recording it, indexing it for retrieval, editing it, and retrie...
A rationale-based approach to software engineering requires rationale management systems that can integrate the many types of rationale with each other and with the processes of creating software engineering artifacts. Accomplishing this integration in turn requires that such systems be actively connected with software engineering tools, external c...
Designing and developing effective verification, validation, and testing strategies is always a challenge. The testing strategy needs to take into account the crucial balance between cost and quality and make appropriate tradeoffs depending on the specific project. In this chapter, we will investigate whether the presence of Software Engineering Ra...
This chapter examines human decision-making, its role in software engineering, and the role that rationale can play in the decision-making that occurs within software engineering.
More has been written about software design rationale than about any other topic in research on software engineering rationale. Much work has gone into identifying the value of design rationale for software developers, maintainers and users; but realizing this value requires that approaches to rationale capture and delivery be successfully integrat...
This chapter examines issues of presentation for software engineering rationale (SER). The substance, the content of rationale is always mediated by some presentation. The presentation could be free form, natural language text, or a formal, symbolic language; it could be printed sheets of paper, or three-dimensional displays in a virtual environmen...
Software maintenance can be very expensive part of the software development process. Anyone working in the software industry during the years leading up to the year 2000 (Y2K) is all too familiar with the often unexpectedly long life-span of many software systems. The difficulties of maintaining these systems are acerbated because the original deve...
This chapter summarizes the main points of this book and looks at the prospects for rationale to aid software engineers in dealing with the problems of future software development. It concludes that while the potential of rationale to aid software engineering is great, several crucial issues must be resolved if this potential is to be realized.
Software engineering, the process of developing software intensive systems, is a complex area. This chapter introduces software engineering as well as the potential benefits in capturing, maintaining, and reusing rationale to support it.
Keeping track of how changes in decisions require changes in other decisions is crucial in design and development. By capturing decision tasks and decision alternatives in the rationale, and by recording the dependencies between these decisions, we can help to anticipate the effects of changes and identify the different kinds of inter-decision depe...
Many of the decisions that have the greatest impact on the software development process are made during requirements analysis. Software Engineering Rationale(SER)can support this process by providing the ability to capture the decisions and the reasons behind them starting at these earliest phases. SER also supports requirements traceability throug...
In the current practice of designing software for user organizations, as experienced by the authors, designers often produce design knowledge again and again for every decision: They re-invent the wheel. We want to improve the quality, predictability and efficiency of the software design process by reusing design knowledge. Our proposed solution co...
Rationale is the justification behind decisions. It is captured and used in many different forms during software engineering. While it has not achieved widespread use in practice, several approaches have emerged and successfully been used in selected projects. The goal of this chapter is to review the current state-of-the art of rationale managemen...
This chapter explains how natural language processing (NLP) and participatory design can aid in identifying system requirements. It argues that getting a complete list of requirements is often an iterative process in which some requirements are elicited only when users react to the system’s design. Costs of iterative requirements identification can...
This chapter explains how natural language processing (NLP) and participatory design can aid in identifying system requirements. It argues that getting a complete list of requirements is often an iterative process in which some requirements are elicited only when users react to the system’s design. Costs of iterative requirements identification can...
Documentation of design rationale (DR) has great potential for improving the quality of design and construction. Yet 30 years of research has failed to make use of DR practical in real-world projects. This failure is above all due to the costs and disruption associated with capturing and structuring of the DR. We propose here a new approach to avoi...
Hand-done design drawing still has a several advantages over current, CAD-based approaches to generating form, especially in the early stages of design. One advantage is the indeterminacy of hand drawings—i.e. its abstractness and ambiguity. Another is a non-destructive drawing process, where new drawings are created without modifying old ones. A t...
Computers require formally represented information to perform computations that support users; yet users who have needed such support have often proved to be unable or unwilling to formalize it. To address this problem, this article introduces an approach called incremental formalization, in which, first, users express information informally and th...
Web-PHIDIAS is a hypermedia-based, intelligent CAD system that delivers both CAD functionality and design information to anyone with Web access. This system is above all designed to facilitate collaborative architectural design. It provides both private (individual) and collaborative (group) drawing and text authoring spaces, with a variety of type...
An on-line system has been developed that would efficiently distribute the Man-Systems Integration Standards (MSIS) document to customers. The MSIS website utilizes a hypertext, multimedia software, called PHIDIAS. The on-line version includes all text and graphics from the MSIS, including clips from the associated Living and Working in Space video...
The paper reports on three projects at our laboratory that deal respectively with synchronous collaborative design, asynchronous collaborative design, and design coordination. The Electronic Cocktail Napkin and its mobile extension that runs on hand-held computers supports synchronous design with shared freehand drawing environments. The PHIDIAS hy...
Since the 1970s, we have created hypertext systems supporting Rittel's argumentative approach to design. Our efforts aim at improving design by encouraging argumentative, i.e., reasoned-discourse during projects. Despite the intrinsically group-oriented character of the argumentative approach, all of our past prototypes were single-user systems. Th...
Design rationale is a topic which implies different things to different people. To some it implies argumentation,and frameworks,for argumentation. To others it implies the documentation,of design, like that required for many types of industrial or government work. Still others describe design rationale as the capture and potential reuse of normal c...
There are empirical and theoretical reasons for believing that current CAD does not adequately support the early, conceptual stages of design. Hand-done design drawing has a several advantages over current, CAD-based approaches to generating form in these stages. One advantage is the indeterminacy of hand drawing--i.e., its abstractness and ambigui...
Documenting argumentation (i.e., design rationale) has great potential for serving design. Despite this potential benefit, our analysis of Horst Rittel's and Donald Schön's design theories and of our own experience has shown that there are the following fundamental obstacles to the effective documentation and use of design rationale: (a) A rational...
this paper. In particular, Kumiyo Nakakoji provided invaluable assistance. The research was supported by the National Science Foundation under grants No. IRI-9015441 and MDR-9253245, and NYNEX Science and Technology Center (White Plains, N.Y.).
Community memory can provide the crucial bridge between large-scale information bases like digital libraries and the day-to-day activities of a community's members. Just as a digital library is based on a general structure and conventional means of access to diverse collections of materials, a community memory will help cull and shape the structure...
We describe Marquee, a pen-based video logging tool which enables users to correlate their personal notes and keywords with a videotape during recording. We present our observations about coordinating the task of logging in real time and describe the ...
We describe an approach to acquiring information during the creation and use of domain-oriented design environ- ments. Our model consists of three phases: seeding, evolu- tionary growth, and reseeding. A seed for a domain- oriented design environment is created through a par- ticipatory design process between environment developers and domain desig...
We are developing a conceptual framework and a demonstration system for collaboration among members of design teams when direct communication among these members is impossible or impractical. Our research focuses on the long-term, indirect communication needs of project teams rather than the short-term needs of face-to-face communication or electro...
Abstract This paper,reports on the development,of a hypermedia,inference language,designed,to strengthen the ability of hypermedia systems to be used effectively in applications that might otherwise require cumbersome,rule-based expert systems. The inference language,grew out of a primitive query language,which provided the mechanism,for navigation...
PHI (Procedural Hierarchy of Issues) extends the IBIS (Issue-Based Information System) method developed by Rittel to support an argumentative approach to design. PHI extends that approach, because it uses an additional argumentative process and deals with a greater range of design issues. PHI has recently gained recognition as the conceptual founda...
The fully dynamic planarity testing problem consists of performing an arbitrary sequence of the following three kinds of operations on a planar graph G: (i) insert an edge if the resultant graph remains planar; (ii) delete an edge; and ...
We have developed a conceptual framework and a demonstration system that contextualize (or situate) learning in the context of real-world work situations. The conceptual framework is based on the following requirements: the choice of tasks and goals must be under the control of the user, not the system. The environment must be able to situate learn...
We have developed a computer-based design aid called Janus, which is based on a model of computer-supported design that we think has significance for the future of architectural education. Janus utilizes a knowledge-based approach to link a graphic construction system to hypertext. This allows the computer to make useful comments on the solutions t...
PHIDIAS is a hypermedia system for supporting environmental design. It embodies a theory of design as continual alternation between two complementary activities: construction of solution form and argumentation about construction. To support these activities it implements a number of advanced hypermedia concepts. These include an applicative query l...
MIKROPLIS is hypertext software for handling textual information representing designers' reasoning. It is based on PHI (procedurally hierarchy of issues), a refinement of the IBIS (issue-based information system) design method. This article explains the history of hypertext, the PHI variant of IBIS and the MIKROPLIS system itself.
Design Environments are computer systems which support design by enabling cooperative problem solving between designer and computer. There are two complementary problem solving activities in design: constructive design and argumentative design. We have created two computer-supported environments, CRACK and VIEWPOINTS, to support these two activitie...
Hypertext systems and other complex information stores offer little or no guidance in helping users find information useful for activities they are currently engaged in. Most users are not interested in exploring hypertext information spaces per se but rather in obtaining information to solve problems or accomplish tasks. As a step towards this we...
We have developed a conceptual framework and a demonstration system that contextualize (or situate) learning in the context of real-world work situations. The conceptual framework is based on the following requirements: the choice of tasks and goals must be under the control of the user, not the system. The environment must be able to situate learn...
The World Wide Web in combination with Java and Virtual Reality Modeling Language (VRML) create great opportunities for collaboration by distributed design teams. To take advantage of these opportunities, we have begun to create a version of the PHIDIAS hyperCAD system (McCall, Bennett and Johnson 1994) that will support communication and collabora...
There are empirical and theoretical reasons for believing that current CAD does not adequately support the early, conceptual stages of design. Hand-done design drawing has a several advantages over current, CAD-based approaches to generating form in these stages. One advantage is the indeterminacy of hand drawing--i.e., its abstractness and ambigui...
Hand-done design drawing still has a several advantages over current, CADbased approaches to generating form, especially in the early stages of design. One advantage is the indeterminacy of hand drawing--i.e. its abstractness and ambiguity. Another is a non-destructive drawing process, where new drawings are created without modifying old ones. A th...
Phidias is software which integrates computer-aided design graphics with hypermedia to create a hypermedia CAD - or hyperCAD - system. Phidias allows architects to develop building form while having immediate and nearly effortless access to a rich store of textual, numerical, and graphical information. This information access can make a wide variet...
In this paper we describe Web-PHIDIAS, a network-centric design environment based on the PHIDIAS HyperCAD system. Web-PHIDIAS uses the backend of PHIDIAS as a hypermedia database engine to serve up VRML models, HTML pages and Java applets over the Web. In particular, it uses the Web (1) to present 3D models of design proposals using VRML; (2) to pr...
Since the 1970s we have created hypertext systems supporting Rittel's argumentative approach to design. Our efforts aim at improving design by encouraging argumentative?i.e., reasoned?discourse during projects. Despite the intrinsically group-oriented character of the argumentative approach, all of our past prototypes were single-user systems. The...
The purpose of this dissertation is to explain and justify the concept of issue serving-systems as a new paradigm for descriptive and normative models of design processes. This paradigm is based in general on Horst Rittel's "Argumentative Planning Paradigm" and in particular on Rittel's "Issue-Based Information System" --IBIS-- method. Like IBIS, t...
Raymond Mccall Raymond Bennett- [...]
Erik
The PHIDIAS II HyperCAD system combines the functionality of CAD graphics, hypermedia, database management and knowledge-based computation in a single, highly integrated design environment. The CAD functionality includes both 3-D and 2-D vector graphics. The hypermedia includes support for text, raster images, video and sound. The database manageme...