Translating Strong Mobility into Weak Mobility

  • Lorenzo Bettini
  • Rocco De Nicola
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2240)


Mobile agents are software objects that can be transmitted over the net together with data and code, or can autonomously migrate to a remote computer and execute automatically on arrival. However many frameworks and languages for mobile agents only provide weak mobility: agents do not resume their execution from the instruction following the migration action, instead they are always restarted from a given point. In this paper we present a purely syntactic translation process for transforming programs that use strong mobility into programs that rely only on weak mobility, while preserving the original semantics.This transformation applies to programs written in a procedural language and can be adapted to other languages, like Java, that provide means to send data and code, but not the execution state.It has actually been exploited for implementing our language for mobile agents X-Klaim, that has linguistic constructs for strong mobility.


Mobile Agent Target Language Code Block Migration Action Remote Site 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    K. Arnold, J. Gosling, and D. Holmes. The Java Programming Language.Addison-Wesley, 3rd edition, 2000.Google Scholar
  2. 2.
    L. Bettini. Progetto e Realizzazione di un Linguaggio di Programmazione per Codice Mobile. Master’s thesis, Dip.di Sistemi e Informatica, Univ.di Firenze, April 1998.Google Scholar
  3. 3.
    L. Bettini, R. De Nicola, G. Ferrari, and R. Pugliese. Interactive Mobile Agents in X-Klaim. In P. Ciancarini and R. Tolksdorf, editors, Proc. of the 7th Int. IEEE Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), pages 110–115, Stanford, 1998.IEEE Computer Society Press.Google Scholar
  4. 4.
    L. Bettini, R.D. Nicola, G. Ferrari, and R. Pugliese. Mobile Applications in X-Klaim. In A. Corradi, A. Omicini, and A. Poggi, editors, Proc. of WOA 2000, 2000.Google Scholar
  5. 5.
    S. Bouchenak and D. Hagimont. Pickling Threads State in the Java System. In Proc. of the Technology of Object-Oriented Languages and Systems (TOOLS), 2000.Google Scholar
  6. 6.
    L. Cardelli. A Language with Distributed Scope. Computing Systems, 8(1):27–59, 1995.Google Scholar
  7. 7.
    T. Coninx, E. Truyen, B. Vanhaute, Y. Berbers, W. Joosen, and P. Verbaeten. On the use of Threads in Mobile Object Systems.In Proc. of 6th ECOOP, 2000.Google Scholar
  8. 8.
    G. Cugola, C. Ghezzi, G. Picco, and G. Vigna. Analyzing Mobile Code Languages. In Vitek and Tschudin [28].Google Scholar
  9. 9.
    F. Douglis and J. Ousterhout. Transparent Process Migration: Design Alternatives and the Sprite Implementation. Software-Practice and Experience, 21(8):757–785, Aug.1991.CrossRefGoogle Scholar
  10. 10.
    S. Fünfrocken. Transparent Migration of Java-Based Mobile Agents.In Rothermel and Hohl [21], pages 26–37.Google Scholar
  11. 12.
    R.S. Gray. Agent Tcl: A flexible and secure mobile-agent system. Technical Report PCS-TR98-327, Dartmouth College, Computer Science, Hanover, NH, Jan.1998.Google Scholar
  12. 13.
    C. Harrison, D. Chess, and A. Kershenbaum. Mobile agents: Are they a good idea? Research Report 19887, IBM Research Division, 1994.Google Scholar
  13. 14.
    M. Hohlfeld and B. Yee. How to Migrate Agents. available at, 1998.
  14. 15.
    D. Lange and M. Oshima. Programming and Deploying Java Mobile Agents with Aglets.Addison-Wesley, 1998.Google Scholar
  15. 16.
    D. Lange and M. Oshima. Seven good reasons for mobile agents. Communications of the ACM, 42(3):88–89, March 1999.CrossRefGoogle Scholar
  16. 17.
    Microsoft. Microsoft C# Language Specifications.Microsoft Press, 2001.Google Scholar
  17. 18.
    M. Mira da Silva. Mobility and Persistence. In Vitek and Tschudin [28], pages 157–176.Google Scholar
  18. 19.
    H. Peine and T. Stolpmann. The Architecture of the Ara Platform for Mobile Agents. In K. Rothermel and R. Popescu-Zeletin, editors, Proc. of the 1st International Workshopon Mobile Agents (MA’ 97), number 1219 in LNCS, pages 50–61. Springer-Verlag, 1997.Google Scholar
  19. 20.
    M. Ranganathan, A. Acharya, S. Sharma, and J. Saltz. Network-aware Mobile Programs. In Proc. of the USENIX Annual Technical Conf., pages 91–103.USENIX, 1997.Google Scholar
  20. 21.
    K. Rothermel and F. Hohl, editors. Proc. of the 2nd Int. Workshopon Mobile Agents, number 1477 in LNCS.Springer-V erlag, 1998.Google Scholar
  21. 22.
    T. Sekiguchi, H. Masuhara, and A. Yonezawa. A Simple Extension of Java Language for Controllable Transparent Migration and its Portable Implementation.In P. Ciancarini and A. Wolf, editors, Proc. 3rd Int. Conf. on Coordination Models and Languages, number 1594 in LNCS, pages 211–226.Springer-Verlag, 1999.Google Scholar
  22. 23.
    J. Smith. A Survey of Process Migration Mechanisms. Operating Systems Review, 22(3):28–40, 1988.CrossRefGoogle Scholar
  23. 24.
    M. Straßer, J. Baumann, and F. Hohl. Mole-A Java Based Mobile Agent System. In Proc. of the 2nd ECOOP Workshopon Mobile Object Systems, 1996.Google Scholar
  24. 25.
    T. Thorn. Programming Languages for Mobile Code.Technical Report 1083, University of Rennes IRISA, March 1997.also in ACM Computing Surveys, September 1997.Google Scholar
  25. 26.
    E. Truyen, B. Robben, B. Vanhaute, T. Coninx, W. Joosen, and P. Verbaeten. Portable Support for Transparent Thread Migration in Java.In Proc. of Int. Symposium on Agent Systems and Applications/Mobile Agents (ASA/MA’2000), 2000.Google Scholar
  26. 27.
    E. Tuosto. An Ada95 Implementation of a Network Coordination Language with Code Mobility. In M. Harbour and J. de la Puente, editors, Proc. of Int. Conference on Reliable Software Technologies-Ada-Europe’ 99, number 1622 in LNCS, pages 199–210.Springer, 1999.CrossRefGoogle Scholar
  27. 28.
    J. Vitek and C. Tschudin, editors. Mobile Object Systems-Towards the Programmable Internet, number 1222 in LNCS.Springer, 1997.Google Scholar
  28. 29.
    B. Walker, G. Popek, R. English, C. Kline, and G. Thiel. The LOCUS distributed operating systems. In Proceedings of the 9th ACM Symposium on Operating Systems Principles (SOSP), volume 17, pages 49–70, 1983.CrossRefGoogle Scholar
  29. 30.
    J.E. White. Telescript Technology: The Foundation for the Electronic Marketplace. White paper, General Magic, Inc., Mountain View, CA, 1994.Google Scholar
  30. 31.
    J.E. White. Mobile Agents. In J. Bradshaw, editor, Software Agents.AAAI Press and MIT Press, 1996.Google Scholar
  31. 32.
    C. Wicke, L. Bic, M. Dillencourt, and M. Fukuda. Automatic State Capture of Self-Migrating Computations in Messengers.In Rothermel and Hohl [21], pages 68–79.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Lorenzo Bettini
    • 1
  • Rocco De Nicola
    • 1
  1. 1.Dipartimento di Sistemi e InformaticaUniversità di FirenzeItaly

Personalised recommendations