Skip to main content

Mobile Distributed Programming in X-Klaim

  • Chapter
Formal Methods for Mobile Computing (SFM-Moby 2005)

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

Included in the following conference series:

Abstract

Network-aware computing has called for new programming languages that exploit the mobility paradigm as a basic interaction mechanism. In this paper we present X-Klaim, an experimental programming language specifically designed to program distributed systems composed of several components interacting through multiple distributed tuple spaces and mobile code. The language consists of a set of coordination primitives inspired by Linda, a set of operators for building processes borrowed from process algebras and a few classical constructs for sequential programming. X-Klaim naturally supports programming with explicit localities; these are first-class data that can be manipulated like any other data, and coordination primitives that permit controlling interactions among located processes. Via a series of examples, we show that many mobile code programming paradigms can be naturally implemented by means of the considered language.

This work has been funded by EU-FET on Global Computing, project MIKADO IST-2001-32222 and project AGILE IST-2001-32747. The funding body is not responsible for any use that might be made of the results presented here.

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. Adams, M., Coplien, J., Gamoke, R., Hanmer, R., Keeve, F., Nicodemus, K.: Fault-tolerant telecommunication system patterns. In: Vlissides, J.M., Coplien, J.O. (eds.) Pattern Languages of Program Design 2, pp. 549–562. Addison-Wesley, Reading (1996)

    Google Scholar 

  2. Arnold, K., Freeman, E., Hupfer, S.: JavaSpaces Principles, Patterns and Practice. Addison-Wesley, Reading (1999)

    Google Scholar 

  3. Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language, 3rd edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  4. Arnold, K., O’Sullivan, B., Scheifler, R.W., Waldo, J., Wollrath, A.: The Jini Specification. Addison-Wesley, Reading (1999)

    Google Scholar 

  5. Acharya, A., Ranganathan, M., Saltz, J.: Sumatra: A Language for Resource-aware Mobile Programs. In: Vitek and Tschudin, VT 1997, pp. 111–130 (1997)

    Google Scholar 

  6. Anderson, B.G., Shasha, D.: Persistent Linda: Linda + Transactions + Query Processing. In: Banâtre, J.-P., Le Métayer, D. (eds.) Research Directions in High-Level Parallel Programming Languages 1991. LNCS, vol. 574, pp. 93–109. Springer, Heidelberg (1992)

    Google Scholar 

  7. Bettini, L., Bono, V., De Nicola, R., Ferrari, G., Gorla, D., Loreti, M., Moggi, E., Pugliese, R., Tuosto, E., Venneri, B.: The klaim project: Theory and practice. In: Priami, C. (ed.) GC 2003. LNCS, vol. 2874, pp. 88–150. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  8. Bettini, L., Bono, V., Venneri, B.: Coordinating Mobile Object-Oriented Code. In: Arbab, F., Talcott, C. (eds.) COORDINATION 2002. LNCS, vol. 2315, pp. 56–71. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  9. Bettini, L., Bono, V., Venneri, B.: O’Klaim: a coordination language with mobile mixins. In: De Nicola, R., Ferrari, G.-L., Meredith, G. (eds.) COORDINATION 2004. LNCS, vol. 2949, pp. 20–37. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  10. Bettini, L., De Nicola, R.: Translating Strong Mobility into Weak Mobility. In: Picco, G.P. (ed.) MA 2001. LNCS, vol. 2240, pp. 182–197. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  11. Bettini, L., De Nicola, R., Loreti, M.: Formulae Meet Programs Over the Net: A Framework for Correct Network Aware Programming. Automated Software Engineering 11(3), 245–288 (2004); Special Issue on Distributed and Mobile Software Engineering

    Article  Google Scholar 

  12. Bettini, L., De Nicola, R., Pugliese, R.: Klava: a Java package for distributed and mobile applications. Software – Practice and Experience 32(14), 1365–1394 (2002)

    Article  MATH  Google Scholar 

  13. Bettini, L.: Linguistic Constructs for Object-Oriented Mobile Code Programming & their Implementations. PhD thesis, Dip. di Matematica, Università di Siena (2003), Available at http://music.dsi.unifi.it

  14. Bouchenak, S., Hagimont, D.: Pickling Threads State in the Java System. In: Proc. of the Technology of Object-Oriented Languages and Systems, TOOLS (2000)

    Google Scholar 

  15. Bettini, L., Loreti, M., Pugliese, R.: An Infrastructure Language for Open Nets. In: Proc. of ACM SAC 2002, Special Track on Coordination Models, Languages and Applications, pp. 373–377. ACM, New York (2002)

    Google Scholar 

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

    Article  Google Scholar 

  17. Cardelli, L.: Global computation. ACM Computing Surveys 28(4es) (1996) Article 163

    Google Scholar 

  18. Cardelli, L.: Mobile computation. In: Vitek and Tschudin [VT 1997], pp. 3–6 (1997)

    Google Scholar 

  19. Cardelli, L.: Abstractions for Mobile Computation. In: Vitek and Jensen [VJ 1999], pp. 51–94 (1999)

    Google Scholar 

  20. Carriero, N., Gelernter, D.: How to Write Parallel Programs: A Guide to the Perplexed. ACM Computing Surveys 21(3), 323–357 (1989)

    Article  Google Scholar 

  21. Carriero, N., Gelernter, D.: Linda in Context. Communications of the ACM 32(4), 444–458 (1989)

    Article  Google Scholar 

  22. Cugola, G., Ghezzi, C., Picco, G.P., Vigna, G.: Analyzing Mobile Code Languages. In: Vitek and Tschudin [VT 1997] (1997)

    Google Scholar 

  23. Cabri, G., Leonardi, L., Zambonelli, F.: Reactive Tuple Spaces for Mobile Agent Coordination. In: Rothermel, K., Hohl, F. (eds.) MA 1998. LNCS, vol. 1477, pp. 237–248. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  24. Ciancarini, P., Rossi, D.: Jada - Coordination and Communication for Java Agents. In: Vitek and Tschudin [VT 1997], pp. 213–228 (1997)

    Google Scholar 

  25. Deugo, D.: Choosing a Mobile Agent Messaging Model. In: Proc. of ISADS 2001, pp. 278–286. IEEE, Los Alamitos (2001)

    Google Scholar 

  26. De Nicola, R., Ferrari, G., Pugliese, R.: Klaim: a Kernel Language for Agents Interaction and Mobility. IEEE Transactions on Software Engineering 24(5), 315–330 (1998)

    Article  Google Scholar 

  27. De Nicola, R., Ferrari, G., Pugliese, R.: Types as Specifications of Access Policies. In: Vitek and Jensen [VJ 1999], pp. 117–146 (1999)

    Google Scholar 

  28. De Nicola, R., Ferrari, G., Pugliese, R., Venneri, B.: Types for Access Control. Theoretical Computer Science 240(1), 215–254 (2000)

    Article  MathSciNet  Google Scholar 

  29. De Nicola, R., Loreti, M.: A Modal Logic for Mobile Agents. ACM Transactions on Computational Logic 5(1), 79–128 (2004)

    Article  MathSciNet  Google Scholar 

  30. Ford, D., Lehman, T., McLaughry, S., Wyckoff, P.: T Spaces. IBM Systems Journal, 454–474 (August 1998)

    Google Scholar 

  31. Gelernter, D.: Generative Communication in Linda. ACM Transactions on Programming Languages and Systems 7(1), 80–112 (1985)

    Article  MATH  Google Scholar 

  32. Gelernter, D.: Multiple Tuple Spaces in Linda. In: Odijk, E., Syre, J.-C., Rem, M. (eds.) PARLE 1989. LNCS, vol. 365, pp. 20–27. Springer, Heidelberg (1989)

    Google Scholar 

  33. Harrison, C., Chess, D., Kershenbaum, A.: Mobile agents: Are they a good idea? Research Report 19887, IBM Research Division (1994)

    Google Scholar 

  34. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs (1985)

    MATH  Google Scholar 

  35. Hohlfeld, M., Yee, B.S.: How to Migrate Agents (1998), Available at http://www.cs.ucsd.edu/~bsy

  36. Knabe, F.: An overview of mobile agent programming. In: Dam, M. (ed.) LOMAPS-WS 1996. LNCS, vol. 1192. Springer, Heidelberg (1997)

    Google Scholar 

  37. Korpela, E., Werthimer, D., Anderson, D., Cobb, J., Lebofsky, M.: SETI@home: Massively Distributed Computing for SETI. IEEE Computing in Science and Engineering (January 2001)

    Google Scholar 

  38. Lange, D., Oshima, M.: Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, Reading (1998)

    Google Scholar 

  39. Milner, R.: Communication and Concurrency. Prentice Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  40. Picco, G.P., Murphy, A.L., Roman, G.-C.: Lime: Linda Meets Mobility. In: Garlan, D. (ed.) Proc. of the 21st Int. Conference on Software Engineering (ICSE 1999), pp. 368–377. ACM Press, New York (1999)

    Chapter  Google Scholar 

  41. Park, A.S., Reichl, P.: Personal Disconnected Operations with Mobile Agents. In: Proc. of 3rd Workshop on Personal Wireless Communications, PWC 1998 (1998)

    Google Scholar 

  42. Peine, H., Stolpmann, T.: The Architecture of the Ara Platform for Mobile Agents. In: Rothermel, K., Popescu-Zeletin, R. (eds.) MA 1997. LNCS, vol. 1219, pp. 50–61. Springer, Heidelberg (1997)

    Google Scholar 

  43. Ranganathan, M., Acharya, A., Sharma, S., Saltz, J.: Network-aware Mobile Programs. In: Proc. of the USENIX Annual Technical Conf., pp. 91–103. USENIX (1997)

    Google Scholar 

  44. Sherman, A.H.: C-Linda Reference Manual. Scientific Computing Associates, Inc. (1990)

    Google Scholar 

  45. Thorn, T.: Programming Languages for Mobile Code. ACM Computing Surveys 29(3), 213–239 (1997); Also Technical Report 1083, University of Rennes IRISA

    Google Scholar 

  46. Vitek, J., Jensen, C. (eds.): Secure Internet Programming. LNCS, vol. 1603. Springer, Heidelberg (1999)

    Google Scholar 

  47. Vitek, J., Tschudin, C. (eds.): MOS 1996. LNCS, vol. 1222. Springer, Heidelberg (1997)

    Google Scholar 

  48. White, J.E.: Mobile Agents. In: Bradshaw, J. (ed.) Software Agents, AAAI Press and MIT Press (1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bettini, L., De Nicola, R. (2005). Mobile Distributed Programming in X-Klaim . In: Bernardo, M., Bogliolo, A. (eds) Formal Methods for Mobile Computing. SFM-Moby 2005. Lecture Notes in Computer Science, vol 3465. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11419822_2

Download citation

  • DOI: https://doi.org/10.1007/11419822_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25697-7

  • Online ISBN: 978-3-540-32021-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics