Skip to main content

Typed First-Class Communication Channels and Mobility for Concurrent Scripting Languages

  • Conference paper
Software Language Engineering (SLE 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6940))

Included in the following conference series:

Abstract

In the 1990s, there was considerable interest in mobile computation: systems in which running computations (or mobile agents) could be moved from one machine to another. Much of this work was in terms of high-level programming languages and mobile process calculi. An example is Nomadic Pict—a prototype high-level programming language in which to express and verify overlay networks, for reliable communication between mobile agents. One can ask whether the language abstractions could be useful for scripting programming in modern distributed deployment platforms, such as many-core processors, grids, web servers and datacentres. In this paper, we demonstrate selected features of Nomadic Pict, and show the use of typed channels and agent mobility for programming in the grid. We demonstrate example design patterns that can be used for implementing safe message passing, test & send, system bootstrapping, and relocatable computation.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Armstrong, J.L., Virding, R.: Erlang – an experimental telephony switching language. In: Proc. XIII International Switching Symposium (May-June 1991)

    Google Scholar 

  2. Bhargavan, K., Gordon, A.D., Narasamdya, I.: Service Combinators for Farming Virtual Machines. In: Wang, A.H., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 33–49. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  3. Billings, J., Sewell, P., Shinwell, M., Strniša, R.: Type-safe distributed programming for OCaml. In: Proc. 2006 ACM SIGPLAN Workshop on ML (2006)

    Google Scholar 

  4. Bloom, B., Nystrom, N., Östlund, J., Richards, G., Strniša, R., Vitek, J., Wrigstad, T.: Thorn–robust, concurrent, extensible scripting on the JVM. In: Proc. OOPSLA 2009 (October 2009)

    Google Scholar 

  5. Cardelli, L., Gordon, A.D.: Mobile Ambients. Theoretical Computer Science (TCS) 240(1), 177–213 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  6. Clojure. Distribution files and documentation, http://clojure.org/

  7. Fähndrich, M., Aiken, M., Hawblitzel, C., Hodson, O., Hunt, G., Larus, J.R., Levi, S.: Language support for fast and reliable message-based communication in Singularity OS. In: Proc. EuroSys 2006 (April 2006)

    Google Scholar 

  8. Fournet, C., Gonthier, G., Lévy, J.-J., Maranget, L., Rémy, D.: A Calculus of Mobile Agents. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 406–421. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  9. Honda, K., Vasconcelos, V.T., Kubo, M.: Language Primitives and Type Discipline for Structured Communication-Based Programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  10. Lopes, L., Figueira, Á., Silva, F., Vasconcelos, V.T.: A concurrent programming environment with support for distributed computations and code mobility. In: Proc. CLUSTER 2000 (November 2000)

    Google Scholar 

  11. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, Parts I and II. Information and Computation 100(1), 1–77 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  12. De Nicola, R., Ferrari, G.L., Pugliese, R.: Klaim: A kernel language for agents interaction and mobility. IEEE TSE 24(5), 315–330 (1998)

    Google Scholar 

  13. Nomadic Pict Language, http://www.cs.put.poznan.pl/pawelw/npict

  14. Pierce, B.C., Turner, D.N.: Pict: A programming language based on the pi-calculus. In: Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press (2000)

    Google Scholar 

  15. Sewell, P., Leifer, J.J., Wansbrough, K., Nardelli, F.Z., Allen-Williams, M., Habouzit, P., Vafeiadis, V.: Acute: High-level programming language design for distributed computation. In: Proc. ICFP 2005 (September 2005)

    Google Scholar 

  16. Sewell, P., Wojciechowski, P.T.: Verifying overlay networks for relocatable computations (or: Nomadic Pict, relocated). In: Proc. Workshop on the Rise and Rise of the Declarative Datacentre, Microsoft MSR-TR-2008-61 (May 2008)

    Google Scholar 

  17. Sewell, P., Wojciechowski, P.T., Pierce, B.C.: Location-Independent Communication for Mobile Agents: A Two-Level Architecture. In: Bal, H.E., Cardelli, L., Belkhouche, B. (eds.) ICCL-WS 1998. LNCS, vol. 1686, pp. 1–31. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  18. Sewell, P., Wojciechowski, P.T., Unyapoth, A.: Nomadic Pict: Programming languages, communication infrastructure overlays, and semantics for mobile computation. ACM TOPLAS 32(4), 1–63 (2010)

    Article  Google Scholar 

  19. Wojciechowski, P.T., Sewell, P.: Nomadic Pict: Language and infrastructure design for mobile agents. IEEE Concurrency 8(2), 42–52 (2000)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wojciechowski, P.T. (2012). Typed First-Class Communication Channels and Mobility for Concurrent Scripting Languages. In: Sloane, A., Aßmann, U. (eds) Software Language Engineering. SLE 2011. Lecture Notes in Computer Science, vol 6940. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28830-2_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-28830-2_22

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28829-6

  • Online ISBN: 978-3-642-28830-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics