Design Rationale

From Wikipedia, the free encyclopedia

In the survey on design rationale (DR) for software engineering[1] the authors give a very clear definition to design rationale, it is “the explicit listing of decisions made during a design process and the reasons why those decisions were made.” Later on, in Jintae Lee’s paper [2], he described the major features that should be included in a design rationale system: “they can include not only the reasons behind a design decision but also the justification for it, the other alternatives considered, the trade offs evaluated, and the argumentation that led to the decision.” However, John Horner and Michael E. Atwood complemented the above definitions in their paper[3] by asserting the primary goal of design rationale, that is “to support designers by providing a means to record and communicate the argumentation and reasoning behind the design process." In supporting the vision of design rationale, a lot of frameworks proposed, such as QOC, DRCS, IBIS, and DRL. Since design rationale system is used to support people to make design decisions, many other science areas and computer science fields are involved. In Horner & Attwood [4], many cognitive issues are discussed, such as “wicked problems, group thinking, and situated action”. Design rationale system can strongly influence designers’ cognitive actions during the design process. Furthermore, design rationale is also related to Artificial Intelligence, in Burge and Brown’s paper [5] a rationale inferencing system InfoRat is proposed. It is “a system that inferences over a design’s rationale in order to detect inconsistencies and to assess the impact of changes.” In addition, design rationale is involved in knowledge management as well. In Wang and Guangleng [6] it is written that “Thus knowledge management has attracted attention of both companies and academia. Corporate memory is the computer systems to support enterprise knowledge management activities (identification, acquisition, storage, usage, communication, and development). Design rationale is a kind of knowledge which affects the core competence of manufacturing enterprises."

Contents

[edit] Background

While argumentation formats can be traced back to Stephen Toulmin's[7] datums, claims, warrants, backings and rebuttals, the origin of design rationale can be traced back to Kunz and Rittel's [8] development of the Issue Based Information Systems (IBIS) notation in 1970.

[edit] Key Concepts in Design Rationale

There are a number of ways to characterize DR approaches. Some key distinguishing features are how it is captured, how it is represented, and how it can be used.

[edit] Rationale Capture

Rationale Capture is the process of acquiring rationale information to a rationale management system.

Capture Methods

  • A method called “Reconstruction”[9] captures rationales in a raw form such as video, and then reconstruct them into a more structured form[10][11]. The advantage of Reconstruction method is that rationales can be carefully captured and capturing process won’t disrupt the designer. But this method might result in high cost and biases of the person producing the rationales [12].
  • The “Record-and-replay”[13] method simply captures rationales as they unfold. Rationales are synchronously captured in a video conference or asynchronously captured via bulletin board or email-based discussion. If the system has informal and semi-formal representation, the method will be helpful.
  • The “Methodological byproduct”[14] method captures rationales during the process of design following a schema. But it’s hard to design such a schema. The advantage of this method is its low cost.
  • With a rich knowledge base(KB) created in advance, the “Apprentice” [15] method captures rationales by asking questions when confusing or disagreeing with the designer’s action. This method benefits not only the user but the system.
  • In “Automatic Generation” [16] method, design rationales are automatically generated from an execution history at low cost[17][18]. It has the ability in maintaining consistent and up-to-date rationales. But the cost of compiling the execution history is high due to the complexity and difficulty of some machine-learning problems.
  • The “Historian”[19] method let a person or computer program watches all designer's actions but does not make suggestions. Rationales are captured during the design process.[20][21]

[edit] Rationale Representation

The choice of Design Rationale representation is very important to make sure that the rationales we capture is what we desire and we can use efficiently. According to the degree of formality, the approaches that are used to represent design rationale can be divided into three main categories: informal, semiformal, or formal [22]. In the informal representation, rationales can be recorded and captured by just using our traditionally accepted methods and media, such as word processors, audio and video records or even hand writings. However, these descriptions make it hard for automatic interpretation or other computer-based supports. In the formal representation, the rationale must be collected under a strict format so that the rationale can be interpreted and understood by computers. However, due to the strict format of rationale defined by formal representations, the contents can hardly be understood by human being and the process of capturing design rationale will require more efforts to finish, and therefore becomes more intrusive.


