Thread-Based Mobility in Oz

  • Dragan Havelka
  • Christian Schulte
  • Per Brand
  • Seif Haridi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3389)


Strong mobility enables migration of entire computations combining code, data, and execution state (such as stack and program counter) between sites of computation. This is in contrast to weak mobility where migration is confined to just code and data. Strong mobility is essential for many applications where reconstruction of execution states is either difficult or even impossible: load balancing, reduction of network latency and traffic, and resource-related migration, just to name a few. This paper presents a model, programming abstractions, implementation, and evaluation of thread-based strong mobility. The model extends and takes advantage of a distributed programming model based on automatic synchronization through dataflow variables. It comes as a natural extension of dataflow computing which carefully separates issues concerning distribution and mobility. The programming abstractions capture various migration scenarios which differ in how the source and destination site relate to the site initiating migration. The implementation is based on replicating concurrent lightweight threads between sites controlled by migration managers.


Mobile Agent Program Counter Execution State Source Site Migration Manager 
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.
    Fuggetta, A., Picco, G.P., Vigna, G.: Understanding Code Mobility. IEEE Transactions on Software Engineering 24, 342–361 (1998)CrossRefGoogle Scholar
  2. 2.
    Smolka, G.: The Oz programming model. In: van Leeuwen, J. (ed.) Computer Science Today. LNCS, vol. 1000, pp. 324–343. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  3. 3.
    Van Roy, P., Haridi, S.: Concepts, Techniques, and Models of Computer Programming. MIT Press, Cambridge (2004)Google Scholar
  4. 4.
    Van Roy, P., Haridi, S., Brand, P., Smolka, G., Mehl, M., Scheidhauer, R.: Mobile objects in Distributed Oz. ACM Transactions on Programming Languages and Systems 19, 804–851 (1997)CrossRefGoogle Scholar
  5. 5.
    Haridi, S., Van Roy, P., Brand, P., Mehl, M., Scheidhauer, R., Smolka, G.: Efficient logic variables for distributed computing. ACM Transactions on Programming Languages and Systems 21, 569–626 (1999)CrossRefGoogle Scholar
  6. 6.
    Haridi, S., Van Roy, P., Brand, P., Schulte, C.: Programming languages for distributed applications. New Generation Computing 16, 223–261 (1998)CrossRefGoogle Scholar
  7. 7.
    Haridi, S., Franzén, N.: Tutorial of Oz. The Mozart Consortium (1999),
  8. 8.
    Duchier, D., Kornstaedt, L., Müller, T., Schulte, C., Van Roy, P.: System Modules. The Mozart Consortium (1999),
  9. 9.
    Mozart Consortium: The Mozart programming system (1999) Available from,
  10. 10.
    Hagimont, D., Ismail, L.: A performance evaluation of the mobile agent paradigm. In: Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 306–313. ACM Press, New York (1999)CrossRefGoogle Scholar
  11. 11.
    Suri, N., Bradshaw, J.M., Breedy, M.R., Groth, P.T., Hill, G.A., Jeffers, R.: Strong mobility and fine-grained resource control in nomads. In: Kotz, D., Mattern, F. (eds.) MA 2000, ASA/MA 2000, and ASA 2000. LNCS, vol. 1882, pp. 2–15. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Jul, E., Levy, H., Hutchinson, N., Black, A.: Fine-grained mobility in the Emerald system. ACM Transactions on Computer Systems 6, 109–133 (1988)CrossRefGoogle Scholar
  13. 13.
    Conchon, S., Fessant, F.L.: Jocaml: Mobile agents for Objective-Caml. In: First International Symposium on Agent Systems and Applications (ASA 1999)/Third International Symposium on Mobile Agents (MA 1999), Palm Springs, CA, USA (1999)Google Scholar
  14. 14.
    Cardelli, L.: Obliq: A language with distributed scope. Technical report, Digital Equipment Corporation Systems Research Center, 130 Lytton Avenue, Palo Alto, California 94301, USA (1994)Google Scholar
  15. 15.
    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
  16. 16.
    Gray, R.S., Kotz, D., Cybenko, G., Rus, D.: Mobile agents: Motivations and state-of-the-art systems. Technical Report TR2000-365, Dartmouth College, Hanover, NH (2000)Google Scholar
  17. 17.
    Gray, R.S.: Agent Tcl: A flexible and secure mobile-agent system. Dr. Dobbs Journal 22, 18–27 (1997)Google Scholar
  18. 18.
    Acharya, A., Ranganathan, M., Saltz, J.: Dynamic linking for mobile programs. In: Tschudin, C.F., Vitek, J. (eds.) MOS 1996. LNCS, vol. 1222, pp. 245–262. Springer, Heidelberg (1997)Google Scholar
  19. 19.
    Bouchenak, S., Hagimont, D.: Zero overhead java thread migration. Technical Report 0261, INRIA (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Dragan Havelka
    • 1
    • 2
  • Christian Schulte
    • 1
  • Per Brand
    • 2
  • Seif Haridi
    • 1
    • 2
  1. 1.IMITKTH – Royal Institute of TechnologyKistaSweden
  2. 2.SICS – Swedish Institute of Computer ScienceKistaSweden

Personalised recommendations