Lana: An Approach to Programming Autonomous Systems
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.
KeywordsVirtual Machine Autonomous System Security Policy Method Call Resource Discovery
Unable to display preview. Download preview PDF.
- 1.Gnutella protocol. http://gnutella.wego.com/.
- 2.Seti project. http://setiathome.ssl.berkeley.edu/.
- 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.Ken Arnold and James Gosling. The Java Programming Language. The Java Series. Addison-Wesley, Reading, MA, second edition, 1998.Google Scholar
- 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.Nick Benton, Luca Cardelli, and Cedric Fournet. Modern Concurrency Abstractions for C#, January 2002.Google Scholar
- 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.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.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.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.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.Deborah Estrin, Ramesh Govindan, and John Heidemann. Embedding the Internet. Communications of the ACM, 43(5):39–41, May 2000.Google Scholar
- 13.Cédric Fournet. The Join-Calculus: a Calculus for Distributed Mobile Programming. Ph.D. thesis, Ecole Polytechnique, 1998.Google Scholar
- 14.Eric Freeman, Susanne Hupfer, and Ken Arnold. JavaSpaces Pinciples, Ptterns, and Pactice Addison-Wesley, Reading, MA, USA, 1999.Google Scholar
- 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.David Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1), January 1985.Google Scholar
- 17.G. Glass. VOYAGER: The New Face of Distributed Computing. OBJECT magazine, June 1997.Google Scholar
- 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.Li Gong. JXTA: A Network Programming Environment. IEEE Internet Computing, 5(3):88–95, May 2001.Google Scholar
- 20.James Gosling and Henry McGilton. The Java language environment-A White Paper. Technical report, Sun Microsystems, October 1995.Google Scholar
- 21.Henry Eddon Guy Eddon. Inside Distributed Com. Microsoft Programming Series. Microsoft Press, 1998.Google Scholar
- 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.Napster Inc. http://www.napster.com/.
- 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.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.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.Danny B. Lange and Mitsuru Oshima. Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, 1998.Google Scholar
- 28.The Legion. The Bouncy Castle Project. http://www.bouncycastle.org.
- 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.Merlin Stone. Pervasive or Invasive-Managing the Customer on the Move. Technical report, IBM Corporation, 2001.Google Scholar
- 31.Sun. Java Remote Method Invocation Specification, 1997. http://www.javasoft.com.
- 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.Jan Vitek and Boris Bokowski. Confined Types. ACM SIGPLAN Notices, 34(10):82–96, October 1999.Google Scholar
- 34.Jan Vitek and Christian Tschudin. Mobile Objects Systems. Springer Verlag, Berlin, 1997.Google Scholar
- 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.John Whaley. Joeq Virtual Machine. http://joeq.sourceforge.net, 2001.
- 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