Semiformal representations try to combine the advantages of informal and formal representations. On one hand, the information captured should be able to be processed by computers so that more computer based support can be provided. On the other hand, the procedure and method used to capture information of design rationale should not be very intrusive. In the system with a semiformal representation, the information expected is suggested and the users can capture rationale by following the instructions to either fill out the attributes according to some templates or just type into natural language descriptions [23].


One commonly accepted way for semiformal Design Rationale representation is structuring Design Rationale as argumentation [24]. The earliest argumentation-based model used by many design rationale systems is the Toulmin model [25]. The Toulmin model defines the rules of design rationale argumentation with six steps [26]: (1) Claim is made; (2) Supporting data are provided; (3) Warrant provides evidence to the existing relations; (4) Warrant can be supported by a backing; (5) model qualifiers(some, many, most, etc) are provided; (6) possible rebuttals are also considered. One advantage of Toulmin model is that it uses words and concepts which can be easily understood by most people. Another important approach to argumentation of Design Rationale is Rittel and Kunz’s IBIS (Issue-Based Information System) [27], which is actually not a software system but an argumentative notation. It is used and developed by gIBIS (graphical IBIS) and itIBIS (test-based IBIS) [28]. IBIS uses some rationale elements (denoted as nodes) such as issues, positions, arguments, resolutions and several relationships such as more general than, logical successor to, temporal successor to, replaces and similar to, to link the issue discussions. PHI (Procedural Hierarchy of Issues) [29] extended IBIS to noncontroversial issues and redefined the relationships. PHI adds the subissue relationship which means one issue’s resolution depends on the resolution of another issue. QOC (Questions, Options, and Criteria) [30] is used for design space analysis. Similar to IBIS, QOC identifies the key design problems as questions and possible answers to questions as options. In addition, QOC uses criteria to explicitly describe the methods to evaluate the options, such as the requirements to be satisfied or the properties desired. The options are linked with criteria positively or negatively and these links are defined as assessments. DRL (Decision Representation Language) [31] extends the Potts and Bruns model of DR [32] and defines the primary elements as decision problems, alternatives, goals, claims and groups. In [33], the authors argues that DRL is more expressive than other languages. DRL focuses more on the representation of decision making and its rationale instead of on design rationale. Based on DRL, RATSpeak is developed and used as the representation language in SEURAT (Software Engineering Using RATionale) [34]. RATSpeak takes into account requirements (functional and non-functional) as part of the arguments for alternatives to the decision problems. And there is an Argument Ontology which is a hierarchy of argument types and includes the types of claims used in the system. The WinWin Spiral Model, which is used in the WinWin approach [35], adds the WinWin negotiation activities, including identifying key stakeholders of the systems, and identifying the win conditions of each stakeholder and negotiation, into the front of each cycle of the spiral software development model [36] in order to achieve a mutually satisfactory (winwin) agreement for all stakeholders of the project. In the WinWin Spiral Model, the goals of each stakeholder are defined as Win conditions. Once there is a conflict between win conditions, it is captures as an Issue. Then the stakeholders invent Options and explore trade-offs to resolve the issue. When the issue is solved, an Agreement which satisfies the win conditions of stakeholders and captures the agreed option is achieved. Design rationale behind the decisions is captured during the process of the WinWin model and will be used by stakeholders and the designers to improve their later decision making [37]. The WinWin Spiral model reduces the overheads of the capture of Design Rationale by providing stakeholders a well-defined process to negotiate. In [38], an ontology of decision rationale is defined and their model utilizes the ontology to address the problem of supporting decision maintenance in the WinWin collaboration framework. DRIM (Design Recommendation and Intent Model) is used in SHARED-DRIM [39]. The main structure of DRIM is a proposal which consists of the intents of each designer, the recommendations that satisfy the intents and the justifications of the recommendations. Negotiations are also needed when conflicts exist between the intents of different designers. The recommendation accepted becomes a design decision, and the rationale of the unaccepted but proposed recommendations are also recorded during this process, which can be useful during the iterative design and/or system maintenance.

[edit] Rationale Uses

