Skip to main content

MobileML: A Programming Language for Mobile Computation

  • Conference paper
  • First Online:
Coordination Languages and Models (COORDINATION 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1906))

Included in the following conference series:

Abstract

This paper describes a language which facilitates programming for mobile computation i.e., computation in which code migrates and continues to run across network nodes. Such languages allow us to develop novel distributed applications (such as workflow systems, flexible software distribution, and intelligent search systems) more easily and efficiently. However, many of existing programming language systems are often insufficient because they lack the support for concise description of migration and formal models for reasoning about program’s properties including type safety and security. Our goal is to construct a programming language system which adequately supports mobile computation on a solid theoretical basis. As an attempt to achieve that, we have designed a programming language based on ML which has well-founded theoretical bases. The features of this language include: transparent migration, dynamic linking with distributed resources by means of contexts, and semantics consistent with the original ML. Especially, our notion of contexts allows us to succinctly describe the interaction between mobile code and environments at destination nodes. We briefly explain a simple semantic model based on Plotkin’s λv-calculus and tuple spaces. Though our model currently guarantees only type soundness, we believe that theoretical results such as prevention of security violation (of Heintze and Rieckes’ SLam Calculus) can be incorporated into our system rather easily. We have also implemented an experimental interpreter system as a first step of the full-fledged language system.

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. Gul Agha. ACTORS: A Model of Concurrent Computations in Distributed Systems. The MIT Press, Cambridge, Mass., 1986.

    Google Scholar 

  2. H.P. Barendregt. The Lambda Calculus, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, 1984. revised edition.

    Google Scholar 

  3. Krishna A. Bharat and Luca Cardelli. Migratory Applications. In Proceedings of the 8th Annual ACM Symposium on User Interface Software and Technology, Pittsburgh, Pa., November 1995. Also available as Digital Systems Research Center Research Report 138.

    Google Scholar 

  4. Luca Cardelli. A language with distributed scope. Computing Systems, 8(1):27–59, 1995. Also available as Digital Systems Research Center Research Report 122.

    Google Scholar 

  5. Luca Cardelli. Mobile Computation. In J. Vitek and C. Tschudin, editors, Mobile Object Systems-Towards the Programmable Internet, number 1222 in Lecture Notes in Computer Science, pages 3–6. Springer-Verlag, April 1997.

    Google Scholar 

  6. L. Damas and R. Milner. Principal type-schemes for functional programs. In Proc. ACM Symposium on Principles of Programming Languages, pages 207–212, 1982.

    Google Scholar 

  7. Olivier Danvy and Andrzej Filinski. A Functional Abstraction of Typed Contexts. Technical report, Institute of Datalogy, University of Copenhagen, 1989. DIKU 89/12.

    Google Scholar 

  8. R. De Nicola, G. Ferrari, and R. Pugliese. Types as Specifications of Access Policies. In J. Vitek and C. Jensen, editors, Secure Internet Programming: Security Issues for Distributed and Mobile Objects, volume 1603 of LNCS, pages 117–146. Springer-Verlag, 1999.

    Chapter  Google Scholar 

  9. M. Felleisen, M. Wand, D. P. Friedman, and B. F. Duba. Abstract Continuations: A Mathematical Semantics for Handling Full Functional Jumps. In ACM Conference on Lisp and Functional Programming, pages 52–62, 1988.

    Google Scholar 

  10. Cédric Fournet, Georges Gonthier, Jean-Jacques Lévy, Luc Maranget, and Didier Rémy. A Calculus of Mobile Agents. In Ugo Montanari and Vladimiro Sassone, editors, CONCUR’ 96: Concurrency Theory (7th International Conference, Pisa, Italy, August 1996, Proceedings), volume 1119 of LNCS, pages 406–421. Springer-Verlag, 1996.

    Google Scholar 

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

    Google Scholar 

  12. J. Gosling and H. McGilton. The Java Language Environment. White paper, Sun Microsystems, 1995.

    Google Scholar 

  13. Robert S. Gray. Agent Tcl: A transportable agent system. In Proceedings of the CIKM Workshop on Intelligent Information Agents, Baltimore, Md., December 1995.

    Google Scholar 

  14. Robert S. Gray, George Cybenko, David Kotz, and Daniela Rus. D’Agents: Security in a multiple-language, mobile-agent system. In Giovanni Vigna, editor, Mobile Agent Security, Lecture Notes in Computer Science, pages 154–187. Springer-Verlag: Heidelberg, Germany, 1998.

    Chapter  Google Scholar 

  15. Colin G. Harrison, David M. Chess, and Aaron Kershenbaum. Mobile Agents: Are they a good idea? Research report, IBM T. J. Watson Research Center, March 1995.

    Google Scholar 

  16. Masatomo Hashimoto. First-Class Contexts in ML. In Proc. 4th Asian Computing Science Conference, volume 1538 of Lecture Notes in Computer Science, pages 206–223. Springer, 1998.

    Google Scholar 

  17. Masatomo Hashimoto and Atsushi Ohori. A Typed Context Calculus. Preprint 1098, Research Institute for Mathematical Sciences, Kyoto, Japan, 1996. Revised version to appear in TCS.

    MATH  Google Scholar 

  18. Masatomo Hashimoto and Akinori Yonezawa. A Typed Language for Mobile Computation. Technical report, Univ. Tokyo, 2000. In preparation.

    Google Scholar 

  19. Nevin Heintze and Jon G. Riecke. The SLam Calculus: Programming with Secrecy and Integrity. In Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California, pages 365–377, New York, NY, January 1998. ACM.

    Google Scholar 

  20. Frederick C. Knabe. An overview of mobile agent programming. In Proceedings of the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages, Stockholm, Sweden, June 1996.

    Google Scholar 

  21. Gian Pietro Picco, Amy L. Murphy, and Gruia-Catalin Roman. LIME: Linda Meets Mobility. In Proceedings of the 21st International Conference on Software Engineering, pages 368–377. ACM Press, May 1999.

    Google Scholar 

  22. G. Plotkin. Call-by-name, call-by-value, and the λ-calculus. Theoretical Computer Science, 1:125–159, 1975.

    Article  MathSciNet  MATH  Google Scholar 

  23. J. H. Reppy. CML: A higher-order Concurrent Language. In Proceedings of ACM SIGPLAN’91 Conference on Programming Language Design and Implementation, pages 293–305, 1991.

    Google Scholar 

  24. James Riely and Matthew Hennessy. A Typed Language for Distributed Mobile Processes. In Proc. ACM Symposium on Principles of Programming Languages, pages 378–390. ACM Press, January 1998.

    Google Scholar 

  25. Tatsurou Sekiguchi, Hidehiko Masuhara, and Akinori Yonezawa. A Simple Extension of Java Language for Controllable Transparent Migration and its Portable Implementation. In Proceedings of the Third International Conference on Coordination Models and Languages, 1999.

    Google Scholar 

  26. Tatsurou Sekiguchi and Akinori Yonezawa. A Calculus with Code Mobility. In H. Bowman and J. Derrick, editors, Proceedings of Second IFIP International Conference on Formal Methods for Open Object-based Distributed Systems, pages 21–36. Chapman&Hall, 1997.

    Google Scholar 

  27. Takuo Watanabe. Mobile Code Description using Partial Continuations: Definition and Operational Semantics. In SWoPP’ 97, pages 61–66. IPSJ, August 1997.

    Google Scholar 

  28. James E. White. Mobile Agents. In Jeffrey Bradshaw, editor, Software Agents. The 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

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hashimoto, M., Yonezawa, A. (2000). MobileML: A Programming Language for Mobile Computation. In: Porto, A., Roman, GC. (eds) Coordination Languages and Models. COORDINATION 2000. Lecture Notes in Computer Science, vol 1906. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45263-X_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-45263-X_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41020-1

  • Online ISBN: 978-3-540-45263-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics