Lana: An Approach to Programming Autonomous Systems

  • Ciarán Bryce
  • Chrislain Razafimahefa
  • Michel Pawlak
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2374)


Networks today are dynamic (e.g. devices join and leave P2P communities or Bluetooth piconets) so programs need to be autonomous. This means that they must be able to continue working despite changes in the network. To provide autonomy, developers require a programming model where the communication primitives are non-blocking, where there is support for information lookup in a program’s current network and where network outages are considered natural rather than as errors. This paper presents Lana, a programming model based on Java, that includes concepts for communication, mobility, security and connection recovery in order to support autonomy.


Virtual Machine Autonomous System Security Policy Method Call Resource Discovery 
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.
    Gnutella protocol.
  2. 2.
  3. 3.
    Gul A. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. PhD thesis, University of Michigan, Computer and Communication Science, 1985. also MIT AI Laboratory Technical Report 844.Google Scholar
  4. 4.
    Ken Arnold and James Gosling. The Java Programming Language. The Java Series. Addison-Wesley, Reading, MA, second edition, 1998.Google Scholar
  5. 5.
    Ken Arnold, Ann Wollrath, Bryan O’Sullivan, Robert Scheifler, and Jim Waldo. The Jini Specification. Addison-Wesley, Reading, MA, USA, 1999.Google Scholar
  6. 6.
    Nick Benton, Luca Cardelli, and Cedric Fournet. Modern Concurrency Abstractions for C#, January 2002.Google Scholar
  7. 7.
    Ciaran Bryce, Manuel Oriol, and Jan Vitek. A Coordination Model for Agents Based on Secure Spaces. In P. Ciancarini and A. Wolf, editors, Proc. 3rd Int. Conf. on Coordination Models and Languages, volume 1594 of Lecture Notes in Computer Science, pages 4–20, Amsterdam, Netherland, April 1999. Springer-Verlag, Berlin.Google Scholar
  8. 8.
    Ciarán Bryce and Chrislain Razafimahefa. An Approach To Safe Object Sharing. In Proceedings of the 15th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA-2000), volume 35, pages 367–381, October 2000.Google Scholar
  9. 9.
    Ciarán Bryce and Jan Vitek. The JavaSeal Mobile Agent Kernel. Autonomous Agents and Multi-Agent Systems, 4(1):359–384, January 2001.Google Scholar
  10. 10.
    Luca Cardelli and Andrew D. Gordon. Mobile Ambients. In Maurice Nivat, editor, Foundations of Software Science and Computational Structures, number 1378 in LNCE, pages 140–155. Springer-Verlag, 1998.Google Scholar
  11. 11.
    Frank Dabek, Frans Kaashoek, David Karger, Robert Morris, and Ion Stoica. Wide Area Cooperative Storage with CFS. In 18th Symposium on Operating Systems Principles, pages 116–128, October 2001.Google Scholar
  12. 12.
    Deborah Estrin, Ramesh Govindan, and John Heidemann. Embedding the Internet. Communications of the ACM, 43(5):39–41, May 2000.Google Scholar
  13. 13.
    Cédric Fournet. The Join-Calculus: a Calculus for Distributed Mobile Programming. Ph.D. thesis, Ecole Polytechnique, 1998.Google Scholar
  14. 14.
    Eric Freeman, Susanne Hupfer, and Ken Arnold. JavaSpaces Pinciples, Ptterns, and Pactice Addison-Wesley, Reading, MA, USA, 1999.Google Scholar
  15. 15.
    Etienne M. Gagnon and Laurie J. Hendren. SableCC:An Object-Oriented Compiler Framework. In Proceedings of the IEEE Tools Conference, pages 140–154, Berkley, USA, April 1998. USENIX Association.Google Scholar
  16. 16.
    David Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1), January 1985.Google Scholar
  17. 17.
    G. Glass. VOYAGER: The New Face of Distributed Computing. OBJECT magazine, June 1997.Google Scholar
  18. 18.
    Li Gong. Java security: Present and Near Future: Coping with the rapidly evolving security issues of cross-platform computing. IEEE Micro, 17(3):14–19, May/June 1997.Google Scholar
  19. 19.
    Li Gong. JXTA: A Network Programming Environment. IEEE Internet Computing, 5(3):88–95, May 2001.Google Scholar
  20. 20.
    James Gosling and Henry McGilton. The Java language environment-A White Paper. Technical report, Sun Microsystems, October 1995.Google Scholar
  21. 21.
    Henry Eddon Guy Eddon. Inside Distributed Com. Microsoft Programming Series. Microsoft Press, 1998.Google Scholar
  22. 22.
    John Hogg, Doug Lea, Alan Wills, Dennis deChampeaux, and Richard Holt. The Geneva Convention on the Treatment of Object Aliasing. OOPS Messenger, 3(2):11–16, April 1992.Google Scholar
  23. 23.
  24. 24.
    D. Johansen, R. van Renesse, and F. B. Schneider. An Introduction to the TACOMA Distributed System. Technical Report 95-23, University of Tromso, June 1995.Google Scholar
  25. 25.
    Eric Jul, Henry Levy, and Norman Hutchinson. Fine-Grained Mobility in the Emerald System. In Readings in Object Oriented Databases, pages 317–328. ACM, 1990.Google Scholar
  26. 26.
    Dimitri Konstantas, Ciaran Bryce, Jean-Henry Morin, Christian Kobel, Apostolos Vontas, Panos Hatzaras, and Adamantios Koumpis. A framework for Building Agent-Based Industrial Applications. In Szpytko & Banaszak Zaremba, editor, Intelligent Manufacturing Systems 2001, Proceedings of the 6th Workshop, April 24–26 2001, Poznan, Poland. Elsevier Science Publishers B.V. (North-Holland), November 2001.Google Scholar
  27. 27.
    Danny B. Lange and Mitsuru Oshima. Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, 1998.Google Scholar
  28. 28.
    The Legion. The Bouncy Castle Project.
  29. 29.
    Rob Pike, Dave Presotto, Ken Thompson, Howard Trickey, and Phil Winterbottom. The Use of Name Spaces in Plan 9. Operating System Review, 27(2):72–76, April 1993.Google Scholar
  30. 30.
    Merlin Stone. Pervasive or Invasive-Managing the Customer on the Move. Technical report, IBM Corporation, 2001.Google Scholar
  31. 31.
    Sun. Java Remote Method Invocation Specification, 1997.
  32. 32.
    Carlos Varela and Gul Agha. Programming Dynamically Reconfigurable Open Systems with SALSA. In Cindy Norris and Jr. James B. Fenwick, editors, Proceedings of the 2001 ACM Conference on Object Oriented Programming Systems, Languages and Applications (OOPSLA-01), volume 36, 12 of A CM SIGPLAN notices, pages 20–34, New York, October 14–18 2001. ACM Press.Google Scholar
  33. 33.
    Jan Vitek and Boris Bokowski. Confined Types. ACM SIGPLAN Notices, 34(10):82–96, October 1999.Google Scholar
  34. 34.
    Jan Vitek and Christian Tschudin. Mobile Objects Systems. Springer Verlag, Berlin, 1997.Google Scholar
  35. 35.
    T. Von Eicken, C.-C. Chang, G. Czajkowski, and C. Hawblitzel. J-Kernel: A Capability-Based Operating System for Java. Lecture Notes in Computer Science, 1603:369–394, 1999.Google Scholar
  36. 36.
    John Whaley. Joeq Virtual Machine., 2001.
  37. 37.
    James Y. Wilson and Jason A. Krontz. Inside Bluetooth: Part I. Dr. Dobb’s Journal of Software Tools, 25(3):62, 64–66, 68, 70, March 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Ciarán Bryce
    • 1
  • Chrislain Razafimahefa
    • 1
  • Michel Pawlak
    • 1
  1. 1.Centre Universitaire d’InformatiqueUniversity of GenevaSwitzerland

Personalised recommendations