Skip to main content

Advertisement

Log in

Distributed programming with Logic Tuple Spaces

  • Regular Papers
  • Published:
New Generation Computing Aims and scope Submit manuscript

Abstract

From the point of view of distributed programming one of the most interesting communication mechanisms is associative tuple matching in a shared dataspace, as exemplified in the Linda coordination language. Linda has been used as a coordination layer to parallelize several sequential programming languages, such as C and Scheme. In this paper we study the combination of Linda with a logic language, whose result is the language Extended Shared Prolog (ESP). We show that ESP is based on a new programming model called PoliS, that extends Linda with Multiple Tuple Spaces. A class of applications for ESP is discussed, introducing the concept of “open multiple tuple spaces”. Finally, we show how the distributed implementation of ESP uses the network version of Linda’s tuple space.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Instant access to the full article PDF.

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

References

  1. Agha, G. and Callsen, C., “ActorSpace: An Open Distributed Programming Paradigm,” inProc. ACM Symp. on Principles and Practice of Parallel Programming (PPOPP), volume 28: 7 of ACM SIGPLAN Notices, San Diego CA, pp. 23–32, July 1993.

  2. Almgren, J., Andersson, S., Flood, L., Frisk, C., Nilsson, H., and Sundberg, J.,SICStus Prolog Library Manual, Swedish Institute of Computer Science, October 1991.

  3. Ambriola, V., Ciancarini, P., and Montangero, C., “Enacting Software Processes in Oikos,” inProc. ACM SIGSOFT Conf. on Software Development Environments, volume 15: 6 of ACM SIGSOFT Software Engineering Notes, pp. 12–23, 1990.

  4. Andreoli, J., Ciancarini, P., and Pareschi, R., “Interaction Abstract Machines” inTrends in Object-Based Concurrent Computing (G. Agha, P. Wegner, and A. Yonezawa, eds.), MIT Press, Cambridge, 1993.

    Google Scholar 

  5. Andreoli, J.-M. and Pareschi, R., “Linear Objects: Logical Processes with Built-in Inheritance,”New Generation Computing, 9, 3–4, pp. 445–473, 1991.

    Article  Google Scholar 

  6. Arango, M., Berndt, M., Carriero, N., Gelernter, D. and Gilmore, D., “Adventures with Network Linda,”Supercomputing Review, 10, 3, pp. 42–46, October 1990.

    Google Scholar 

  7. Bal, H., Steiner, J., and Tanenbaum, A., “Programming Languages for Distributed Computing Systems,”ACM Computer Surveys, 21, 3, pp. 261–322, 1989.

    Article  Google Scholar 

  8. Banatre, J., Coutant, A., and LeMetayer, D., “A Parallel Machine for Multiset Transformation and Its Programming Style,”Future Generations Computer Systems, 4, pp. 133–144, 1988.

    Article  Google Scholar 

  9. Banatre, J. and LeMetayer, D., “Programming by Multiset Transformation,”Communications of the ACM, 36, 1, pp. 98–111, January 1993.

    Article  Google Scholar 

  10. Borrmann, L., Herdieckerhoff, M., and Klein, A., “Tuple Space Integrated into Modula-2,” inProc. CONPAR 88 (Jesshope and Reinartz, eds.), Cambridge, England, 1988, Cambridge University Press, pp. 1–8, 1988.

    Google Scholar 

  11. Brogi, A., Ciampolini, A., Lamma, E., and Mello, P., “The Implementation of a Distributed Model for Logic Programming Based on Multiple Headed Clauses,”Information Processing Letters, 42, pp. 331–338, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  12. Brogi, A. and Ciancarini, P., “The Concurrent Language Shared Prolog,”ACM Transactions on Programming Languages and Systems, 13, 1, pp. 99–123, 1991.

    Article  Google Scholar 

  13. Bucci, A., Ciancarini, P., and Montangero, C., “Extended Shared Prolog: A Multiple Tuple Spaces Logic Language,” inProc. 10th Japanese Logic Programming Conference, Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1991 (to appear).

    Google Scholar 

  14. Butcher, P. and Zedan, H., “Lucinda: A Polymorphic Linda,” inResearch Directions in High Level Parallel Programming Languages, volume 574 of Lecture Notes in Computer Science (J. Banatre and D. LeMetayer, eds.), Mont Saint-Michel, France, pp. 65–81, June 1991.

  15. Carriero, N., “Implementing Tuple Space Machines,”Ph.D. thesis, Department of Computer Science, Yale University, New Haven, CT, 1987.

    Google Scholar 

  16. Carriero, N. and Gelernter, D.,How to Write Parallel Programs: A First Course, MIT Press, Cambridge, 1990.

    Google Scholar 

  17. Carriero, N. and Gelernter, D., “Coordination Languages and Their Significance,”Communications of the ACM, 35, 2, pp. 97–107, February 1992.

    Article  Google Scholar 

  18. Castagnetti, T. and Ciancarini, P., “Static Analysis of a Parallel Logic Language Based on the Blackboard Model,”Journal of Parallel and Distributed Computing, 13, 12, pp. 412–423, December 1991.

    Article  Google Scholar 

  19. Ciancarini, P., “Parallel Programming with Logic Languages: A Survey,”Computer Languages, 17, 4, pp. 213–240, 1992.

    Article  Google Scholar 

  20. Ciancarini, P., “Coordinating Rule-Based Software Processes with ESP,”ACM Transactions on Software Engineering and Methodology, 2, 3, pp. 203–227, 1993.

    Article  MathSciNet  Google Scholar 

  21. Ciancarini, P., Jensen, K., and Yankelewich, D., “The Semantics of a Parallel Language Based on a Shared Dataspace,”Technical Report, TR26-92, Dipartimento di Informatica, Università di Pisa, Italy, September 1992.

    Google Scholar 

  22. Czajkowski, G. and Zielinski, K., “Extending the Parallel Logic Programming Paradigm with Linda-like operations,” inProc. Workshop on Distributed Implementations

  23. Davison, A., “Blackboard Systems in Polka,”International Journal of Parallel Programming, 16, 5, pp. 401–424, October 1989

    Article  Google Scholar 

  24. DeBosschere, K., “Blackboard Communication in Prolog,” inParallel Execution of Logic Programs, volume 569 of Lecture Notes in Computer Science (A. Beaumont and G. Gupta, eds.), pp. 159–172, 1991.

  25. DeBosschere, K. and Tarau, P. “Some Issues in the Implementation of a Unix-Based Blackboard,” inProc. Workshop on Blackboard-Based Logic Programming (F. DeBoesschere, J. Jacquet, and P. Tarau, eds.), Budapest, Hungary, pp. 91–104, June 1993.

  26. Dewan, P., “Designing and Implementing Multi-User Applications: A Case Study,”Software: Practice and Experience, 23, 1, pp. 75–93, 1993.

    Article  MathSciNet  Google Scholar 

  27. Ellis, C., Gibbs, S., and Rein, G., “Groupware: Some Issues and Experiences,”Communications of the ACM, 34, I, pp. 38–58, January 1991.

    Google Scholar 

  28. Foster, I. and Taylor, S.,Strand: New Concepts in Parallel Programming, Prentice Hall, 1990.

  29. Gelernter, D., “A Note on Systems Programming in Concurrent Prolog,” inProc. Int. Symp. on Logic Programming, IEEE Computer Press, pp. 76–82, 1984.

  30. Gelernter, D., “Generative Communication in Linda,”ACM Transactions on Programming Languages and Systems, 7, 1, pp. 80–112, 1985.

    Article  MATH  Google Scholar 

  31. Gelernter, D., “Multiple Tuple Spaces in Linda,” inProc. Conf. on Parallel Architectures and Languages Europe (PARLE 89), volume 365 of Lecture Notes in Computer Science (E. Odijk, M. Rem. and J. Syre, eds.), pp. 20–27, 1989.

  32. Gelernter, D.,Mirror Worlds, Oxford University Press, 1991.

  33. Girard, J. Y., “Linear Logic,”Theoretical Computer Science, 50, pp. 1–102, 1987.

    Article  MATH  MathSciNet  Google Scholar 

  34. Haridi, S., “A Logic Programming Language Based on the Andorra Model,”New Generation Computing, 7, 2–3, pp. 109–126, 1990.

    Article  Google Scholar 

  35. Hewitt, C., “Offices are Open Systems,”ACM Transactions on Office Information Systems, 4, 3, pp. 271–287, July 1986.

    Article  Google Scholar 

  36. Hill, R., Brinck, T., Patterson, J., Rohall, S. and Wilner, W., “The Rendezvous Language and Architecture,”Communications of the ACM, 36, 1, pp. 62–67, January 1993.

    Article  Google Scholar 

  37. Jagannathan, S., “A Generalized Framework for First-Class Tuple Space Systems,” inProc. 5th Workshop on Languages and Compilers for Parallel Computing (U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, eds.), New Haven, CT, pp. 213–220. August 1992. TR YaleU/DCS/RR915.

  38. Libes, D., “Kibitz—Connecting Multiple Interactive Programs Togeter,”Software: Practice and Experience, 23, 5, pp. 465–475, 1993.

    Article  Google Scholar 

  39. Lusk, E., Warren, D., and Alii, “The Aurora OR-Parallel Prolog System,” inProc. Int. Conf. on Fifth Generation Computer Systems, ICOT, pp. 819–830, 1988.

  40. Matsuoka, S. and Kawai, S., “Using Tuple-Space Communication in Distributed Object-Oriented Architectures,” inProc. Conf. OOPSLA, volume 23: 11 of ACM SIGPLAN Notices, pp. 276–284, November 1988.

  41. Pereira, L., and Nasr, R., “Delta Prolog: A Distributed Logic Programming Language,” inProc. Int. Conf. on Fifth Generation Computer Systems, pp. 283–291, 1984.

  42. Rem, M., “Associons: A Program Notation with Tuples Instead of Variables,”ACM Transactions on Programming Languages and Systems, 3, 3, pp. 251–262, July 1981.

    Article  Google Scholar 

  43. Roman, G. and Cunningham, H. C., “Mixed Programming Metaphors in a Shared Dataspace Model of Concurrency,”IEEE Transactions on Software Engineering, 16, 12, pp. 1361–1373, December 1990.

    Article  Google Scholar 

  44. Saraswat, V., “Concurrent Constraint Programming Languages,”Ph.D. thesis, Carnegie Mellon University, 1989. (Published by MIT Press, 1993).

  45. Saraswat, V., Kahn, K., and Levy, J., “Janus: A Step Towards Distributed Constraint Programming” inProc. North American Conf. on Logic Programming (S. Debray and M. Hermenegildo, eds.), MIT Press, Cambridge, pp. 431–446, 1990.

    Google Scholar 

  46. Schwartz, D. and Sterling, L., “Black Log: From Blackboard System to Process Oriented Prolog,” inProc. Workshop on Blackboard-Based Logic Programming (F. DeBoesschere, J. Jacquet, and P. Tarau, eds.), Budapest, Hungary, pp. 57–75, June 1993.

  47. Scientific Computing Associates, Inc., New Haven, CT,C-Linda Reference Manual, 1990.

  48. Scientific Computing Associates, Inc., New Haven, CT,FORTRAN-Linda Reference Manual, 1993.

  49. Shapiro, E., “Embedding Linda and Other Joys of Concurrent Logic Programming,”Communications of the ACM, 33, 10, pp 1240–1258, October 1989.

    Google Scholar 

  50. Shapiro, E., “The Family of Concurrent Logic Languages,”ACM Computer Surveys, 21, 3, pp. 412–510, September 1989.

    Article  Google Scholar 

  51. Shizgal, I., “The Amoeba-Prolog System,”The Computer Journal, 33, 6, pp. 508–517. 1990.

    Article  Google Scholar 

  52. Sterling, L. and Shapiro, E.,The Art of Prolog, MIT Press, Cambridge, 1996.

    Google Scholar 

  53. Sutcliffe, G., “Prolog-D-Linda v2: A New Embedding of Linda in SICStus Prolog,” inProc. Workshop on Blackboard-Based Logic Programming (F. DeBoesschere, J. Jacquet, and P. Tarau, eds.), Budapest, Hungary pp. 105–117, June 1993.

  54. Sutcliffe, G. and Pinakis, J., “Prolog-D-Linda,”Technical Report, TR91/7, Department of Computer Science, University of Western Australia, Nedilands, Western Australia, 1992.

    Google Scholar 

  55. Szeredi, P., “Using Dynamic Predicates in an Or-Parallel Prolog System,” inProc. Int. Symposium on Logic Programming (V. Saraswat and K. Ueda, eds.), SanDiego, USA, 1991, MIT Press, Cambridge 1991.

    Google Scholar 

  56. Tick, E.,Parallel Logic Programming, Prentice Hall, 1991.

  57. Wise, M., Jones, D., and Hintz, T., “PMS Prolog: A Distributed Coarse-Grain-Parallel Prolog with Processes, Modules and Streams,” inImplementations of Distributed Prolog (P. Kacsuk and M. Wise, eds.),Series in Parallel Computing, Wiley, pp. 379–404, 1992.

Download references

Author information

Authors and Affiliations

Authors

Additional information

Paolo Ciancarini, Ph. D.: He is Associate Professor of Computer Science at the University of Bologna, Italy. He received the Master degree in Computer Science in 1982 and the Ph. D. in Informatics in 1988 both from the University of Pisa. In 1990–91 he was a visiting scientist at the Yale University. His interests are in parallel and distributed computing, coordination languages, formal methods in software engineering, and innovative software engineering environments.of Logic Languages (G. Succi and G. Colla, eds.), Budapest, pp. 45–65 June 1993.

About this article

Cite this article

Ciancarini, P. Distributed programming with Logic Tuple Spaces. New Gener Comput 12, 251–283 (1994). https://doi.org/10.1007/BF03037345

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Keywords