Skip to main content
Log in

Andorra-I compilation

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

Abstract

Andorra-I is an experimental parallel Prolog system which transparently exploits both dependent and-parallelism and or-parallelism. One of the main components of Andorra-I is its preprocessor. In order to obtain efficient execution of programs in Andorra-I, the preprocessor includes a compiler for Andorra-I. The compiler includes a determinacy analyser and a clause compiler, and generates code for a specialised abstract machine. In this paper we discuss the main issues in the Andorra-I compiler, presenting its abstract instruction set and describing the algorithms used in its implementation.

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. Bahgat, R.,Non-Deterministic Concurrent Logic Programming in Pandora, World Scientific, 1993.

  2. Beaumont, A., Raman, S.M., Szeredi, P., and Warren, D.H.D., “Flexible Scheduling of OR-Parallelism in Aurora: The Bristol Scheduler,” inPARLE91: Conference on Parallel Architectures and Languages Europe, volume 2, Springer_Verlag, pp. 403–420, June 1991.

  3. Crammond, J.A., “Implementation of Committed Choice Logic Languages on Shared Memory Multiprocessors,”Ph.D thesis, Heriot-Watt University, Edinburgh, May 1988.Research Report, PAR 88/4, Department of Computing, Imperial College, London.

    Google Scholar 

  4. Debray, S.K., “A Simple Code Improvement Scheme for Prolog,” inSixth International Conference on Logic Programming, MIT Press, pp. 17–32, June 1989.

  5. Dutra, I. “Strategies for Scheduling And- and Or-Work in Prallel Logic Programming Systems,” inLogic Programming: Proceedings of the 1994 International Symposium, MIT Press, pp. 289–304, 1994.

  6. Gregory, S. and Yang, R., “Parallel Constraint Solving in Andorra-I,” inInternational Conference on Fifth Generation Computer Systems 1992, ICOT, Tokyo, Japan, pp. 843–850, June 1992.

  7. Janson, S. and Haridi, S., “Programming Paradigms of the Andorra Kernel Language,” inLogic Programming: Proceedings of the International Logic Programming Symposium, MIT Press, pp. 167–186, October 1991.

  8. Kliger, S. and Shapiro, E., “A Decision Tree Compilation Algorithm for FCP (‖,:,?),” inProceedings of the Fifth International Conference and Symposium on Logic Programming, MIT Press, pp. 1315–1336, August 1988.

  9. Korsloot, M. and Tick, E., “Compilation Techniques for Nondeterminate Flat Concurrent Logic Programming Languages,” inProceedings of the Eighth International Conference on Logic Programming (K. Furukawa, ed.), MIT Press, 1991.

  10. Lusk, E., Butler, R., Disz, T., Olson, R., Overbeek, R., Stevens, R., Warren, D.H.D., Calderwood, A., Szeredi, P., Haridi, S., Brand, P., Carlsçon, M., Ciepelewski, A., and Hausman, B., “The Aurora Or-Parallel Prolog System,” inInternational Conference on Fifth Generation Computer Systems 1988, ICOT, Tokyo, Japan, pp. 819–830, Nov. 1988.

  11. Palmer, D. and Naish, L., “NUA-Prolog: An Extension to the WAM for Parallel Andorra,” inProceedings of the Eighth International Conference on Logic Programming (K. Furukawa, ed.), MIT Press, 1991.

  12. Santos Costa, V., “Compile-Time Analysis for the Parallel Execution of Logic Programs in Andorra-I,”Ph.D thesis, University of Bristol, August 1993.

  13. Santos Costa, V., Warren, D.H.D., and Yang, R., “Audorra-I: A Parallel Prolog System That Transparently Exploits both And- and Or-Parallelism,” inThird ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming PPOPP, ACM press, pp. 83–93, April 1991.SIGPLAN Notices, vol. 26, 7, July 1991.

  14. Santos Costa, V., Warren, D.H.D., and Yang, R., “The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model,” inProceedings of the Eighth International Conference on Logic Programming, MIT Press, pp. 825–839, June 1991.

  15. Santos Costa, V., Warren, D.H.D., and Yang, R., “The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model,” inProceedings of the Eighth International Conference on Logic Programming, MIT Press, pp. 443–456, June 1991.

  16. Szeredi, P., Carlsson, M., and Yang, R., “Interfacing Engines and Schedulers in OR-Parallel Prolog Systems,” inPARLE91: Conference on Parallel Architectures and Languages Europe, volume 2, Springer-Verlag, pp. 439–453, June 1991.

  17. Tanaka, J., Ueda, K., Miyazaki, T., Takeuchi, A., Matsumoto, Y., and Furukawa, K., “Guarded Horn Clauses and Experiences with Parallel Programming,” in1986 Proceedings Fall Joint Computer Conference, IEEE Computer Society Press, pp. 948–954, November 1986.

  18. Van Roy, P., “1983–1993: The Wonder Years of Sequential Prolog Implementation,”The Journal of Logic Programming, 19/20, May/July 1994.

  19. Warren, D.H.D., “An Abstract Prolog Instruction Set,”Technical Note, 309, SRI International, 1983.

  20. Yang, R., Beaumont, T., Dutra, I., Santos Costa, V., and Warren, D.H.D.,ESPRIT Project 2471 PEPMA-Task 7a, PEPMA Project, University of Bristol, November 1992.

  21. Yang, R., Beaumont, T., Dutra, I., Santos Costa, V., and Warren, D.H.D., “Performance of the Compiler-Based Andorra-I System, inProceedings of the Tenth International Conference on Logic Programming, MIT Press, pp. 150–166, June 1993.

Download references

Author information

Authors and Affiliations

Authors

Additional information

Parts of this paper have appeared in “The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model”, presented at the ICLP91 Conference, and in “Performance of the Compiler-based Andorra-I System” presented at the ICLP93 Conference.

Vitor Santos Costa, Dr: He is a lecturer in the Dep. of Mathematics, Faculty of Sciences, University of Porto since 1994. His current research interests concentrate on the parallel implementation of Prolog and other logic programming languages, particularly on parallel execution models, compilation techniques, and problem of correct and efficient execution of programs with sequential control in a parallel environment. He received bachelor’s degree from the University of Porto in 1984 and was granted a PhD in Computer Science from the University of Bristol in 1994. He received the 1993 IBM Portugal Award for his work in the parallel execution of Prolog programs.

David H.D. Warren, BA, PhD, Prof.: He is a Professor of Computer Science at the University of Bristol. His current research interests are in parallel logic programming systems and parallel computer architecture. He is well known for his work on Prolog (including the original DEC-10 compiler, the Edinburgh syntax, the Warren Abstract Machine, and Quintus Prolog). More recently, his research has centered on the development of the parallel Prolog systems, Aurora and Andorra-I, and the scalable multiprocessor architecture, the Data Diffusion Machine. He has a BA in Mathematics from the University of Cambridge, and a PhD in Artificial Intelligence from the University of Edinburgh.

Rong Yang, Dr.: She received a Ph.D for her study of parallel logic programming languages in 1986, from Keio University (Japan). She also has an MSc degree and a bachelor’s degree in Computer Science from the Academia Sinica and Peking University, respectively. She is currently working in the Department of Computer Science at the University of Bristol as a Research Fellow and a part-time Lecturer. Her research interests are design and implementation of parallel programming languages, constraint programming, and prallel applications.

About this article

Cite this article

Costa, V.S., Warren, D.H.D. & Yang, R. Andorra-I compilation. NGCO 14, 3–30 (1996). https://doi.org/10.1007/BF03037216

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Keywords

Navigation