Abstract
Software design consists of determining a high-level organization of a system that meets a given problem specification. We present a prototype system called KASE (Knowledge Assisted Software Engineering) that helps system analysts and designers design and redesign software systems. The KASE environment provides knowledge representation and reasoning tools to integrate knowledge about general software design principles, prototypical software architectures, and application domain. Unlike CASE tools and module interconnection languages that represent the structure of a software system without its semantics, the goal of KASE is to integrate both the structure and the semantics of software modules and to provide active assistance in the design of systems. We illustrate the design process in KASE through an example, focusing on the ability of KASE to provide a co-operative man-machine design environment.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Adelson, B. and Soloway, E.: 1985, The role of domain experience in software design, IEEE Transaction on Software Engineering, SE-11(11), 1351–1360.
Bhansali, S.: 1992, Generic software architecture based redesign, AAAI Spring Symposium on Computational Considerations in Supporting Incremental Modification and Reuse, Stanford, CA.
Bhansali, S. and Harandi, M. T.: 1991, Synthesizing UNIX shell scripts using derivational analogy: an empirical assessment, Ninth National Conference on Artificial Intelligence, Anaheim, CA, AAAI Press/MIT Press, pp. 521–526.
Brooks, F. P., Jr.: 1987, No silver bullet: essence and accidents of software engineering. IEEE Computer, April
Brown, D. C. and Chandrasekaran, B.: 1989, Design Problem Solving: Knowledge Structures and Control Strategies, Morgan Kaufmann, San Mateo, CA:.
Brown, H. D., Schön, E. and Delagi, B. A.: 1986, An experiment in knowledge-based signal understanding using parallel architectures, Technical Report STAN-CS-86-1136, Department of Computer Science, Stanford University.
Chandrasekaran, B.: 1986, Generic tasks in knowledge-based reasoning: high-level building blocks for expert system design, IEEE Expert, 1 (3), 23–30.
Conklin, J. and Begeman, M.: 1989, gIBIS: A tool for all reasons, Journal of the American Society for Information Science, 40, 200–213.
Devanbu, P., Brachman, R. J., Selfridge, P. G. and Ballard, B. W.: 1991, LaSSIE: A knowledge-based software information system, Communications of the ACM, 34 (5), 34–49.
Graves, H.: 1991, Lockheed environment for automatic programming, 6th Annual Knowledge-Based Software Engineering Conference, Syracuse, NY, pp. 78–89.
Guindon, R.: 1990, Knowledge exploited by experts during software system design. International Journal of Man-Machine Studies, 33 (3), 279–304.
Guindon, R.: 1992, Requirements and design of DesignVision, an object-oriented graphical interface to an intelligent software design assistant, ACM Proceedings of CHI′92, Monterrey, CA.
Guindon, R., Krasner, H., and Curtis, B. (eds): 1987, Breakdowns and Processes During The Early Activities Of Software Design By Professionals, Ablex.
Jeffries, R., Turner, A., Poison, P., and Atwood, M. E. (eds): 1981, The Processes involved in designing software, Lawrence Erlbaum, Hillsdale, NJ.
Johnson, W. L. and Feather, M. S.: 1991, Using evolution transformations to construct specifications, in M. Lowry and R. McCartney (eds), Automating Software Design. AAAI Press, Cambridge, MA.
Lubars, M. D. and Harandi, M. T.: 1989, Addressing software reuse through knowledge-based design, in T. J. Biggerstaff and A. J. Perlis (eds), Software Reusability, ACM Press, New York, NY.
Martin, J. and McClure, C.: 1988, Structured Techniques: The Basis for CASE, Prentice Hall, NJ.
Neighbors, J.: 1984, The DRACO approach to constructing software from reusable components, IEEE Transactions on Software Engineering, 10 (9), 564–573.
Nii, H. P., Aiello, N., Bhansali, S., Guindon, R., and Peyton, L.: 1991, Knowledge Assisted Software Engineering (KASE): An introduction and status June 1991, Technical Report KSL-91-28, Knowledge Systems Laboratory, Computer Science Department, Stanford University.
Nii, H. P., Feigenbaum, E. A., Anton, J. J. and Rockmore, A. J.: 1982, Signal-to-symbol transformation: HASP/SIAP Case Study, AI Magazine, Spring, 23–36.
Nii, P.: 1989, Black Board systems, in A. Barr, P. Cohen, and E. Feigenbaum (eds), Handbook of Artificial Intelligence, Addison-Wesley, New York, NY.
Parnas, D. L. and Clements, P. C.: 1986, A rational design process: How and why to fake it, IEEE Transactions on Software Engineering, 12, 251–257.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W.: 1991, Object-Oriented Modeling and Design, Prentice Hall, Englewood Cliffs, NJ.
Swartout, W. and Balzer, R.: 1982, On the inevitable intertwining of specification and implementation, Communications of the ACM, 25 (7), 438–440.
Waters, R. C.: 1985, The Programmer’s Apprentice: a session with KBEmacs, IEEE Transactions on Software Engineering, 11 (11), 1296–1320.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Bhansali, S., Nii, H.P. (1992). KASE: An Integrated Environment for Software Design. In: Gero, J.S., Sudweeks, F. (eds) Artificial Intelligence in Design ’92. Springer, Dordrecht. https://doi.org/10.1007/978-94-011-2787-5_19
Download citation
DOI: https://doi.org/10.1007/978-94-011-2787-5_19
Publisher Name: Springer, Dordrecht
Print ISBN: 978-94-010-5238-2
Online ISBN: 978-94-011-2787-5
eBook Packages: Springer Book Archive