Journal of Intelligent Information Systems

, Volume 8, Issue 2, pp 167–191 | Cite as

On Migrating Threads

  • Bernd Mathiske
  • Florian Matthes
  • Joachim W. Schmidt


Based on the notion of persistent threads in Tycoon (Matthes and Schmidt, 1994), we investigate thread migration as a programming construct for building activity-oriented distributed applications. We first show how a straight-forward extension of a higher-order persistent language can be used to define activities that span multiple (semi-) autonomous nodes in heterogeneous networks. In particular, we discuss the intricate binding issues that arise in systems where threads are first-class language citizens that may access local and remote, mobile and immobile resources.

We also describe how our system model can be understood as a promising generalization of the more static architecture of first-order and higher-order distributed object systems. Finally, we give some insight into the implementation of persistent and migrating threads and we explain how to represent bindings to ubiquitous resources present at each node visited by a migrating thread on the network to avoid excessive communication or storage costs.

distribution threads migration agents workflows persistence higher-order languages bindings dynamic linking 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Atkinson, M.P. and Bunemann, P. Types and persistence in database programming languages. ACM Computing Surveys, 19(2), June 1987.Google Scholar
  2. Birell, A., Nelson, G., Owicki, S. and Wobber, E. Network objects. In 14th ACM Symposium on Operating System Principles, pages 217–230, June 1993.Google Scholar
  3. Breibart, Y., Deacon, A., Schek, H.-J., Sheth, A. and Weikum, G. Merging application-centric and data-centric approaches to support transaction-oriented multi-system workflows. ACM SIGMOD Record, 12(3):23–30, September 1993.Google Scholar
  4. Cardelli, L. Obliq: A language with distributed scope. Technical report, Digital Equipment Corporation, Systems Research Center, Palo Alto, California, June 1994.Google Scholar
  5. Cardelli, L., Matthes, F. and Abadi, M. Extensible grammars for language specialization. In C. Beeri, A. Ohori, and D.E. Shasha, editors, Proceedings of the Fourth InternationalWorkshop on Database Programming Languages, Manhatten, New York, Workshops in Computing, pages 11–31. Springer-Verlag, February 1994.Google Scholar
  6. Corbin, J.R. The Art of Distributed Applications. Sun Technical Reference Library. Springer-Verlag, 1991.Google Scholar
  7. Curtis, B., Kellner, M.I. and Over, J. Process modelling. Communications of the ACM, 35(9), September 1992. Telescript programming guide, version 0.5 (alpha). HTML/developer.html, October 1995.Google Scholar
  8. Gosling, J. and McGilton, H. The java language environment–A whitepaper. Technical report, Sun Microsystems, October 1995.Google Scholar
  9. Gray, J. Notes on database operating systems. In Operating Systems–An Advanced Course, volume 60 of Lecture Notes in Computer Science. Springer-Verlag, 1978.Google Scholar
  10. Gray, J. and Reuter, A. Transaction Processing–Concepts and Techniques. The Morgan Kaufmann Series in Data Management Systems. Morgan Kaufmann Publishers, 1993.Google Scholar
  11. Object Management Group. The common object request broker: Architecture and specification. Document 91.12.1, Rev. 1.1, OMG, December 1991.Google Scholar
  12. Horning, J., Kalsow, P., McJones, J. and Nelson, G. Some useful Modula-3 interfaces. Technical report, Digital Equipment Corporation, Systems Research Center, Palo Alto, California, December 1993.Google Scholar
  13. IBM Corporation, Publication No. SR28-5570. Object-Oriented Programming using SOM and DSOM, August 1994.Google Scholar
  14. ISO / IEC JTC1 / SC21 / IS 9805. Information Technology-Open Systems Interconnection-Protocol Specification for the Commitment, Concurrency and Recovery Service Element, 1990.Google Scholar
  15. Jul, E. Object Mobility in a Distributed Object-Oriented System. PhD thesis, Department of Computer Science, University of Washington, Seattle, Washington, 1988.Google Scholar
  16. Jul, E. Migration of light-weight processes in Emerald. Operation Systems Technical Comittee Newsletter, 3(1):25–30, 1989.Google Scholar
  17. Jul, E., Levy, H., Hutchinson, N. and Black, A. Fine-grained mobility in the Emerald system. ACM Transactions of Computer Systems, 6(1):109–133, February 1988.Google Scholar
  18. Keppel, D. Tools and techniques for building fast portable threads packages. Technical Report 93-05-06, University of Washington, Department of Computer Science and Engineering, University of Washington, Seattle, May 1993.Google Scholar
  19. Knabe, F. Language Support for Mobile Agents. PhD thesis, School of Computer Science, Carnegie-Mellon University, December 1995.Google Scholar
  20. Lampson, B.W. Atomic transactions. In Distributed Systems–Architecture and Implementation, volume 105 of Lecture Notes in Computer Science, pages 246–265. Springer-Verlag, 1981.Google Scholar
  21. Lindsay, B., Selinger, P., Galtieri, C., Gray, J., Lorie, R., Price, T., Putzolo, F., Traiger, I. and Wade, B. Notes on distributed databases. Technical Report TR RJ2571, IBM Almaden Research Laboratories, San Jose, CA, 1979.Google Scholar
  22. Manola, F. and Heiler, S. A "RISC" object model for object system interoperation: Concepts and applications. Technical Report TR-0231-08-93-165, GTE laboratories Inc., Waltham, MA (USA), August 1993.Google Scholar
  23. Manola, F., Heiler, S., Georgakopoulos, D., Hornick, M. and Brodie, M. Distributed object management. International Journal of Intelligent and Cooperative Information Systems, 1(1), March 1992.Google Scholar
  24. Mathiske, B. Mobility in Persistent Object Systems. PhD thesis, Fachbereich Informatik, Universität Hamburg, Germany, May 1996. (in German).Google Scholar
  25. Mathiske, B., Matthes, F. and Schmidt, J.W. Scaling database languages to higher-order distributed programming. In Proceedings of the Fifth International Workshop on Database Programming Languages, Gubbio, Italy. Springer-Verlag, September 1995. (Also appeared as TR FIDE/95/137).Google Scholar
  26. Matthes, F., Müller, R. and Schmidt, J.W. Towards a unified model of untyped object stores: Experience with the Tycoon store protocol. In M.P. Atkinson, editor, Fully Integrated Data Environments. Springer-Verlag (to appear), 1995.Google Scholar
  27. Matthes, F. and Schmidt, J.W. Bulk types: Built-in or add-on? In Database Programming Languages: Bulk Types and Persistent Data. Morgan Kaufmann Publishers, September 1991.Google Scholar
  28. Matthes, F. and Schmidt, J.W. Definition of the Tycoon language TL–a preliminary report. Informatik Fachbericht FBI-HH-B-160/92, Fachbereich Informatik, Universität Hamburg, Germany, November 1992.Google Scholar
  29. Matthes, F. and Schmidt, J.W. Persistent threads. In Proceedings of the Twentieth International Conference on Very Large Data Bases, VLDB, pages 403–414, Santiago, Chile, September 1994.Google Scholar
  30. Microsoft Corporation. Microsoft Office Developer’s Kit, 1994.Google Scholar
  31. Morrison, M., Atkinson, P.T., Brown, A.L. and Dearle, A. Bindings in persistent programming languages. In SIGPLAN Notices, volume 23, pages 27–34, April 1988.Google Scholar
  32. Morrison, R., Brown, R.L., Connor, R. and Dearle, A. The Napier88 reference manual. PPRR 77-89, Universities of Glasgow and St Andrews, 1989.Google Scholar
  33. Nelson, G., editor. Systems programming with Modula-3. Series in innovative technology. Prentice Hall, Englewood Cliffs, New Jersey, 1991.Google Scholar
  34. Nicol, J., Wilkes, T. and Manola, F. Object orientation in heterogeneous distributed computing systems. Special Issue on Heterogeneous Processing, June 1993.Google Scholar
  35. OSF. OSF DCE Administration Guide–Core Components. Prentice Hall, Englewood Cliffs, New Jersey, 1993.Google Scholar
  36. Piellusch, A. Synchronization of long-lived activities. Master’s thesis, Fachbereich Informatik, Universität Hamburg, Germany, June 1996. (in German).Google Scholar
  37. Portable operating system interface for computer environments (POSIX). Federal information processing standards publication NBS-FIPS-PUB-151-1, National Bureau of Standards, 1990.Google Scholar
  38. Shapiro, M. Flexible bindings for fine-grain and fragmented objects in distributed systems. Rapport de Recherche 2007, INRIA, Domaine de Voluceau, Rocquencourt 78153 Le Chesnay Cedex, France, August 1993.Google Scholar
  39. Shapiro, M., Gautron, P., and Mosseri, L. Persistence and migration for C++ objects. In In Proceedings of the European Conference on Object Oriented Programming, Nottingham, GB, July 1989.Google Scholar
  40. Strachey, C., editor. Fundamental concepts in programming languages. Oxford University Press, Oxford, 1967.Google Scholar
  41. Sun Microsystems. Sun OS Reference Manual, May 1988.Google Scholar
  42. Thomsen, B., Leth, L., Knabe, F. and Chevalier, P.Y. Mobile agents. Technical Report ECRC-95-21, European Computer-Industry Research Centre, Munich, Germany, June 1995.Google Scholar
  43. Wayner, P. Agents away. BYTE, pages 113–118, May 1994.Google Scholar
  44. White, J.E. Telescript technology: The foundation for the electronic marketplace. White paper, General Magic Inc., Mountain View, California, USA, 1994.Google Scholar

Copyright information

© Kluwer Academic Publishers 1997

Authors and Affiliations

  • Bernd Mathiske
    • 1
  • Florian Matthes
    • 1
  • Joachim W. Schmidt
    • 1
  1. 1.Arbeitsbereich SoftwaresystemeTechnische Universitaet Hamburg-HarburgHamburgGermany

Personalised recommendations