Skip to Main Content
Frequently Asked Questions
Submit an ETD
Global Search Box
Need Help?
Keyword Search
Participating Institutions
Advanced Search
School Logo
Files
File List
case1055947333.pdf (6.24 MB)
ETD Abstract Container
Abstract Header
Meta-programming for knowledge-based systems in Prolog
Author Info
Yalcinalp, L. Umit
Permalink:
http://rave.ohiolink.edu/etdc/view?acc_num=case1055947333
Abstract Details
Year and Degree
1991, Doctor of Philosophy, Case Western Reserve University, Computer Engineering.
Abstract
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.
Committee
Leon Sterling (Advisor)
Pages
181 p.
Keywords
Meta-programming
;
knowledge-based systems
;
Prolog
Recommended Citations
Refworks
EndNote
RIS
Mendeley
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)
Abstract Footer
Document number:
case1055947333
Download Count:
959
Copyright Info
© 1991, all rights reserved.
This open access ETD is published by Case Western Reserve University School of Graduate Studies and OhioLINK.