EE 382V - Architecture and Design Intent Reading List

Cognitive Aspects of Design

A look at the cognitive issues of representing the design process, decisions, and rationale, as well as shared mental models and organizational memory

Simon Shum. "Cognitive Dimensions of Design Rationale". In People and Computers VI: Proceedings of HCI'91, 1991, pp. 331-344. [link]

Balasubramaniam Ramesh. "Towards A Meta-Model for Representing Organizational Memory". In 30th Hawaii International Conference on System Sciences (HICSS) Volume 2: Information Systems Track-Collaboration Systems and Technology,  1997, pp. 320-329. [abstract] 1

Design Rationale Modeling Representations

An overview of some methods for capturing design decisions

Jeff Conklin and Michael L. Begeman. "gIBIS: a Hypertext Tool for Exploratory Policy Discussion".  ACM Transactions on Information Systems (TOIS), Vol. 6, No. 4, 1988, pp. 303-331. [abstract] 2

Raymond J. McCall. "PHI: a Conceptual Foundation for Design Hypermedia". Design Studies, Vol. 12, No. 1, 1991, pp. 30-41. [abstract] 0

Allan MacLean, Richard M. Young, Victoria M. E. Bellotti, and Thomas Moran. "Questions, Options, and Criteria: Elements of Design Space Analysis". Human-Computer Interaction, 1991, Vol. 6, No. 3&4, pp. 201-250. [abstract] 3

Simon Shum. "QOC Design Rationale Retrieval: A Cognitive Task Analysis & Design Implications". Rank Xerox EuroPARC, Technical Report EPC-93-105. [link]

Also see Chapters 1 & 2 of Simon Shum's Dissertation. [link]

Empirical Studies of Designers

Studies on how software designers actually work

Raymonde Guindon, Bill Curtis, and Herb Krasner. (1987) A model of cognitive processes in software design: An analysis of breakdowns in early design activities by individuals. Technical Report STP-283-87, Microelectronics and Computer Technology Corporation. Published version in the 2nd Workshop on Empirical Studies of Programming

Raymonde Guindon. "Designing the Design Process: Exploiting Opportunistic Thoughts". Human-Computer Interaction, 1990, Vol. 5, No. 2&3, pp. 305-344. [abstract] 3

Simon Shum. "Analyzing the Usability of a Design Rationale Notation". In Design Rationale: Concepts, Techniques, and Use, 1996, pp. 185-215. [link]

Balasubramaniam Ramesh and Vasant Dhar. "Supporting Systems Development by Capturing Deliberations During Requirements Engineering". IEEE Transactions on Software Engineering, Vol. 18, No. 6, 1992, pp. 498-510. [abstract] 1

Architecture Rationale

Exploring how architecture can be supplemented with information about how design decisions and intent

Paul Grunbacher, Alexander Egyed, and Nenad Medvidovic. "Reconciling Software Requirements and Architectures: The CBSP Approach". In Proceedings of the 5th IEEE International Symposium on Requirements Engineering, 2001, pp, 202-211. [abstract] 1

Paul Grunbacher, Alexander Egyed, and Nenad Medvidovic. "Reconciling Software Requirements and Architectures with Intent Modeling". Software and Systems Modeling, Vol. 3 No. 3, 2004, pp. 235-253. [abstract] 4

Juan C. Dueñas and Rafael Capilla. "The Decision View of Software Architecture". In Proceedings of the 2nd European Workshop on Software Architecture (EWSA 2005), 2005, pp. 222-230. [abstract] 4

Jan Bosch. "Software Architecture: The Next Step". In Proceedings of the First European Workshop on Software Architecture (EWSA 2004), 2004, pp.194-199. [abstract] 4

Architecture Design Drivers

The process of converting requirements into architecture design

Axel van Lamsweerde. "From System Goals to Software Architecture". In Formal Methods for Software Architecture, 2003, pp. -43. [abstract] 4

Lawrence Chung, Brian A. Nixon, and Eric Yu. "Using Non-Functional Requirements to Systematically Select Among Alternatives in Architectural Design". In Proceedings of ICSE 17 Workshop on Software Architecture (WOSS), 1995. [link]

Paul Clements. "Understanding Architectural Influences and Decisions in Large System Projects". In Proceedings of ICSE 17 Workshop on Software Architecture, 1995. [link]

Architectural Styles

Approaches to describe, classify and categorize architectural designs

Gregory Abowd, Robert Allen, David Garlan. “Using Style to Understand Descriptions of Software Srchitecture”. In Proceedings of the 1st ACM SIGSOFT Symposium on Foundations of Software Engineering, 1993, pp. 9-20. [abstract] 2

Mary Shaw and Paul Clements. “A Field Guide to Boxology:Preliminary Classification of Architectural Styles for Software Systems”. In Proceedings of the 21st International Computer Software and Applications Conference, 1997, pp. 6-13. [abstract] 1

