Skip to Main Content
 

Global Search Box

 
 
 
 

ETD Abstract Container

Abstract Header

ATT: Execution models for logic programs

Abstract Details

1995, Doctor of Philosophy, Case Western Reserve University, Computer Engineering.
Logic programs, which are represented by well motivated logical formalisms, can be viewed operationally as the execution of an abstract computation model on a logical theory, guided by some control information supplied with the theory. This model is then viewed as a goal-driven controlled reduction from the logical formalism of the program. The original goal reduction rules give considerable freedom to specify control information for selecting which goal to reduce and for selecting which logical formalism to apply to the goal. A number of control strategies have been investigated, resulting in a number of logic programming languages. In order to design general purpose execution models to support a number of control strategies in different logic programming languages, a multi-layer hierarchical structure of execution models should be employed. In such a hierarchy, the uppermost layer is an abstract execution model developed to support the computation of logic programs. The middle layer, a process network model, is constructed to support the abstract execution model. An abstract machine is at the bottom of the hierarchy to support the process network model. An important problem in parallel computation is to decompose computation into modules. Parallelism could be exploited at each layer of the hierarchical structure of execution models for logic programs. The common forms of parallelism in most parallel execution models for logic programs are AND-parallelism and OR-parallelism, and these can be explicitly expressed in logic programs. Operational parallelism, which may or may not be explicitly expressed in logic programs, could be exploited by extracting operational information from the control strategies of goal reductions. Once operations in the computation are classified, different types of operations could be assigned to different processes in the execution models of logic programs. Operational parallelism could be achieved by executing these processes simultaneously. However, for some reasons, operational parallelism has not been given much attention by researchers The objectives of this research are to exploit operational parallelism in the computation of logic programs and to construct a general purpose hierarchical structure of execution models which support several logic programming languages. This dissertation designs a three layer hierarchical structure of execution models for logic programs, which I have called ATT. This execution model hierarchy has its roots in PR/T net for the abstract execution model and in Warren Abstract Machine for the abstract machine model respectively. The ATT system offers several features: It employs concurrent execution models, supports both Don't know nondeterminism and Don't care nondeterminism. It can also be extended to distributed computing environments. In order to demonstrate the ideas on a shared memory machine, I implemented a prototype abstract machine in the C programming language, which supports committed-choice logic programming languages
Leon Sterling (Advisor)
172 p.

Recommended Citations

Citations

  • Chen, P. (1995). ATT: Execution models for logic programs [Doctoral dissertation, Case Western Reserve University]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=case1061906762

    APA Style (7th edition)

  • Chen, Pu. ATT: Execution models for logic programs. 1995. Case Western Reserve University, Doctoral dissertation. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=case1061906762.

    MLA Style (8th edition)

  • Chen, Pu. "ATT: Execution models for logic programs." Doctoral dissertation, Case Western Reserve University, 1995. http://rave.ohiolink.edu/etdc/view?acc_num=case1061906762

    Chicago Manual of Style (17th edition)