Skip to main content
Log in

An abstract interpretation scheme for identifying inherent parallelism in logic programs

  • Special Issue
  • Program Analysis and Optimization
  • Published:
New Generation Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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.

    Google Scholar 

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. Cardelli, L. and Wegner, P., “On Understanding Types, Data Abstraction and Polymorphism,”ACM Computing Surveys, Volume 17, Number 4, pp. 471–522, 1985.

    Article  Google Scholar 

  9. 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.

  10. 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.

  11. 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.

  12. Debray, S. K., “Flow Analysis of Logic Programs over Abstract Domains of Infinite Height,”TR 88-21, University of Arizona, USA, 1988.

    Google Scholar 

  13. Debray, S. K.,Personal communications, 1989.

  14. Dijkstra, E. W., “Guarded Commands, Nondeterminacy and Formal Derivations of Programs,”CACM, 18(8), pp. 453–457, 1975.

    MATH  MathSciNet  Google Scholar 

  15. 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.

  16. Kowalski, R.,Logic for Problem Solving, Elsevier-North Holland, 1979.

    MATH  Google Scholar 

  17. Lloyd, J. W.,Foundations of Logic Programming, Springer-Verlag, New York, 1984.

    MATH  Google Scholar 

  18. 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.

  19. 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.

    Google Scholar 

  20. Mellish, C. S., “Some Global Optimizations for a Prolog Compiler,”Journal of Logic Programming, Vol. 2, Number 1, pp. 43–66, 1985.

    Article  MATH  Google Scholar 

  21. Mellish, C. S., “Abstract Interpretation of Prolog Programs,”Proceedings Third International Conference of Logic Programming, London, UK, 1986.

  22. Milner, R., “A Theory of Polymorphism in Programming,”Journal of Logic Programming, Vol. 2, Number 1, pp. 43–66, 1985.

    Article  Google Scholar 

  23. 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.

  24. Mycroft, A. and O’Keefe, R. A., “A Polymorphic Type System for Prolog,”Artificial Intelligence, 23, pp. 295–307, 1984.

    Article  MATH  MathSciNet  Google Scholar 

  25. U. S. Reddy, “Transformation of Logic Programs into Functional Programs,”Proceedings of the International Symposium on Logic Programming, IEEE, pp. 187–197, 1984.

  26. 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.

  27. 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.

  28. 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.

  29. Shapiro, E., (ed.),Concurrent Prolog-Collected Papers, Volume I and II. MIT Press, Cambridge, Massachussets, 1987.

    Google Scholar 

  30. Sondergaard, H., “Abstract Interpretation of Logic Programs,”DIKU Project 86-7-10, University of Copenhagen, 1987.

  31. Sterling, L. and Shapiro, E.,The Art of Prolog, MIT Press, 1986.

  32. 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.

    Google Scholar 

  33. 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.

    Google Scholar 

  34. 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.

  35. Ueda, K., “Making Exhausitive Search Programs Deterministic II,”Proceedings of the Fourth International Conference on Logic Programming, Melbourne, Australia, pp. 356–375, 1987.

  36. Warren, D. H. D., “Implementing Prolog-compiling predicate Logic Programs,”DAI Research Reports No. 39, 40, University of Edinburugh, UK, 1977.

    Google Scholar 

  37. Warren, D. H. D., “An Abstract Prolog Instruction Set,”Technical Report, 309, SRI International, USA, 1983.

    Google Scholar 

  38. 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.

  39. 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.

  40. 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.

  41. Zobel, J., “Derivation of Polymorphic Types for Prolog Programs,”Proceedings of the Fourth International Conference of Logic Programming, Melbourne, Australia, pp. 817–838, 1987.

Download references

Author information

Authors and Affiliations

Authors

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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03037209

Keywords

Navigation