Software architecture critics in Argo

Software architectures are high-level design representations of software systems that focus on composition of software components and how those components interact. Software architectures abstract the details of implementation and allow the designer to focus on essential design decisions. Regardless of notation, designers are faced with the task of making good design decisions, which demands a wide range of knowledge of the problem and solution domains. Argo is a software architecture design environment that supports designers by addressing several cognitive challenges of design. In this paper we describe how Argo supports decision making by automatically supplying knowledge that is timely and relevant to decisions at hand.

[1]  W Kintsch,et al.  Understanding and solving word arithmetic problems. , 1985, Psychological review.

[2]  Willemien Visser,et al.  More or Less Following a Plan During Design: Opportunistic Deviations in Specification , 1990, Int. J. Man Mach. Stud..

[3]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[4]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[5]  W. Stacy,et al.  Cognitive bias in software engineering : Cognition and software development , 1995 .

[6]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[7]  Donald A. Schön,et al.  The Reflective Practitioner: How Professionals Think in Action. , 1987 .

[8]  Robert L. Nord,et al.  Software Architecture in Industrial Applications , 1995, 1995 17th International Conference on Software Engineering.

[9]  Gerhard Fischer,et al.  Embedding computer-based critics in the contexts of design , 1993, INTERCHI.

[10]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[11]  R. J. Bogumil,et al.  The reflective practitioner: How professionals think in action , 1985, Proceedings of the IEEE.

[12]  Jason E. Robbins,et al.  Extending design environments to software architecture design , 1996, Proceedings of the 11th Knowledge-Based Software Engineering Conference.

[13]  D. Schoen,et al.  The Reflective Practitioner: How Professionals Think in Action , 1985 .

[14]  Webb Stacy,et al.  Cognitive bias in software engineering , 1995, CACM.

[15]  Bill Curtis,et al.  Breakdowns and processes during the early activities of software design by professionals , 1987 .

[16]  Donald A. Schön Designing as reflective conversation with the materials of a design situation , 1992, Knowl. Based Syst..