Klein, M. and Kazman, R.: 1999, Attribute-Based Architectural Styles, Software Engineering Institute Technical Report CMU/SEI-99-TR-22. [link]

Sutirtha Bhattacharya and Dewayne E. Perry. "Predicting Architectural Styles from Component Specifications". 2005. [link]

Empirical Studies of Architecture Rationale

Studies on the effectiveness of supplementing architecture with design rationale

Antony Tang, Muhammad Ali Babar, Ian Gorton, and Jun Han. "An Empirical Study of the Use and Documentation of Architecture Design Rationale". The 5th Working IEEE/IFIP Conference on Software Architecture (WICSA), 2005. 0 (Proceedings not yet available online.)

Antony Tang, Muhammad Ali Babar, Ian Gorton, and Jun Han. "A Survey on Architecture Design Rationale". Swinburne University of Technology SUTICT-TR2005.02, 2005. [link]

Rick Kazman and Kavita Reddy. "An Empirical Study of Architectural Design Operations". [link]

Intent and Evolution

Approaches for managing evolution of requirements and design using intent and rationale-based methods

Jilles van Gurp and Jan Bosch. "Design Erosion: Problems & Causes". Journal of Systems and Software, Vol. 61, No. 2, 2002, pp. 105-119. [abstract] 5

Lars Bratthall, Enrico Johansson, and Björn Regnell. "Is a Design Rationale Vital when Predicting Change Impact? – A Controlled Experiment on Software Architecture Evolution" In Proceedings of the International Conference on Product Focused Software Process Improvement, 2000, pp. 126-139. [abstract] 4

Neeraj Sangal and Frank Waldman. "Dependency Models to Manage Software Architecture". CrossTalk - The Journal of Defense Software Engineering, November 2005. [link]

Using Design History

Replaying design histories as an analysis method

Jens H. Jahnke, Jörg P. Wadsack, and Albert Zündorf. "A History Concept for Design Recovery Tools". In Proceedings of the Sixth European Conference on Software Maintenance and Reengineering  (CSMR), 2002. [abstract] 1

