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 verification. 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 benefits 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 figures during monitoring; the availability of documents for monitoring and control; the ability to fit 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
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 specification 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) Artificial 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) Verification 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 Official 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 Artificial 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.