Abstract
We describe a new scheme for the abstract interpretation of logic programs. The scheme was developed to identify and integrate different forms of inherent parallelism in logic programs at compile time. The scheme has four components: generalization, abstract unification, summarization and concretization, algorithms for which are discussed. The abstract domain for interpretation consists of type expressions which are used as program modes. The generated mode information has been applied to identify different classes of procedures exhibiting different forms of inherent parallelism. The mode information has also been applied for detection of guards and producer-consumer relationship. The advantages and limitations of our resulting scheme are discussed.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Bansal, A. K., “Incorporating Parallelism in Logic Programs by Program Transformation,”Ph. D. thesis, Department of Computer Science, Case Western Reserve University, Cleveland, OH 44106, USA, 1988. Also available as University Microfilms International Publications, Ann Arbor, Michigan, USA, 1989.
Bansal, A. K. and Sterling L., “On Source-to-Source Transformation of Sequential Logic Programs to AND-parallelism,”Proceedings of the International Conference on Parallel Processing, St. Charles, Illinois, USA, pp. 795–802, 1987.
Bansal, A. K. and Sterling, L. S., “Compiling Enumerate-and-Filter Programs for Efficient Execution under Committed-choice AND-parallelism,”Proceedings of the International Conference on Parallel Processing, St. Charles, Illinois, USA, pp. 22–26, 1988.
Bansal A. K. and Sterling, L. S., “An Abstract Interpretation Scheme Based on Type Expressions,”Proceedings of the International Conference on Fifth Generation Computer Systems, Tokyo, Japan, pp. 422–429, 1988.
Bruynooghe, M., “Compile Time Garbage Collection or How to Transform Programs in an Assigment-free Language into Code with Assignments, Program Specification and Transformation,”Proceedings of the IFIP conference on Program Specification and Transformation (Meertens, L. G. L. T. ed.), North Holland, pp. 113–130, 1987.
Bruynooghe, M., Jenssens, G., Gallebaut, A., and Demoen, B., “Abstract Interpretation: Towards the Global Optimization of PROLOG Programs,”Proceedings of the Fourth Symposium on Logic Programming, San Francisco, USA, pp. 192–204, 1987.
Bruynooghe, M. and Jenssens, G., “An Instance of Abstract Interpretation Integrating Type and Mode Inferencing,”Proceedings of the Fifth International Conference of Logic Programming, Seattle, USA, pp. 669–683, 1988.
Cardelli, L. and Wegner, P., “On Understanding Types, Data Abstraction and Polymorphism,”ACM Computing Surveys, Volume 17, Number 4, pp. 471–522, 1985.
Chang, J. H., Despain, A. M., and Degroot, D., “AND-parallelism of Logic Programs Based on Static Data Dependency Analysis,”Digest of Papers of COMPCON, pp. 218–225, 1985.
Debray, S. K. and Warren, D. S., “Detection and Optimization of Functional Computations in Prolog,”Proceedings of the Third International Conference of Logic Programming, London, UK, pp. 490–504, 1986.
Debray, S. K., “Automatic Mode-inference for Prolog Programs,”Proceedings of the International Symposium of Logic Programming, Salt Lake City, Utah, USA, pp. 78–88, 1986.
Debray, S. K., “Flow Analysis of Logic Programs over Abstract Domains of Infinite Height,”TR 88-21, University of Arizona, USA, 1988.
Debray, S. K.,Personal communications, 1989.
Dijkstra, E. W., “Guarded Commands, Nondeterminacy and Formal Derivations of Programs,”CACM, 18(8), pp. 453–457, 1975.
Haridi, S. and Brand, P., “ANDORRA Prolog—An Integration of Prolog and Committed-choice Languages,”Proceedings of the International Conference on Fifth Generation Computer Systems, Tokyo, Japan, pp. 745–754, 1988.
Kowalski, R.,Logic for Problem Solving, Elsevier-North Holland, 1979.
Lloyd, J. W.,Foundations of Logic Programming, Springer-Verlag, New York, 1984.
Lusk, E., Butler, R., Disz, T., Olson, R., Overbeek R., Stevens, R., Warren, D. H. D., Calderwood, A., Szerdi P., Haridi S., Brand, P., Carlsson, M., Ciepielewski, A., and Hausman, B., “The Aurora OR-parallel Prolog System,”Proceedings of the International Conference of the Fifth Generation Computer Systems, Tokyo, Japan, pp. 819–830, 1988.
Mellish, C. S., “An Automatic Generation of Mode Declarations for Prolog Programs,”DAI Research Paper, 163, Department of Artificial Intelligence, University of Edinburugh, UK, 1981.
Mellish, C. S., “Some Global Optimizations for a Prolog Compiler,”Journal of Logic Programming, Vol. 2, Number 1, pp. 43–66, 1985.
Mellish, C. S., “Abstract Interpretation of Prolog Programs,”Proceedings Third International Conference of Logic Programming, London, UK, 1986.
Milner, R., “A Theory of Polymorphism in Programming,”Journal of Logic Programming, Vol. 2, Number 1, pp. 43–66, 1985.
Mishra, P. and Reddy, U. S., “Declaration Free Type Checking,”Conference Record of the Twelth ACM Symposium on Principles of Programming Languages, New Orleans, USA, pp. 7–21, 1985.
Mycroft, A. and O’Keefe, R. A., “A Polymorphic Type System for Prolog,”Artificial Intelligence, 23, pp. 295–307, 1984.
U. S. Reddy, “Transformation of Logic Programs into Functional Programs,”Proceedings of the International Symposium on Logic Programming, IEEE, pp. 187–197, 1984.
Sawamura, H. and Takeshima, T., “Recursive Unsolvability of Determinacy Solvable Cases of Determinacy and Their Application of Prolog Optimization,”Proceedings of the Symposium on Logic Programming, Boston, USA, pp. 200–207, 1985.
Z. Somogyi, “A System of Precise Modes for Logic Programs,”Proceedings of the Fourth International Conference on Logic Programming, Melbourne, Australia, pp. 769–787, 1987.
Seki, H. and Furukawa, K., “Notes on Transformation Techniques for Generate-and-Test Logic Programs,”Proceedings of the IEEE Symposium on Logic Programming, San Francisco, USA, pp. 215–223, 1987.
Shapiro, E., (ed.),Concurrent Prolog-Collected Papers, Volume I and II. MIT Press, Cambridge, Massachussets, 1987.
Sondergaard, H., “Abstract Interpretation of Logic Programs,”DIKU Project 86-7-10, University of Copenhagen, 1987.
Sterling, L. and Shapiro, E.,The Art of Prolog, MIT Press, 1986.
Takeuchi, A. and Furukawa, K., “Parallel Logic Programming Languages,”Proceedings of the Third International Conference on Logic Programming, London, UK,Lecture Notes in Computer Science, Vol. 225, Springer Verlag, New York, pp. 242–254, 1986.
Takeuchi, A., Takashi, K., and Shimizu, H., “A Description Language with AND/OR Parallelism for Concurrent Systems and Its Stream Based Realization,”ICOT Technical Report, TR-229, ICOT, Tokyo, Japan, 1987.
Tamaki, H. and Sato, T., “Unfold/Fold Transformation of Logic Programs,”Proceedings of the Second International Conference on Logic Programming, Uppsala, Sweden, pp. 127–138, 1984.
Ueda, K., “Making Exhausitive Search Programs Deterministic II,”Proceedings of the Fourth International Conference on Logic Programming, Melbourne, Australia, pp. 356–375, 1987.
Warren, D. H. D., “Implementing Prolog-compiling predicate Logic Programs,”DAI Research Reports No. 39, 40, University of Edinburugh, UK, 1977.
Warren, D. H. D., “An Abstract Prolog Instruction Set,”Technical Report, 309, SRI International, USA, 1983.
Warren, D. H. D., “The SRI Model for OR-parallel Execution—Abstract Design and Implementation,”Proceedings of the IEEE Symposium of Logic Programming, San Francisco, USA., pp. 92–103, 1987.
Warren, R., Hermenegildo, M. and Debray, S. K., “On the Practicality of Global Flow Analysis of Logic Programs,”Proceedings of the Fifth International Conference on Logic Programming, Seattle, USA, pp. 684–699, 1988.
Yang, R. and Aiso, H., “P-Prolog: A Parallel Logic Language Based on Exclusive Relation,”Proceedings of the Third International Conference on Logic Programming, London, UK, pp. 255–269, 1986.
Zobel, J., “Derivation of Polymorphic Types for Prolog Programs,”Proceedings of the Fourth International Conference of Logic Programming, Melbourne, Australia, pp. 817–838, 1987.
Author information
Authors and Affiliations
Additional information
Funded in part by (a) Cleveland Advanced Manufacturing Program, Ohio, USA as part of its core research program (b) NSF Grant No. 1R187-03911, (c) NSF equipment grants DMC 8703210, and CDA-8820390.
About this article
Cite this article
Bansal, A.K., Sterling, L.S. An abstract interpretation scheme for identifying inherent parallelism in logic programs. NGCO 7, 273–324 (1990). https://doi.org/10.1007/BF03037209
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF03037209