Ira D. Baxter and Christopher W. Pidgeon. Software Change Through Design Maintenance. In Proceedings of 13th International Conference on Software Maintenance (ICSM'97), 1997. [abstract] 1

Guillermo Arango, Eric Schoen, and Robert Pettengill. "A Process for Consolidating and Reusing Design Knowledge". In Proceedings of the 15th International Conference on Software Engineering, 1993. [abstract] 2

Balzer, R.M., Cheatham, T.E., and Green, C. Software Technology in the 1990's: Using a New Paradigm. Computer Magazine, 1983. 0

Software Development Tools

Software development tools which use rationale or are rationale-aware

Janet Burge and David C. Brown. "An Integrated Approach for Software Design Checking Using Rationale". Workshop on Design Process Modelling, Artificial Intelligence in Design '02, 2002. [link]

Jintae Lee. "Design Rationale Systems: Understanding the Issues". IEEE Expert, Vol. 12, No. 3, 1997, pp. 78-85.[abstract] 1

Rein G.L. and Ellis C.A. (1991) rIBIS: A real-time group hypertext system. International Journal of Man-Machine Studies, 24, 349-367. 0

Also see Janet Burge's Ph.D. Dissertation. [link]

Design Patterns

Using catalogued operational semantics of object interaction as an implicit representation of design intent

Feniosky Peña-Mora and Sanjeev Vadhavkar. "Augmenting Design Patterns with Design Rationale". Artificial Intelligence for Engineering Design, Analysis and Manufacturing, Vol. 11, No. 2, 1997, pp. 93-108. [link]

Jan Bosch. "Design Patterns as Language Constructs". Journal of Object-Oriented Programming, Vol. 11, No. 2, 1998, pp. 18-32. [link]

James Noble, Robert Biddle, and Ewan Tempero. "Metaphor and Metonymy in Object-Oriented Design Patterns". Victoria University of Wellington, Technical Report CS-TR-01/7, 2001. [link]

Coding Techniques

Code-level techniques to explicitly capture design intent in a non-formal way

Bertrand Meyer. "Applying Design by Contract". Computer, Vol. 25, No. 10, 1992, pp. 40-51. [abstract] 1 (More information about Eiffel available at

Donald Knuth, Literate Programming (Articles and examples available at

Sarfraz Khurshid, Darko Marinov and Daniel Jackson. "An Analyzable Annotation Language". In Proceedings of the 17th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2002, pp. 231-245. [abstract] 2 

David Luckham and Friedrich W. Henke. "An Overview of ANNA - a Specification Language for ADA". Stanford University Technical Report CSL-TR-84-265. [link]

Programming Semantics

Forward-looking programming languages and environments that explicitly capture funtional and design intent semantically

Jonathan Edwards. "Subtext: Uncovering the Simplicity of Programming". OOPSLA 20, October 2005. [link]

Charles Simonyi, "The Death of Computer Languages, The Birth of Intentional Programming". Microsoft Corporation Technical Report MSR-TR-95-52, 1995. [link]

Charles Simonyi, "Intentional Programming Innovation in the Legacy Age" Presented at IFIP Working group 2.1. 1996. [link]

Robert K. Dewer, Arthur Grand, Ssu-Cheng Liu, Jacob T. Schwartz, and Edmond Schonberg. "Programming by Refinement as Exemplified by the SETL representation Sublanguage". ACM Transactions on Programming Languages and Systems, Vol. 1, No. 1,1979, pp. 27-49 . [abstract] 2

Other Ideas

PDF Availability

0 PDF not available online. Contact us for a copy.

1 PDF Available at IEEE Explore through UT Libaries.

2 PDF available at ACM Portal through UT Libraries.

3 PDF available at LEA Online through UT Libraries.

4 PDF available at SpringerLink through UT Libraries.

5 PDF available at Elsevier Science Direct through UT Libraries.

Other Papers

Rationale Modeling

Jeffrey Molavi, Raymond McCall, and Anthony Songer. "A New Approach to Effective Use of Design Rationale in Practice". Journal of Architectural Engineering, Vol. 9, No. 2, 2003, pp. 62-69. [abstract] (Available at the ASCE Research Library through UT Libraries.) An interesting paper using Design Rationale in civil engineering.

Janet E. Burge. "Software Engineering Using design RATionale", Dissertation, 2005. [link]

Chen, A., McGinnis, B., Ullman, D., Dietterich, T.: 1990, Design History Knowledge Representation and Its Basic Computer Implementation, The 2nd International Conference on Design Theory and Methodology, ASME, Chicago, IL, pp. 175-185.

Chung, P.W.H., Goodwin, R.: 1998, An integrated approach to representing and accessing design rationale, in Engineering Applications of Artificial Intelligence, 11, pp. 149-159.

Karsenty, L.: 1996, An Empirical Evaluation of Design Rationale Documents, in Proceedings of the Conference on Human Factors in Computing Systems, Vancouver, BC, April 13-18.

Ganeshan R., Garrett J., Finger, S.:1994, A framework for representing design intent, Design Studies Journal, V15 No. 1, January, pp. 59-84.

Simon Shum. Design Argumentation as Design Rationale. The Encyclopedia of Computer Science and Technology (Marcel Dekker Inc: NY), Vol. 35, Supp. 20, 95-128. [link]

Design Reuse

Ball, L., Lambell, N., Ormerod, T., Slavin, Mariani, J.: 1999, Representing Design Rationale to Support Innovative Design Reuse: A Minimalist Approach, from Proceedings of the 4th Annual Design Research Thinking Symposium, MIT, May 1999, pp 1.75-1.87-

Rationale Recovery

Araya, A., Mittal, S.: 1987, Compiling Design Plans from Descriptions of Artifacts and Problem-Solving Heuristics. Proc. Int. Jnt. Conf. on AI, IJCAI-87, pp. 552-558.

Britt, B., Glagowski, T.: 1996, Reconstructive derivational analogy: A machine learning approach to automating redesign, in Artificial Intelligence for Engineering Design, Analysis and Manufacturing, No.10, Cambridge University Press, pp. 115-126.

Shipman, F., McCall, R.: 1996, Integrating different perspectives on design rationale: Supporting the emergence of design rationale from design communication, Artificial Intelligence for Engineering Design, Analysis, and Manufacturing, 11, Cambridge University Press, pp. 141-154.

Rick Kazman and S. Jeromy Carrière. "Playing Detective: Reconstructing Software Architecture from Available Evidence". Software Engineering Institute Technical Report CMU/SEI-97-TR-010, 1997. [link]

Davor Svetinovic and Michael Godfrey. "A Lightweight Process for Architecture Recovery: From Code to Domain Requirements and Back Again". [link]

Arie van Deursen. "Recovering Rationale". Software Architecture Recovery and Modelling (SWARM), 2001. [link]

Rationale-Based Processes

Balasubramaniam Ramesh. "Supporting Systems Development by Capturing Deliberations During Requirements Engineering". WiSe 2004.

Burge and Brown. "Rationale Support for Maintenance of Large Scale Systems". ELISE/ICSM'03, 2003.

Dellen, B., Kohler, K., Maurer, F.: 1996, Integrating Software Process Models and Design Rationals, in Proceedings Knowledge-based Software Engineering, Syracuse, NY, IEEE Computer Society Press, pp. 84- 93.

William Stubblefield. "Patterns of Change in Design Metaphor: A Case Study". In Proceedings of the SIGCHI conference on Human factors in computing systems (CHI'98). [abstract]