Life cycles in Software and Knowledge Engineering : a comparative review.
Michael Wilson, David Duce Informatics Dept., Rutherford Appleton Laboratory
Dan Simpson Dept. of Computer Science, Brighton Polytechnic.
ABSTRACT Developments in software engineering have led to models of the system life cycle incorporating the use of prototyping and formal methods of program veriﬁcation. These are becoming supported by integrated project support environments and permit the planning and monitoring of software development projects. In contrast, Knowledge Based Systems (KBS) are developed using informal views of the system life cycle. Tools have been developed to support some stages of the life cycle in an undisciplined manner. The commercial use of KBS needs development projects to be planned and monitored. This requires methods and tools based on systematic life cycle models to be established for KBS. This paper reviews the current state of life cycle approaches to software engineering and KBS development projects in order to provide a direction for the development of methodical KBS life cycle models.
-2Introduction Over the past 20 years it has become accepted in the software engineering community that software development should be undertaken using a model of the software life cycle. The beneﬁts of such an approach include: the ability to plan the project; the ability to estimate resource requirements for the development; the ability to size the likely software product; the ability to estimate hardware requirements; the ability to update estimates on the basis of real ﬁgures during monitoring; the availability of documents for monitoring and control; the ability to ﬁt the development process into a Quality Management System; a development structure which may be audited for quality. The result of using life cycle approaches is that the development process is made visible to the project management, project controller, quality controller, the project sponsor and users of the system. The major beneﬁt is that potential problems can be caught early within the development with substantial savings in effort and resources used in rework and correction. The traditional life cycle model used in software engineering has provided some of the above advantages, although it has been shown not to apply to all styles of product development; particularly where the program requirements are initially ill speciﬁed. This paper outlines the state of life cycle models in software engineering and Knowledge Based Systems (KBS) as a foundation for the development of KBS life cycle models and associated development techniques which will allow the KBS builder to develop software in a way which will accrue the beneﬁts listed above. Current Commercial Practice and KBS life cycles.
-3Expert systems have now penetrated the commercial market not only in that tools are being bought to enable industry to explore their potential but also to develop practical systems which are now being used. Some individual organisations have now accumulated considerable experience in the development of KBS, however, there is no consensus in industrial practice on a development method for them. Most KBS currently developed are stand-alone systems that ask users questions and reason through a hierarchical classiﬁcation in order to explain solutions. The problems addressed involve the diagnosis of symptoms or fault ﬁnding. A majority of these systems are small and are based as much on the regulations and theory that describe how decisions should be reached as on human expertise. The development of these systems in industrial practice is led by a colloquial life cycle model based on early experience with KBS development which has been outlined, but not formalised (e.g. Hayes-Roth, Waterman and Lenet, 1983; Frieling et al, 1985). This generally follows the stages described below. 1) Problem description This usually divides into three sub parts: A) The identiﬁcation of...
References: Anjewierden, A. (1987) Knowledge Acquisition Tools. AICOM 0(1). 29-38. Ashworth, C.M. (1988) Structured systems analysis and design method (SSADM). Information and Software Technology, 30 (3), 153-163. Bainbridge, L. (1986) Asking Questions and Accessing Knowledge Future Computing Systems, 1 (2), 143-149. Boehm, B.W. (1981) Software Engineering Economics. Prentice Hall: Englewood Cliffs, NJ, USA. Cambell, I. (1986) PCTE proposal for a common tool interface. In I. Sommerville (ed.) Software Engineering Environments Peter Peregrinus on behalf of the Institution of Electrical Engineers: London. Cercone, N. and McCalla, G. (1987) What is Knowledge Representation. In N. Cercone and G. McCalla (eds.) The Knowledge Frontier: Essays in the Representation of Knowledge. Springer-Verlag: New York. Cohen, B., Harwood, W.T. and Jackson, M.I. (1986) The speciﬁcation of Complex Systems. Addison-Wesley: Wokingham, UK. Crispin, R.J. (1987) Experience Using VDM in STC. In VDM ’87: A Formal Method at Work, VDM-Europe Symposium Springer Verlag: Berlin. Ford, L. (1987) Artiﬁcial Intelligence and Software Engineering: A Tutorial Introduction to There Relationship. Art. Int. Review, 1 (4), 255-273 Frieling, M., Alexander, J., Messick, S., Rehfuss, S. and Shulman, S. (1985) Starting a Knowledge Engineering Project: A Step-by-step Approach. AI Magazine 6 (3), 150-165. Gammack, J. (1987) Different techniques and different aspects on declarative knowledge. In A.L. Kidd (ed.) Knowledge Acquisition for Expert Systems: a Practical Handbook. Plenum Press: New York.
- 20 Green, C.J.R. and Keyes, M.M. (1987) Veriﬁcation and Validation of Expert Systems. In WESTEX 87 - Proceedings of the Western Conference on Expert Systems, 38-43. IEEE Comput. Soc. Press: Washington, D.C. Hart, A. (1987) Role of Induction in Knowledge Elicitation. In A.L. Kidd (ed.) Knowledge Acquisition for Expert Systems: a Practical Handbook. Plenum Press: New York. Hayes-Roth, F., Waterman, D.A., and Lenet, D.B. (1983) Building Expert Systems, Addison-Wesley: Reading, Mass. Hayward (1987) How to build knowledge based systems: techniques, tools, and case studies. In ESPRIT ’87: proceedings of the Esprit Conference, 665-687. CEC: Brussels. Jackson, M.A. (1982) System Development Prentice-Hall International: Englewood Cliffs, NJ. Jones, K. D. (1987) Support Environments for VDM. In VDM ’87: A Formal Method at Work, VDM-Europe Symposium Springer Verlag: Berlin. Keller, R. (1987) Expert System Technology: Development and Application. Yourdon Press: Englewood Cliffs, NJ, USA. Macro, A. and Buxton, J. (1987) The Craft of Software Engineering Addison-Wesley: Reading, Mass. Martinez, J., Muro, P., Silva, M. (1987) Modelling, validation and software implementation of production systems using high level Petri Nets. In Proceedings of the 1987 IEEE International Conference on Robotics and Automation, 1180-1185. IEEE Comput. Soc. Press: Washington, D.C. Mascot (1979) The Ofﬁcial Handbook of MASCOT. MASCOT Suppliers Association McGraw, K.L. and Seale, M.R. (1988) Knowledge Elicitation with Multiple Experts: Considerations and Techniques. Art. Int. Review, 2 (1), 31-44.
- 21 Nguyen, T.A. (1987) Verifying consistency of production systems. In Proceedings of the Third Conference on Artiﬁcial Intelligence Applications, 4-8. IEEE Comput. Soc. Press: Washington, D.C. Partridge, D. and Wilks, Y. (1987) Does AI have a Methodology which is Different from Software Engineering? Art. Int. Review 1 (2), 111-121 Peters, L.J., (1980) Software Representation and Composition Techniques. Proceedings of the IEEE, 68 (9), 1085-93. Prerau, D.S. (1985) Selecting an Appropriate Domain for an Expert System. AI Magazine, 6 (2), Summer, 26-30. Springer-Verlag (Pub.) (1984) Approaches to Prototyping, Springer-Verlag: Berlin. STARTS Purchasers Group (1987) Supplement to the STARTS Purchasers Handbook NCC Publications: Manchester. Williams, A. and Lambert, S. (1988) Expressive Power and Computability. In G.A. Ringland and D.A. Duce (Eds.) Approaches to Knowledge Representation: An Introduction. Research Studies Press: Letchworth, England. Wyatt, J. (1987) The evaluation of clinical decision support systems: a discussion of the methodology in the ACORN project. In J. Fox, M. Fieschi and R. Engelbrecht (eds.) Proceedings of AIME ’87. Springer-Verlag: Berlin. Young, R. (1987) Intermediate Representations. In M.A. Bramer (Ed.) Research and Development in Expert Systems IV, Cambridge University Press: Cambridge. Yourdon, E. (1972) Techniques of program structure and design. Yourdon Press: Englewood Cliffs, NJ.
Please join StudyMode to read the full document