Design rationale has the potential to be used in many different ways. One set of uses, defined by Burge and Brown (1998)[40], are:

  • Design verification – the design rationale can be used to verify if the design decisions and the product itself are the reflection of what the designers and the users actually wanted.
  • Design evaluation -- The design rationale is used to evaluate the various design alternatives discussed during the design process.
  • Design maintenance -- The design rationale helps to determine the changes that are necessary to modify the design.
  • Design reuse -- The design rationale is used to determine how the existing design could be reused for a new requirement with or without any changes in it. If there is a need to modify the design, then the DR also suggests what needs to be modified in the design.
  • Design teaching -- The design rationale could be used as a resource to teach people who are unfamiliar with the design and the system.
  • Design communication -- The design rationale facilitates better communication among people who are involved in the design process and thus helps to come up with a better design.
  • Design assistance – The design rationale could be used to verify the design decisions made during the design process.
  • Design documentation - The design rationale is used to document the entire design process which involves the meeting room deliberations, alternatives discussed, reasons behind the design decisions and the product overview.

DR is used by research communities in software engineering, mechanical design, artificial intelligence, civil engineering, and human-computer interaction research. In software engineering, it could be used to support the designers ideas during requirement analysis, capturing and documenting design meetings and predicting possible issues due to new design approach[41]. In civil engineering, it helps to coordinate the variety of work that the designers do at the same time in different areas of a construction project. It also help the designers to understand and respect each other’s ideas and resolve any possible issues[42].

The DR can also be used by the project managers to maintain their project plan and the project status up to date. Also, the project team members who missed a design meeting can refer back the DR to learn what was discussed on a particular topic. The unresolved issues captured in DR could be used to organize further meetings on those topics[43].

Design Rationale helps the designers to avoid the same mistakes made in the previous design. This can also be helpful to avoid duplication of work[44]. In some cases DR could save time and money when a software system is upgraded from its previous versions[45].

[edit] Rationale Approaches

There are several books and articles that provide excellent surveys of rationale approaches applied to HCI[46], Engineering Design[47], and Software Engineering[48].

[edit] Notes

  1. ^ Jarczyk, Loffler & Shipman, Design Rationale for Software Engineering: A Survey
  2. ^ Lee, Design Rationale Systems: Understanding the Issues
  3. ^ Horner&Attwood, Effective Design Rationale
  4. ^ Horner&Attwood, Effective Design Rationale
  5. ^ Burge & Brown, Reasoning with Design Rationale
  6. ^ Wang & Guangleng, Design Rationale as Part of Corporate Technical Memory
  7. ^ Stephen Toulmin, The Uses of Argument, Cambridge, 1958
  8. ^ Kunz and Rittel, Issues as elements of information systems
  9. ^ Lee, Design Rationale Systems: Understanding the Issues
  10. ^ Lee, Design Rationale Systems: Understanding the Issues
  11. ^ Burge, Design Rationale, Technical Report
  12. ^ Lee, Design Rationale Systems: Understanding the Issues
  13. ^ Lee, Design Rationale Systems: Understanding the Issues
  14. ^ Lee, Design Rationale Systems: Understanding the Issues
  15. ^ Lee, Design Rationale Systems: Understanding the Issues
  16. ^ Lee, Design Rationale Systems: Understanding the Issues
  17. ^ Lee, Design Rationale Systems: Understanding the Issues
  18. ^ Burge, Design Rationale, Technical Report
  19. ^ Chen, Design History Knowledge Representation and Its Basic Computer Implementation
  20. ^ Burge, Design Rationale, Technical Report
  21. ^ Chen, Design History Knowledge Representation and Its Basic Computer Implementation
  22. ^ Lee, Design Rationale Systems: Understanding the Issues
  23. ^ Lee, Design Rationale Systems: Understanding the Issues
  24. ^ Burge and Brown, Reasoning with Design Rationale
  25. ^ Toulmin, The Uses of Argument
  26. ^ Reynolds, What is the Toulmin Model?
  27. ^ Kunz and Rittel, Issues as elements of information systems
  28. ^ Conklin and Yakemovic, A Process-Oriented Approach to Design Rationale
  29. ^ McCall, PHI: A Conceptual Foundation for Design Hypermedia
  30. ^ Maclean, Young and Bellotti, Questions, Options, and Criteria: Elements of Design Space Analysis
  31. ^ Lee, Extending the Potts and Bruns model for recording design rationale
  32. ^ Potts and Burns, Recording the reasons for design decisions
  33. ^ Lee, Extending the Potts and Bruns model for recording design rationale
  34. ^ Burge, Software Engineering Using design RATionale
  35. ^ Boehm and Kitapci, The WinWin Approach: Using a Requirement Negotiation Tool for Rationale Capture and Use
  36. ^ Boehm, A spiral model of software development and enhancement
  37. ^ Boehm and Kitapci, The WinWin Approach: Using a Requirement Negotiation Tool for Rationale Capture and Use
  38. ^ Bose, A Model for Decision Maintenance in the WinWin Collaboration Framework
  39. ^ Pena-Mora, Sriram and Logcher, SHARED-DRIMS: SHARED Design Recommendation-Intent Management System
  40. ^ Burge, Design Rationale
  41. ^ Dutoit,Rationale Management in Software Engineering,1-48
  42. ^ Whelton,Application Of Design Rationale Systems To Project Definition – Establishing A Research Project
  43. ^ Dutoit,Rationale Management in Software Engineering,1-48
  44. ^ Burge,Reasoning with Design Rationale,611-629
  45. ^ Jarczyk,Design Rationale for Software Engineering: A Survey,577 - 586
  46. ^ Moran, Design Rationale Concepts
  47. ^ Lee, Design Rationale Systems, 78-85
  48. ^ Dutoit, Rationale Management in Software Engineering

