A Parameterized Unfold/Fold Transformation Framework for Definite Logic Programs

Abhik Roychoudhury, K. Narayan Kumar, C. R. Ramakrishnan, I. V. Ramakrishnan


Abstract:

Given a program P, an unfold/fold program transformation system derives a sequence of programs P= P0, P1, ..., Pn, such that Pi+1 is derived from Pi by application of either an unfolding or a folding step. Existing unfold/fold transformation systems for definite logic programs differ from one another mainly in the kind of folding transformations they permit at each step. Some allow folding using a single (possibly recursive) clause while others permit folding using multiple non-recursive clauses. However, none allow folding using multiple recursive clauses that are drawn from some previous program in the transformation sequence.

In this paper we develop a parameterized framework for unfold/fold transformations by suitably abstracting and extending the proofs of existing transformation systems. Various existing unfold/fold transformation systems can be obtained by instantiating the parameters of the framework. This framework enables us to not only understand the relative strengths and limitations of these systems but also construct new transformation systems. Specifically we present a more general transformation system that permits folding using multiple recursive clauses that can be drawn from any previous program in the transformation sequence. This new transformation system is also obtained by instantiating our parameterized framework.


Bibtex Entry:

@inproceedings{RKRR:PPDP99,
author = {Abhik Roychoudhury and  K. Narayan Kumar and  C. R. Ramakrishnan and  I. V. Ramakrishnan},
title = {A Parameterized Unfold/Fold Transformation Framework for Definite Logic Programs},
booktitle = {Principles and Practice of Declarative Programming ({PPDP})},
address = {Paris, France},
month = {September},
series = {Lecture Notes in Computer Science},
volume = {1702},
publisher = {Springer},
pages = {396--413},
year = {1999}
}


Full Paper: [pdf]


Home | Papers

C. R. Ramakrishnan
(cram@cs.sunysb.edu)