Application Note
Prolog versus Kee — A case study

https://doi.org/10.1016/0954-1810(92)90003-KGet rights and content

Abstract

The selection of the software development tool for the development of an expert system is a difficult and often disputed decision. This paper describes a comparison of a knowledge engineering tool, Kee, and a general purpose language, Prolog, on concrete and real life example from AGATHA, an electronic circuit board diagnosis expert system.

Prolog is a high-level programming language with flexible and powerful inference mechanisms. Kee is a big tool that supports a frame-based knowledge representation, an object-oriented programming style and a built-in rule system. It also offers a window environment suitable for rapid development of user-interface prototypes.

Prolog's representation is more succinct, implicit and uses problem specific predicates and therefore leaves more room for personal programming styles. Kee is more verbose, explicit and uses standard templates. The maintainability of a Prolog implementation relies heavily on good documentation. In Kee, the unavoidable ‘escapes to Lisp’ require a maintainer to be fluent in Kee and Lisp.

Both Prolog and Kee require a considerable investment in learning time.

References (15)

  • D. Allred et al.

    Agatha: an integrated expert system to test and diagose complex PC boards

  • D. Allred et al.

    AGATHA, an expert system for board test diagnosis

  • R.G. Bennetts

    Design of Testable Logic Circuits

    (1984)
  • W.F. Clocksin et al.

    Programming in Prolog

    (1981)
  • Kleer J de et al.

    Diagnosing multiple faults

    Artificial Intelligence

    (1987)
  • R. Fikes et al.

    The role of frame-based representation in reasoning, Communication of The ACM

    (September 1985)
  • P. Hammond

    Logic programming for knowledge based systems: some benefits and drawbacks of Prolog

There are more references available in the full text version of this article.

Cited by (0)

View full text