This Article 
 Bibliographic References 
 Add to: 
Supporting Software Designers with Integrated Domain-Oriented Design Environments
June 1992 (vol. 18 no. 6)
pp. 511-522

An approach that embeds human-computer cooperative problem-solving tools into knowledge-based design environments that work in conjunction with human software designers in specific application domains is described. This human-centered approach takes advantage of peoples' ability to understand and incrementally reformulate their problems, while allowing them to contribute to the gradual improvement of the underlying knowledge base. The notion of evolution circumvents the inability of the original builders of a design environment to anticipate all future needs and knowledge for complete coverage of a domain. The access and development of knowledge is supported in a cycle of location, comprehension, and modification. Modification includes the evolution of the knowledge base and tools. A framework for building such tools and mechanisms is described and illustrated in terms of three systems: CATALOGEXPLORER, EXPLAINER, and MODIFIER. User studies of these systems demonstrate the promise and the limitations of the design environment approach.

[1] L.B. Archer, "Whatever became of design methodology," inDevelopments in Design Methodology, N. Cross, Ed. New York: Wiley, 1984, pp. 347-349.
[2] D. Barstow, "A perspective on automatic programming," inProc. Eighth Int. Joint Conf. Artificial Intelligence, pp. 1170-1179, 1983.
[3] D.R. Barstow, H.E. Shrobe, and E. Sandewall, Eds.,Interactive Programming EnvironmentsNew York: McGraw-Hill, 1984.
[4] F.L. Bauer, "Programming as an evolutionary process," inProc. Second Int. Conf. Software Engineering, pp. 223-234, 1976.
[5] T.J. Biggerstaff, "Design recovery for maintenance and reuse,"IEEE Computer, vol. 22, pp. 36-49, July 1989.
[6] D.G. Bobrow and T. Winograd, "An overview of KRL: A knowledge representation language,"Cognitive Science, vol. 1, pp. 3-46, 1977.
[7] B.W. Boehm, "A spiral model of software development and enhancement,"IEEE Computer, vol. 21, pp. 61-72, May 1988.
[8] J. Conklin and M.L. Begeman, "A hypertext tool for exploratory policy discussion,"ACM Trans. Office Inform. Syst., vol. 6, no. 4, pp. 303-331, 1988.
[9] Computer Science and Technology Board, "Scaling up: A research agenda for software engineering,"Commun. ACM, vol. 33, pp. 281-293, Mar. 1990.
[10] B. Curtis, H. Krasner, and N. Iscoe, "A Field Study of the Software Design Process for Large Systems,"Comm. ACM, Vol. 31, No. 11, pp. 1,268-1,287.
[11] P. Devanbu, R. Brachman, P. Selfridge, and B. Ballard, "LaSSIE: A knowledge-based software information system,"Commun. ACM, vol. 34, pp. 35-49, 1991.
[12] D.C. Engelbart, "A conceptual framework for the augmentation of man's intellect," inComputer-Supported Cooperative Work: A Book of Readings, I. Greif, Ed. San Mateo, CA: Morgan Kaufmann, 1988, pp. 35-66, ch. 2.
[13] G. Fischer, T. Mastaglio, B.N. Reeves, and J. Rieman, "Minimalist explanations in knowledge-based systems," inProc. 23rd Hawaii Int. Conf. System Sciences, vol. III: Decision Support and Knowledge Based Systems Track, Jay F. Nunamaker, Jr, Ed., pp. 309-317, 1990.
[14] G. Fischer, A.C. Lemke, R. McCall, and A. March, "Making argumentation serve design,"Human Computer Interaction, vol. 6, pp. 393-419, 1991.
[15] G. Fischer, A.C. Lemke, T. Mastaglio, and A. March, "The role of critiquing in cooperative problem solving,"ACM Trans. Inform. Syst., vol. 9, pp. 123-151, 1991.
[16] G. Fischer and A. Girgensohn, "End-user modifiability in design environments," inHuman Factors in Computing Systems, CHI'90 Conf. Proc., pp. 183-191, Apr. 1990.
[17] G. Fischer, S.R. Henninger, and D.F. Redmiles, "Cognitive tools for locating and comprehending software objects for reuse," inProc. Thirteenth Int. Conf. Software Engineering, pp. 318-328, 1991.
[18] G. Fischer and A.C. Lemke, "Constrained design processes: Steps towards convivial computing," inCognitive Science and its Application for Human-Computer Interaction, R. Guindon, Ed. Hillsdale, NJ: Lawrence Erlbaum, 1988, pp. 1-58, ch. 1.
[19] G. Fischer, R. McCall, and A. Morch, "Janus: Integrating hypertext with a knowledge-based design environment," inProc. Hypertext 89. New York: ACM, 1989, pp. 105-117.
[20] G. Fischer and K. Nakakoji, "Beyond the macho approach of artificial intelligence: Empower human designers--Do not replace them,"Knowledge-Based Systems J., to be published.
[21] G. Fischer and B. N. Reeves, "Beyond intelligent interfaces: Exploring, analyzing and creating success models of cooperative problem solving,"Applied Intelligence, special issue, intelligent interfaces, to be published.
[22] A. Girgensohn and F. Shipman, "Supporting knowledge acquisition by end users: Tools and representations," inProc. Symp. Applied Computing, pp. 310-348, Mar. 1992.
[23] D.R. Harris and W.L. Johnson, "Sharing and reuse of requirements knowledge," inProc. 6th Annual Knowledge-Based Software Engineering (KBSE-91) Conf., pp. 65-77, Sept. 1991.
[24] G.T. Heineman, G.E. Kaiser, N.S. Barghouti, and I.Z. Ben-Shaul, "Rule chaining in MARVEL: Dynamic binding of parameters," inProc. 6th Annual Knowledge-Based Software Engineering (KBSE-91) Conf., pp. 276-287, Sept. 1991.
[25] A. Henderson and M. Kyng, "There's no place like home: Continuing design in use," inDesign at Work: Cooperative Design of Computer Systems, J. Greenbaum and M. Kyng, Eds. Hillsdale, NJ: Lawrence Erlbaum Associates, 1991, pp. 219-240, ch. 11.
[26] R. Jeffries, A.A. Turner, P.G. Polson, and M. Atwood, "The processes involved in designing software," inCognitive Skills and Their Acquisition, J.R. Anderson, Ed. Hillsdale, NJ: Lawrence Erlbaum Associates, 1981, pp. 255-283, ch. 8.
[27] K. Kishida, T. Katayama, M. Matsuo, I. Miyamoto, K. Ochimizu, N. Saito, J.H. Sayler, K. Torii, and L.G. Williams, "SDA: A novel approach to software environment design and construction," inProc. 10th Int. Conf. Software Engineering, pp. 69-79, Apr. 1988.
[28] J.L. Kolodner, "Improving human decision making through case-based decision aiding,"AI Magazine, vol. 12, pp. 52-68, Summer 1991.
[29] W. Kunz and H.W.J. Rittel, "Issues as elements of information systems," Working Paper 131, Center for Planning and Development Research, Univ. California, 1970.
[30] J. Lee, "SIBYL: a tool for managing group decision rationale," inProc. Conf. Computer-Supported Cooperative Work(Los Angeles, CA), Oct. 1990, pp. 79-92.
[31] A.C. Lemke and G. Fischer, "A cooperative problem solving system for user interface design," inProc. AAAI-90, pp. 479-484, Aug. 1990.
[32] A. MacLean, R. Young, and T. Moran, "Design rationale: The argument behind the artifact," inProc. Conf. Human Factors in Computing Systems, pp. 247-252, 1989.
[33] W.C. Mann, "An introduction to the Nigel text generation grammar," inSystemic Perspectives on Discourse: Selected Theoretical Papers from the 9th International Systemic Workshop, J.D. Benson, R.O. Freedle, W.S. Greaves, Eds., Ablex, 1985, pp. 84-95, ch. 4.
[34] M.W. Meteer, D.D. MacDonald, S.D. Anderson, D. Forster, L.S. Gay, A.K. Huettner, and P. Sibun, "Mumble-86: Design and implementation,"Coins Tech. Rep. 87-87, Computer and Information Science, Univ. Massachusetts at Amherst, Sept. 1987.
[35] J. Moore and A. Newell, "How can MERLIN understand?," inKnowledge and Cognition, L.W. Gregg, Ed. Potomac, MD: Erlbaum, 1974, pp. 201-252.
[36] J. M. Neighbors, "The Draco approach to constructing software from reusable components,"IEEE Trans. Software Eng., vol. SE-10, pp. 564-574, Sept. 1984.
[37] J. Nielsen and J.T. Richards, "The experience of learning and using Smalltalk,"IEEE Software, pp. 73-77, May 1989.
[38] R. Prieto-Diaz and G. Arango,Domain Analysis and Software Systems Modeling, IEEE Computer Society Press, Los Alamos, CA, 1991.
[39] H. B. Reubenstein, "Automated acquisition of evolving informal descriptions," Ph.D. dissertation, MIT Artificial Intelligence Lab., Rep. MIT/AI/TR-1205, June 1990.
[40] C.H. Rich and R.C. Waters, "Automatic programming: Myths and prospects,"Computer, vol. 21, pp. 40-51, Aug 1988.
[41] H.W.J. Rittel, "Second-generation design methods," inDevelopments in Design Methodology, N. Cross, Ed. New York: Wiley, 1984, pp. 317-327.
[42] D.A. Schoen,The Reflective Practitioner: How Professionals Think in Action. New York: Basic Books, 1983.
[43] E. Schoen, R.G. Smith, and B.G. Buchanan, "Design of knowledge-based systems with a knowledge-based assistant,"IEEE Trans. Software Eng., vol. SE-14, pp. 1771-1791, Dec. 1988.
[44] J. L. Peterson and A. Silberschaz,Operating Systems Concepts. Reading, MA: Addison-Wesley, 1986.
[45] H. A. Simon,The Sciences of the Artificial, 2nd ed. Cambridge, MA: MIT Press, 1981.
[46] S. Slade, "Case-based reasoning: A research paradigm,"AI Magazine, vol. 12, pp. 42-55, Spring 1991.
[47] G. L. Steele Jr.,Common Lisp: The Language (Second Edition). Burlington, MA: Digital Press, 1990.
[48] L.A. Suchman,Plans and Situated Actions. Cambridge, UK: Cambridge University Press, 1987.
[49] W.R. Swartout and R. Balzer, "On the inevitable intertwining of specification and implementation,"Commun. ACM, vol. 25, pp. 438-439, July 1982.
[50] Symbolics, Inc., User's Guide to Basic Joshua, Cambridge, MA, 1988.
[51] Symbolics, Inc., Common Lisp Interface Manager (CLIM): Release 1.0, Burlington, MA, 1991.
[52] W. Teitelman and L. Masinter, "The interlisp programming environment," inInteractive Programming Environments, D.R. Barstow, H.E. Shrobe, and E. Sandewall, Eds. New York: McGraw-Hill, 1984, pp. 83-96.
[53] J.H. Walker, "Document examiner: Delivery interface for hypertext documents," Hypertext'87 Papers, University of North Carolina, Chapel Hill, NC, pp. 307-323, Nov. 1987.
[54] R. C. Waters, "The programmers' apprentice: A session with KBEmacs,"IEEE Trans Software Eng., vol. SE-11, no. 11, pp. 1296-1320, Nov. 1985.
[55] D.A. White, "The knowledge-based software assistant: A program summary," inProc. 6th Annual Knowledge-Based Software Engineering Conf., pp. vi-xiii, Sept. 1991.
[56] T. Winograd and F. Flores,Understanding Computers and Cognition: A New Foundation for Design. Norwood, NJ: Ablex, 1986.
[57] D.A. Wroblewski, T.P. McCandless, and W.C. Hill, "DETENTE: Practical support for practical action," inProc. Conf. Human Factors in Computing Systems, pp. 195-202, 1991.

Index Terms:
problem reformulation; software designers; domain-oriented design environments; human-computer cooperative problem-solving tools; knowledge-based design environments; location; comprehension; modification; CATALOGEXPLORER; EXPLAINER; MODIFIER; expert systems; programming environments; user interfaces
G. Fischer, A. Girgensohn, K. Nakakoji, D. Redmiles, "Supporting Software Designers with Integrated Domain-Oriented Design Environments," IEEE Transactions on Software Engineering, vol. 18, no. 6, pp. 511-522, June 1992, doi:10.1109/32.142873
Usage of this product signifies your acceptance of the Terms of Use.