Skip to Main Content
 

Global Search Box

 
 
 
 

ETD Abstract Container

Abstract Header

Meta-programming for knowledge-based systems in Prolog

Yalcinalp, L. Umit

Abstract Details

1991, Doctor of Philosophy, Case Western Reserve University, Computer Engineering.
Meta-programming languages provide a high level abstraction for explicit representation of other languages and their control mechanisms. It is easy to define, extend and alter a model of computation by meta-programming techniques. Tools for representing special purpose domain languages and inference mechanisms are crucial for developing knowledge based systems. This thesis concerns the use of meta-programming for this purpose, by identifying and extending relevant meta-programming techniques in Prolog for building expert system shells. Prolog's representation can be used directly to represent the rules of a knowledge based system. However, this approach is very limited because of a hard-wired representation of a domain language and its interpretation. In Prolog, we can represent and access the language constructs of the language and also its interpretation by meta-programming. A meta-interpreter provides an explicit representation based on an abstraction of a computational model. Using meta-interpreters as a basis for writing special purpose shells is well known. The selected model is then extended by techniques to write special purpose interpreters for revealing, altering and extending Prolog's representation. This thesis studies known meta-interpreters and demonstrates techniques to enhance them as e xpert systems shells. The extensions in the literature are based on the well known vanilla meta-interpreter for modelling Prolog's computation in Prolog. The novel concept in this thesis is a layered abstraction where the computation is described in two layers. The layered interpreter provides a flexible framework as the computation can be tailored for a single line or multiple lines of reasoning, unlike extensions to vanilla interpreter. This abstraction allows us to model failure and negation, and also cuts explicitly in a single interpreter. It is used as a proper basis to develop expert system shells for explanation and uncertainty. The explanation shell can explain successes, failures and negation and also illustrates the effects of cuts in the computation. For uncertainty, the shell can be tailored to accomodate different belief calculi for combining multiple evidence, such as point valued certainties or multi-valued Dempster-Shafer theory. We also demonstrate the development and integration of a language for ordinal reasoning within Prolog and discuss emerging approaches in other logic programming languages for meta-programming.
Leon Sterling (Advisor)
181 p.

Recommended Citations

Citations

  • Yalcinalp, L. U. (1991). Meta-programming for knowledge-based systems in Prolog [Doctoral dissertation, Case Western Reserve University]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=case1055947333

    APA Style (7th edition)

  • Yalcinalp, L.. Meta-programming for knowledge-based systems in Prolog. 1991. Case Western Reserve University, Doctoral dissertation. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=case1055947333.

    MLA Style (8th edition)

  • Yalcinalp, L.. "Meta-programming for knowledge-based systems in Prolog." Doctoral dissertation, Case Western Reserve University, 1991. http://rave.ohiolink.edu/etdc/view?acc_num=case1055947333

    Chicago Manual of Style (17th edition)