Abstract
The field of knowledge-based software engineering has been undergoing a shift in emphasis from automatic programming to human augmentation and empowerment. In our research work, we support this shift with an approach that embedshuman-computer cooperative problem-solving tools intodomain-oriented, knowledge-based design environments. Domain orientation reduces the large conceptual distance between problem-domain semantics and software artifacts. Integrated environments support the coevolution of specification and construction while allowing designers to access relevant knowledge at each stage within the software development process.
This paper argues thatdomain-oriented design environments (DODEs) are complementary to the approaches pursued withknowledge-based software assistant systems (KBSAs). The DODE extends the KBSA framework by emphasizing a human-centered and domain-oriented approach facilitating communication about evolving systems among all stakeholders. The paper discusses the major challenges for software systems, develops a conceptual framework to address these problems, illustrates DODE with two examples, and assesses the contributions of the KBSA and DODE approaches toward solving these problems.
References
Atwood, M. E., Burns, B., Gray, W. D., Morch, A. I., Radlinski, E. R., and Turner, A. 1991.The Grace Integrated Learning Environment—A Progress Report, Proceedings of the Fourth International Conference on Industrial & Engineering Applications of Artificial Intelligence & Expert Systems (IEA/AIE 91), ACM, June 1991, pp. 741–745.
Barstow, D. R., Shrobe, H. E., and Sandewall, E. (eds.) 1984.Interactive Programming Environments. New York: McGraw-Hill Book Company.
Belady, L. 1985. MCC: Planning the revolution in software.IEEE Software, November: 68–73.
Billings, C. E. 1991.Human-Centered Aircraft Automation: A Concept and Guidelines. NASA Technical Memorandum 103885, NASA Ames Research Center, Moffett Field, CA.
Boehm, B. W. 1988. A spiral model of software development and enhancement.IEEE Computer, 21(5):61–72.
Brooks, F. P., Jr. 1987. No silver bullet: Essence and accidents of software engineering.IEEE Computer, 20(4):10–19.
Buxton, W. A. S., Lamb, M. R., Sherman, D., and Smith, K. C. 1983. Towards a comprehensive user interface management system.Computer Graphics, 17(3):35–42.
Cross, N. 1984.Developments in Design Methodology. New York: John Wiley & Sons.
Computer Science and Technology Board. 1988.Scaling Up: A Research Agenda for Software Engineering. Washington, DC: National Academy Press.
Computer Science and Technology Board. 1990. Scaling up: A research agenda for software engineering.Communications of the ACM, 33(3):281–293.
Curtis, B., Krasner, H., and Iscoe, N. 1988. A field study of the software design process for large systems.Communications of the ACM, 31(11):1268–1287.
Dawkins, R. 1987.The Blind Watchmaker. New York: W.W. Norton and Company.
DeBellis, M., Sasso, W. C., and Cabral, G. 1991. Directions for future KBSA research. InProceedings of the 6th Annual Knowledge-Based Software Engineering (KBSE-91) Conference (Syracuse, NY), Rome Laboratory, New York, September 1991, pp. 138–142.
Devanbu, P., Brachman, R. J., Sefridge, P. G., and Ballard, B. W. 1991. LaSSIE: A knowledge-based software information system.Communications of the ACM, 34(5):34–49.
Ehn, P. 1988.Work-Oriented Design of Computer Artifacts. Stockholm, Sweden: Almquist & Wiksell International.
Eisenberg, M. 1991.Programmable Applications: Interpreter Meets Interface. Technical Report 1325, Department of Electrical Engineering and Computer Science, MIT.
Engelbart, D. C., and English, W. K. 1968. A research center for augmenting human intellect. InProceedings of the AFIPS Fall Joint Computer Conference, The Thompson Book Company, Washington, D.C., pp. 395–410.
Fickas, S., and Nagarajan, P. 1988. Critiquing software specifications.IEEE Software, 5(6):37–47.
Fischer, G. 1990. Communications requirements for cooperative problem solving systems.The International Journal of Information Systems (Special Issue on Knowledge Engineering), 15(1):21–36.
Fischer, G. 1991. Supporting learning on demand with design environments. InProceedings of the International Conference on the Learning Sciences 1991 (Evanston, IL), edited by Lawrence Birnbaum, Association for the Advancement of Computing in Education, Charlottesville, VA, August, pp. 165–172.
Fischer, G., Lemke, A. C., McCall, R., and Morch, A. 1991a. Making argumentation serve design.Human Computer Interaction, 6(3–4):393–419.
Fischer, G., Lemke, A. C., Mastaglio, T., and Morch, A. 1991b. The role of critiquing in cooperative problem solving.ACM Transactions on Information Systems, 9(2):123–151.
Fischer, G., Grudin, J., Lemke, A. C., McCall, R., Ostwald, J., Reeves, B. N., and Shipman, F. 1992a. Supporting indirect, collaborative design with integrated knowledge-based design environments.Human Computer Interaction, Special Issue on Computer Supported Cooperative Work, 7(3):281–314.
Fischer, G., Girgensohn, A., Nakakoji, K., and Redmiles, D. 1992b. Supporting software designers with integrated, domain-oriented design environments.IEEE Transactions on Software Engineering, Special Issue on Knowledge Representation and Reasoning in Software Engineering, 18(6):511–522.
Fischer, G., Nakakoji, K., Ostwald, J., Stahl, G., and Sumner, T. 1993. Embedding computer-based critics in the contexts of design.Human Factors in Computing Systems, INTERCHI'93 Conference Proceedings, ACM, pp. 157–164.
Fischer, G., and Girgensohn, A. 1990. End-user modifiability in design environments. InHuman Factors in Computing Systems, CHI'90 Conference Proceedings (Seattle, WA), ACM, New York, April, pp. 183–191.
Fischer, G., and Lemke, A. C. 1988. Construction kits and design environments: Steps toward human problem-domain communication.Human-Computer Interaction, 3(3):179–222.
Fischer, G., McCall, R., and Morch, A. 1989. JANUS: Integrating hypertext with a knowledge-based design environment. InProceedings of Hypertext'89 (Pittsburgh, PA), ACM, New York, November, pp. 105–117.
Fischer, G., and Nakakoji, K. 1992. Beyond the macho approach of artificial intelligence: Empower human designers—Do not replace them.Knowledge-Based Systems Journal, 5(1):15–30.
Gantt, M., and Nardi, B. A. 1992. Gardeners and gurus: Patterns of cooperation among CAD users. InHuman Factors in Computing Systems, CHI'92 Conference Proceedings (Monterrey, CA), ACM, May, pp. 107–117.
Green, C., Luckham, D., Balzer, R., Cheatham, T., and Rich, C. 1983.Report on a Knowledge-Based Software Assistant. Technical Report RADC-TR-83-195, Rome Air Development Center, August 1983, Reprinted inReadings in Artificial Intelligence and Software Engineering, edited by C. H. Rich and R. Waters, pp. 377–428. Los Altos, CA: Morgan Kaufmann Publishers, 1986.
Greenbaum, J., and Kyng, M. (eds.) 1991.Design at Work: Cooperative Design of Computer Systems. Hillsdale, NJ: Lawrence Erlbaum Associates.
Henderson, A., and Kyng, M. 1991. There's no place like home: Continuing design in use. InDesign at Work: Cooperative Design of Computer Systems, edited by J. Greenbaum and M. Kyng, pp. 219–240. Hillsdale, NJ: Lawrence Erlbaum Associates.
Hill, W. C. 1989. The mind at AI: Horseless carriage to clock.AI Magazine, 10(2):29–41.
Johnson, W. L., Feather, M. S., and Harris, D. R. 1991. The KBSA requirements/specification facet: ARIES. InProceedings of the 6th Annual Knowledge-Based Software Engineering (KBSE-91) Conference (Syracuse, NY), Rome Laboratory, New York, September, pp. 53–64.
Kant, E. 1992. Knowledge-based support for scientific programming. InProceedings of the 7th Annual Knowledge-Based Software Engineering (KBSE-92) Conference (McLean, VA), IEEE Computer Society Press, Los Alamitos, CA, September, pp. 2–4.
Kant, E. 1993. Synthesis of mathematical modeling software.IEEE Software, May: 30–41.
Kishida, K., Katayama, T., Matsuo, M., Miyamoto, I., Ochimizu, K., Saito, N., Sayler, J. H., Torii, K., and Williams, L. G. 1988. SDA: A novel approach to software environment design and construction. InProceedings of the 10th International Conference on Software Engineering (Singapore), IEEE Computer Society Press, Washington, DC, April, pp. 69–79.
Lee, L. 1992.The Day The Phones Stopped. New York: Donald I. Fine.
Lemke, A. C. 1989.Design Environments for High-Functionality Computer Systems. Unpublished Ph.D. Dissertation, Department of Computer Science, University of Colorado, July.
Lemke, A. C., and Fischer, G. 1990. A cooperative problem solving system for user interface design. InProceedings of AAAI-90, Eighth National Conference on Artificial Intelligence, AAAI Press/The MIT Press, Cambridge, MA, August, pp. 479–484.
Lemke, A. C., and Gance, S. 1991.End-User Modifiability in a Water Management Application. Technical Report CU-CS-541-91, Department of Computer Science, University of Colorado.
Maiden, N., and Sutcliffe, A. 1992. Domain abstractions in requirements engineering: An exemplar approach? InProceedings of the 7th Annual Knowledge-Based Software Engineering (KBSE-92) Conference (McLean, VA), IEEE Computer Society Press, Los Alamitos, CA, September, pp. 112–121.
Nakakoji, K. 1993.Increasing Shared Understanding of a Design Task Between Designers and Design Environments: The Role of a Specification Component. Unpublished Ph.D. Dissertation, Department of Computer Science, University of Colorado. Also available as Technical Report CU-CS-651-93.
Nardi, B. A. 1993.A Small Matter of Programming. Cambridge, MA: The MIT Press.
Norman, D. A. 1993.Things That Make Us Smart. Reading, MA: Addison-Wesley Publishing Company.
Osterweil, L. 1987. Software processes are software too. InProceedings of the 9th International Conference on Software Engineering (Monterey, CA, IEEE Computer Society, Washington, DC, March, pp. 2–13.
Petroski, H. 1985.To Engineer Is Human: The Role of Failure in Successful Design. New York: St. Martin's Press.
Polanyi, M. 1966.The Tacit Dimension. Garden City, NY: Doubleday.
Prieto-Diaz, R., and Arango, G. 1991.Domain Analysis and Software Systems Modeling. Los Alamitos, CA: IEEE Computer Society Press.
Proceedings of IEEE International Symposium on Requirements Engineering, 1993. IEEE Computer Society, IEEE Computer Society Press, Los Alamitos, CA, January.
Redmiles, D. F. 1992.From Programming Tasks to Solutions—Bridging the Gap Through the Explanation of Examples. Ph.D. Dissertation, Department of Computer Science, University of Colorado, Boulder, CO. Also available as Technical Report CU-CS-629-92.
Repenning, A., and Sumner, T. 1992. Using Agentsheets to create a voice dialog design environment. InProceedings of the 1992 ACM/SIGAPP Symposium on Applied Computing, ACM Press, pp. 1199–1207.
Resnick, L. B. 1991. Shared cognition: Thinking as social practice. InPerspectives on Socially Shared Cognition, edited by L. B. Resnick, J. M. Levine, and S. D. Teasley, American Psychological Association, Washington, DC, pp. 1–20, ch. 1.
Reubenstein, H. B., and Waters, R. C. 1991. The requirements apprentice: Automated assistance for requirements acquisition. InIEEE Transactions on Software Engineering, 17(3):226–240.
Rich, C. H., and Waters, R. (eds.) 1986.Readings in Artificial Intelligence and Software Engineering. Los Altos, CA: Morgan Kaufmann Publishers.
Rich, C. H., and Waters, R. C. 1988. Automatic programming: Myths and prospects.Computer, 21(8):40–51.
Rittel, H. W. J. 1984. Second-generation design methods. InDevelopments in Design Methodology, edited by N. Cross, pp. 317–327. New York: John Wiley & Sons.
Royce, W. W. 1987. Managing the development of large software systems: Concepts and techniques. InProceedings of the 9th International Conference on Software Engineering (Monterey, CA, IEEE Computer Society, Washington, DC, pp. 328–338 (reprint of a paper originally published in 1970).
Schoen, D. A. 1983.The Reflective Practitioner: How Professonals Think in Action. New York: Basic Books.
Schoen, E., Smith, R. G., and Buchanan, B. G. 1988. Design of knowledge-based systems with a knowledge-based assistant.IEEE Transactions on Software Engineering, SE-14(12):1771–1791.
Shaw, M. 1989. Maybe your next programming language shouldn't be a programming language. InScaling Up: A Research Agenda for Software Engineering, edited by the Computer Science and Technology Board, pp. 75–82. Washington, DC: National Academy Press.
Sheil, B. A. 1983. Power tools for programmers.Datamation, February: 131–143.
Simon, H. A. 1981.The Sciences of the Artificial. Cambridge, MA: The MIT Press.
Simon, H. A. 1986. Whether software engineering needs to be artificially intelligent.IEEE Transactions on Software Engineering, SE-12(7):726–732.
Stahl, G. 1993.Interpretation in Design: The Problem of Tacit and Explicit Understanding in Computer Support of Cooperative Design. Ph.D. Dissertation, Department of Computer Science, University of Colorado, Boulder, CO.
Stefik, M. J. 1986. The next knowledge medium.AI Magazine, 7(1):34–46.
Suchman, L. A. 1987.Plans and Situated Actions. Cambridge, UK: Cambridge University Press.
Swartout, W. R., and Balzer, R. 1982. On the inevitable intertwining of specification and implementation.Communications of the ACM, 25(7):438–439.
Terveen, L. G., Selfridge, P. G., and Long, M. D. 1993. From folklore to living design memory. InHuman Factors in Computing Systems, INTERCHI'93 Conference Proceedings, ACM, April, pp. 15–22.
Thomas, J. C., and Kellogg, W. A. 1989. Minimizing ecological gaps in interface design. InIEEE Software, 6 (January): 78–86.
Waters, R. C. 1985. The programmer's apprentice: A session with KBEmacs.IEEE Transactions on Software Engineering, SE-11(11):1296–1320.
White, D. A. 1991. The knowledge-based software assistant: A program summary. InProceedings of the 6th Annual Knowledge-Based Software Engineering (KBSE-91) Conference (Syracuse, NY, Rome Laboratory, New York, September, pp. vi-xiii.
Winograd, T. 1979. Beyond programming languages.Communications of the ACM, 22(7):391–401.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Fischer, G. Domain-oriented design environments. Autom Software Eng 1, 177–203 (1994). https://doi.org/10.1007/BF00872289
Issue Date:
DOI: https://doi.org/10.1007/BF00872289
Keywords
- automatic programming
- cooperative problem solving
- co-evolution of specification and construction
- critiquing
- design
- domain-oriented design environments
- design rationale
- end-user modifiability
- evolution
- FRAMER
- formal specifications
- JANUS
- knowledge-based software assistant
- languages of doing
- software reuse and redesign
- stakeholders
- upstream and downstream activities