Skip to main content
Log in

WCL: A co-ordination language for geographically distributed agents

  • Published:
World Wide Web Aims and scope Submit manuscript

Abstract

In this paper a tuple space based co-ordination language, and a run-time system which supports it, is described. The co-ordination language is called WCL, and it is designed to support agent co-ordination over the Internet between agents which are geographically distributed. WCL uses tuple spaces as used in Linda. WCL provides a richer set of primitives than traditional tuple space based systems, and provides asynchronous and synchronous tuple space access, bulk tuple primitives, and streaming primitives which, as a whole, provide a complete framework more suited to co-ordination over the Internet compared with the Linda primitives. The primitives emphasise efficiency and location transparency (of data and agents) and this is exploited in the current run-time system used to support WCL. The run-time system described in this paper is distributed and uses location transparency and dynamic analysis of tuple space usage to migrate tuple spaces around the distributed system. Some initial experimental results are given which demonstrate the performance gains of using the tuple space migration. The paper motivates the inclusion of many of the primitives, and demonstrates how a well designed set of primitives provides performance and efficiency. The JavaSpace primitives are used as an example of how the choice of primitives can detrimentally affect the efficiency of the language, and exclude required co-ordination constructs.

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

  • Anderson, B. and D. Shasha (1991), “Persistent Linda: Linda + Transactions + Query Processing,” In Research Directions in High-Level Parallel Programming Languages, J. Banâtre and D. Le Métayer, Eds., LNCS 574, Springer Verlag, Berlin, Germany, pp. 93–109.

    Google Scholar 

  • Arnold, K. (1997), Private Communication.

  • Bosschere, K.D. and L. Wulteputte (1991), “Mutli-Prolog: Implementation on an 88000 Shared Memory Multiprocessor,” Technical Report DG 91-19, University of Ghent, Belgium.

    Google Scholar 

  • Busi, N., R. Gorrieri and G. Zavattoro (1997), “Three Semantics of the Output Operation for Generative Communication,” In Coordination Languages and Models (Coordination'97), LNCS 1282, Springer Verlag, Berlin, Germany, pp. 205–219.

    Google Scholar 

  • Butcher, P., A. Wood and M. Atkins (1994), “Global Synchronisation in Linda,” Concurrency: Practice and Experience 6, 6, 505–516.

    Google Scholar 

  • Carriero, N. (1987), “Implementation of Tuple Space Machines,” PhD Dissertation, YALEU/DCS/RR-567, Yale University, New Haven, CT.

    Google Scholar 

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

    Google Scholar 

  • Carriero, N., D. Gelernter and L. Zuck (1994), “Bauhaus Linda,” In Object-Based Models and Languages for Concurrent Systems, P. Ciancarini, O. Nierstrasz and A. Yonezawa, Eds., LNCS 924, Springer Verlag, Berlin, Germany, pp. 66–76.

    Google Scholar 

  • Ciancarini, P. (1991), “PoliS: A Programming Model for Multiple Tuple Spaces,” In Proceedings of the Sixth International Workshop on Sofware Specification and Design, IEEE CS Press, Los Alamitos, CA, pp. 44–51.

    Google Scholar 

  • Ciancarini, P., A. Knoche, R. Tolksdorf and F. Vitali (1996), “PageSpace: An Architecture to Coordinate Distributed Applications on the Web,” Computer Networks and ISDN Systems 28, 7–11, 941–952.

    Google Scholar 

  • Ciancarini, P. and D. Rossi (1997), “Jada: Coordination and Communication for Java Agents,” In Mobile Object Systems: Towards the Programmable Internet, J. Vitek and C. Tschudin, Eds., LNCS 1222, Springer Verlag, Berlin, Germany, pp. 213–228.

    Google Scholar 

  • Douglas, A., N. Röjemo, C. Runciman and A. Wood (1996), “Astro-Gofer: Parallel Functional Programming with Co-ordinating Processes,” In Euro-Par'96, LNCS 1123, Springer Verlag, Berlin, Germany, pp. 686–693.

    Google Scholar 

  • Douglas, A., A. Rowstron and A. Wood (1995a), “ISETL-LINDA: Parallel Programming with Bags,” Technical Report YCS 257, University of York, York, UK.

    Google Scholar 

  • Douglas, A., A. Wood and A. Rowstron (1995b), “Linda Implementation Revisited,” In Transputer and Occam Developments, P. Nixon, Ed., Transputer and Occam Engineering Series, IOS Press, Amsterdam, The Netherlands, pp. 125–138.

    Google Scholar 

  • Gelernter, D. (1992), Mirror Worlds, Oxford University Press, New York, NY.

    Google Scholar 

  • Gelernter, D. and N. Carriero (1992), “Coordination Languages and Their Significance,” Communications of the ACM 35, 2, 97–107.

    Google Scholar 

  • Gelernter, D. and L. Zuck (1997), “On what Linda is: Formal Description of Linda as a Reactive System,” In Coordination Languages and Models (Coordination'97), LNCS 1282, Springer Verlag, Berlin, Germany, pp. 187–204.

    Google Scholar 

  • Hasselbring, W. (1994), “Prototyping Parallel Algorithms in a Set-orientated Language,” PhD Dissertation, University of Essen, Germany.

    Google Scholar 

  • Kielmann, T. (1996), “Designing a Coordination Model for Open Systems,” In Coordination Languages and Models, Proceedings of Coordination' 96, LNCS 1061, Springer Verlag, Berlin, Germany, pp. 267–284.

    Google Scholar 

  • Leichter, J. (1989), “Shared Tuple Memories, Shared Memories, Buses and LAN's – Linda Implementations Across the Spectrum of Connectivity,” PhD dissertation, YALEU/DCS/TR-714, Yale University, New Haven, CT.

    Google Scholar 

  • Menezes, R. and A. Wood (1997), “Garbage Collection in Open Distributed Tuple Space Systems,” In Proceedings of 15th Brazilian Computer Networks Symposium – SBRC'97, Brazilium Computer Society, Rio de Janeiro, pp. 525–543.

    Google Scholar 

  • Rowstron, A., A. Douglas and A. Wood (1995), “A Distributed Linda-Like Kernel for PVM,” In EuroPVM'95, Hermes, Paris, France, pp. 107–112.

    Google Scholar 

  • Rowstron, A., S. Li and R. Stefanova (1997), “C2AS: A System Supporting Distributed Web Applications Composed of Collaborating Agents,” In Proceedings of Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, IEEE CS Press, Los Alamitos, CA, pp. 127–132.

    Google Scholar 

  • Rowstron, A. and A. Wood (1996a), “An Efficient Distributed Tuple Space Implementation for Networks of Workstations,” In Euro-Par'96, LNCS 1123, Springer Verlag, Berlin, Germany, pp. 510–513.

    Google Scholar 

  • Rowstron, A. and A. Wood (1996b), “Solving the Linda Multiple rd Problem,” In Coordination Languages and Models, Proceedings of Coordination' 96, LNCS 1061, Springer Verlag, Berlin, Germany, pp. 357–367.

    Google Scholar 

  • Rowstron, A. and A. Wood (1997), “BONITA: A Set of Tuple Space Primitives for Distributed Coordination,” In Proceedings of 30th Hawaii International Conference on System Sciences, Vol. 1, Software Technology and Software, IEEE CS Press, Los Alamitos, CA, pp. 379–388.

    Google Scholar 

  • Scientific Computing Associates (1995), Linda: User's Guide and Reference Manual, Scientific Computing Associates, New Haven, CT.

    Google Scholar 

  • Scientific Computing Associates (1996), Paradise: User's Guide and Reference Manual, Scientific Computing Associates, New Haven, CT.

    Google Scholar 

  • Sun Microsystems (1997), “JavaSpace(tm) Specification, Revision 0.4,” http://chatsubo.javasoft.com/.

  • Yuen, C., M. Feng and J. Yee (1996), “BaLinda Suite of Languages and Implementations,” Journal of Software Systems 32, 251–267.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rowstron, A. WCL: A co-ordination language for geographically distributed agents. World Wide Web 1, 167–179 (1998). https://doi.org/10.1023/A:1019263731139

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1019263731139

Keywords

Navigation