Abstract
Transformation schemata are predefined abstract transformations of logic programs: input program schemata are transformed into output program schemata. Each transformation schema represents one transformation strategy, for example a particular sequence of applications of the unfold/fold rules, or the introduction of an accumulator data structure. The transformation of logic programs with the help of transformation schemata proceeds in three steps: abstraction of the programs to program schemata, selection of a transformation schema with these schemata as input and a suitable schema as output, and specialization of the output schema to the transformed program. Once the transformation schemata are available, user intervention is required only during the selection step. For standard transformation situations one can even envisage eliminating user interaction altogether by heuristics.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
P. Brna, A. Bundy, T. Dodd, M. Eisenstadt, CK. Looi, H. Pain, B. Smith, M. van Someren, Prolog Programming Techniques, DAI Research Paper, 403, Department of Artificial Intelligence, University of Edinburgh, 1988
R. Burs tall, J. Darlington, Transformations for Developing Recursive Programs, J ACM, Vol. 24, No. 1,1977
Y. Deville, J. Burnay, Generalization and Program Schemata. Proceedings of the North American Conference on Logic Programming 1989, E. L. Lusk, R. A. Overbeek (eds.), MIT Press, October 1989, pp. 409-425.
J. Gallagher, Program Analysis and Transformation, Handout at Logic Programming Summer School LPSS’ 90, University of Zurich, August 1990
P. A. Gardner, J. C. Shepherdson, Unfold/Fold Transformations of Logic Programs, Report PM-89-01, School of Mathematics, University of Bristol, 1989
T. S. Gegg-Harrison, Basic Prolog Schemata, CS-1989-20, Department of Computer Science, Duke University, September 1989
A. Lakhotia, Incorporating Programming Techniques into Prolog Programs. Proceedings of the North American Conference on Logic Programming 1989, E. L. Lusk, R. A. Overbeek (eds.), MIT Press, October 1989, pp. 426-440.
A. Lakhotia, L. Sterling, How to Control Unfolding when Specializing Interpreters, in L. Sterling (ed.), The Practice of Prolog, MIT Press, 1990, pp. 171
H. R. Nielson, F. Nielson, Eureka Definitions for Free-Disagreement Points for Fold/Unfold Transformations, Proceedings of ESOP ′90, LNCS 432,1990, pp. 291-305
R. A. O’Keefe, The Craft of Prolog. MIT Press, 1990
F. C. N. Pereira, S. M. Shieber, Prolog and Natural-Language Analysis, CSLI, Lectures Notes 10,1987
M. Proietti, A. Pettorossi, Synthesis of Eureka Predicates for Developing Logic Programs, Proceedings of ESOP’ 90, LNCS 432, 1990, pp. 306-325
D. Robertson, A Simple Prolog Techniques Editor for Novice Users, Proceedings of ALPUK 91, 3rd Annual Conference on Logic Programming, Edinburgh, April 1991
H. Tamaki, T. Sato, Unfold/Fold Transformation of Logic Programs, Proceedings of the Second International Conference on Logic Programming, Uppsala, 1984, S.-A. Tarnlund (ed.), University of Uppsala, pp. 127-138
M. Waldau, Formal Validation of Transformation Schemas Using First-Order Proofs, Proceedings of LOPSTR’ 91, University of Manchester, Springer Workshop in Computing Series (this volume), 1991
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag London
About this paper
Cite this paper
Fuchs, N.E., Fromherz, M.P.J. (1992). Schema-Based Transformations of Logic Programs. In: Clement, T.P., Lau, KK. (eds) Logic Program Synthesis and Transformation. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3494-7_9
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3494-7_9
Publisher Name: Springer, London
Print ISBN: 978-3-540-19742-3
Online ISBN: 978-1-4471-3494-7
eBook Packages: Springer Book Archive