Rigorous approach to the development of knowledge-based systems

Knowledge-based systems have often been criticized for the limited theoretical base on which they are constructed. The partially valid view, held by many, is that systems are often constructed in an ad hoc, individual way, which leads to unmaintainable, unreliable, and unrigorous systems. This holds even though there have been several attempts at producing development methodologies to assist the knowledge engineer in the construction process1-7. A large contributing reason for the limited applicability of these methodologies is that they often too closely follow the waterfall model approach used for the development of conventional software systems8. This approach forces developers to make large jumps in the system state during development, which is not necessarily the most conductive way to model the domain accurately. The paper therefore aims to introduce a new alternative approach that shows the benefits of taking a software engineering philosophy towards the development of knowledge-based systems. The methodology breaks down the process of creating a knowledge-based system into constituent parts and discusses ways of creating rigorous specifications for those parts, as applicable. This includes specifying the knowledge base, the representation, the control architecture, etc., thus promoting quality systems that are better specified, more reliable, and easier to maintain.

[1]  M. Holy,et al.  Erosion and environment. , 1980 .

[2]  Jacob W. Ulvila,et al.  Testing knowledge-based systems: The state of the practice and suggestions for improvement , 1990 .

[3]  Daniel E. O'Leary,et al.  VALIDATION OF EXPERT SYSTEMS- WITH APPLICATIONS TO AUDITING AND ACCOUNTING EXPERT SYSTEMS* , 1987 .

[4]  J. Michael Spivey,et al.  Understanding Z : A specification language and its formal semantics , 1985, Cambridge tracts in theoretical computer science.

[5]  Solomon L. Pollack,et al.  Decision Tables Theory and Practice , 1971 .

[6]  Cliff B. Jones,et al.  Software development - a rigorous approach , 1980, Prentice Hall international series in computer science.

[7]  T. L. D. Regulinski,et al.  On reliability of expert systems , 1991 .

[8]  Randall Davis,et al.  Expert Systems: Where Are We? And Where Do We Go from Here? , 1982, AI Mag..

[9]  Ulises Cortés,et al.  Knowledge Acquisition Combining Analytical and Empirrcal Techniques , 1991, ML.

[10]  Nigel Shadbolt,et al.  A formal evaluation of knowledge elicitation techniques for expert systems: domain 1 , 1988 .

[11]  C. A. Harris,et al.  Knowledge acquisition techniques for expert systems , 1989 .

[12]  Casimir A. Kulikowski,et al.  A Practical Guide to Designing Expert Systems , 1984 .

[13]  Michael J. Freiling,et al.  Knowledge Level Engineering Ontological Analysis , 1986, AAAI.

[14]  Gerald F. Gifford,et al.  Influence of Vegetation, Rock Cover, and Trampling on Infiltration Rates and Sediment Production , 1980 .

[15]  Michael Z. Spivey,et al.  The Z notation , 1989 .

[16]  Mark D. Grover,et al.  A Pragmatic Knowledge Acquisition Methodology , 1983, IJCAI.

[17]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[18]  G. Cannell,et al.  Erosion and Its Control in Semi-Arid Regions , 1979 .

[19]  Ronald M. Lee,et al.  VP-Expert for business applications , 1988 .

[20]  Larry Kerschberg,et al.  Developing knowledge-based systems: reorganizing the system development life cycle , 1989, CACM.

[21]  Jifeng He,et al.  Specification, analysis and refinement of interactive processes , 1990 .

[22]  Robert J. K. Jacob,et al.  Using formal specifications in the design of a human-computer interface , 1983, CACM.

[23]  G. Kelly The Psychology of Personal Constructs , 2020 .

[24]  John Rushby,et al.  Quality Measures and Assurance for AI Software1 , 1988 .

[25]  Robert Plant,et al.  Factors in software quality for knowledge-based systems , 1991 .

[26]  Osman Balci,et al.  Validating Expert System Performance , 1987, IEEE Expert.

[27]  C.L. Chang,et al.  Validation of nonmonotonic knowledge-based systems , 1990, [1990] Proceedings of the 2nd International IEEE Conference on Tools for Artificial Intelligence.