[edit] References

Bose, P. (1995). "A Model for Decision Maintenance in the WinWin Collaboration Framework". Knowledge Based Software Engineering (KBSE '95). 

Boehm, B. (1998). "A spiral model of software development and enhancement". Computer 21 (5): 61–72. doi:10.1109/2.59. 

Boehm, B. & Kitapci, H. (2006), “The WinWin Approach: Using a Requirement Negotiation Tool for Rationale Capture and Use”, in Dutoit, A.H.; McCall, R. & Mistrík, I. et al., Rationale Management in Software Engineering, Springer Berlin Heidelberg, pp. 173-190 

Burge, J. & Brown, D.C. (1998), Design Rationale: Types and Tools, Technical Report, Worchester Polytechnic Institute, Computer Science Dept.,, <http://web.cs.wpi.edu/Research/aidg/DR-Rpt98.html>. Retrieved on 27 April 2007 

Burge, J.E. & Brown, D.C. (2000), “Reasoning with Design Rationale”, in Gero, J., Artificial Intelligence in Design '00, Netherlands: Kluwer Academic Publ., pp. 611–629 

Burge, J. & Brown, D.C. (2002), “Integrating Design Rationale with a Process Model”, Workshop on Design Process Modeling,Artificial Intelligence in Design '02, Cambridge, UK 

Burge, J. (2005), Software Engineering Using design RATionale, Worchester Polytechnic Institute, Computer Science Dept.,, <http://www.wpi.edu/Pubs/ETD/Available/etd-050205-085625/> 

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, Chicago, IL, pp. 175-185 

Conklin, J. (1991). "A Process-Oriented Approach to Design Rationale". Human-Computer Interaction 6 (3 & 4): 357–391. doi:10.1207/s15327051hci0603&4_6. 

Dutoit, A.H.; McCall, R.; Mistrík, I. & Paech, B. (2006), “Rationale Management in Software Engineering: Concepts and Techniques”, in Dutoit, A.H.; McCall, R. & Mistrík, I. et al., Rationale Management in Software Engineering, Springer Berlin Heidelberg, pp. 1-48 

Dutoit, A.; McCall, B. & Mistrik et al., eds. (2006), Rationale Management in Software Engineering, Springer 

Fischer, G.; Lemke, A.; McCall, R. & Morch, A. (1996), “Making Argumentation Serve Design”, in Moran, T. & Carroll, J., Design Rationale Concepts, Techniques, and Use, Lawrence Erlbaum Associates, pp. 267-293 

Horner, J. & Attwood, M.E. (2006), “Effective Design Rationale: Understanding the Barriers”, in Dutoit, A.H.; McCall, R. & Mistrík, I. et al., Rationale Management in Software Engineering, Springer Berlin Heidelberg, pp. 73-90 

Jarczyk, Alex P.; Löffler, Peter & Shipman III, Frank M. (1992), “Design Rationale for Software Engineering: A Survey”, 25th Hawaii International Conference on System Sciences, vol. 2, pp. 577-586 

Kunz, W. & Rittel, H. (1970), Issues as elements of information systems. Working Paper 131, Center for Urban and Regional Development, University of California Berkley 

Lee, J. (1991), “Extending the Potts and Bruns model for recording design rationale”, Proceedings of the 13th International Conference on Software Engineering (ICSE '13), IEEE Computer Society Press, Los Alamitos, CA, pp. 114-125 

Lee, J. (1997). "Design Rationale Systems: Understanding the Issues". IEEE Expert 12 (3): 78–85. doi:10.1109/64.592267. 

Maclean, A.; Young, RM.; Bellotti, VME. & Moran, T. (1996), “Questions, Options, and Criteria: Elements of Design Space Analysis”, in Moran, T. & Carroll, J., Design Rationale Concepts, Techniques, and Use, Lawrence Erlbaum Associates, pp. 53-106 

McCall, R.J. (1991). "PHI: A Conceptual Foundation for Design Hypermedia". Design Studies 12 (1): 30–41. doi:10.1016/0142-694X(91)90006-I. 

Moran, T. & Carroll, J., eds. (1996), Design Rationale Concepts, Techniques, and Use, Lawrence Erlbaum Associates 

Pena-Mora, F.; Sriram, D. & Logcher, R. (1993), “SHARED-DRIMS: SHARED Design Recommendation-Intent Management System”, Proceedings Enabling Technologies Infrastructure for Collaborative Enterprise, IEEE Press, Morgantown, WV, pp. 213-221 

Potts, C. & Burns, G. (1988), “Recording the reasons for design decisions”, 10th International Conference on Software Engineering (ICSE '1988), pp. 418-427 

Reynolds, Chris (2000), What is the Toulmin Model?, <http://www.concentric.net/~Creyn266/COMM335/Toulmin.htm> 

Rittel, H.W.J. (1972). "On the planning crisis: Systems analysis of the first and second generations". Bedriftsokonomen 8: 390–396. 

Toulmin, S. (1958). The Uses of Argument. Cambridge: Cambridge University Press. 

Xin, W. & Guangleng, X. (2001), “Design Rationale as Part of Corporate Technical Memory”, Systems, Man and Cybernetics, pp. 1904 - 1908 

Whelton, Michael; Ballard, Glenn & Tommelein, Iris, Application Of Design Rationale Systems To Project Definition – Establishing A Research Project, <http://www.leanconstruction.org/pdf/DesignRationaleSystemsandProjectDefinitionIGLC9.pdf>. Retrieved on 27 April 2007 

[edit] Further reading

[edit] Books

Dutoit, AH; McCall R, Mistrík I, Paech B (2006). Rationale Management in Software Engineering. Heidelberg: Springer-Verlag. 

Conklin, J (2005). Dialogue Mapping. Weinheim: Wiley-VCH Verlag. 

Kirschner, PA; Buckingham-Shum SJ, Carr CS (2003). Visualizing Argumentation: Software Tools for Collaborative and Educational Sense-Making. London: Springer-Verlag. 

Moran, T; Carroll J (1996). Design Rationale Concepts, Techniques, and Use. NJ: Lawrence Erlbaum Associates,. 

[edit] Special Issues

Artificial Intelligence for Engineering Design, Analysis and Manufacturing (AIEDAM), Special Issue: Summer 2008, Vol.22 No.3 Design Rationale http://web.cs.wpi.edu/~aiedam/SpecialIssues/Burge-Bracewell.html

Artificial Intelligence for Engineering Design, Analysis and Manufacturing (AIEDAM), Special Issue on Representing and Using Design Rationale, 1997, Vol.11 No.2, Cambridge University Press

[edit] Workshops

Second Workshop on SHAring and Reusing architectural Knowledge - Architecture, rationale, and Design Intent (SHARK/ADI 2007)[1], as part of the 29th Int. Conf. on Software Engineering (ICSE 2007)[2]

Workshop on Design Rationale: Problems and Progress[3] Workshop Chairs: Janet Burge and Rob Bracewell Held 9 July 2006 in conjunction with Design, Computing, and Cognition '06. Eindhoven[4], Netherlands

[edit] External links

[edit] Rationale Systems

Compendium: A hypermedia tool that provides visual knowledge management capabilities based around IBIS. Free Java application, binary and source, with an active user community who meet annually.