Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Gnutella protocol. http://gnutella.wego.com/.
Seti project. http://setiathome.ssl.berkeley.edu/.
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.
Ken Arnold and James Gosling. The Java Programming Language. The Java Series. Addison-Wesley, Reading, MA, second edition, 1998.
Ken Arnold, Ann Wollrath, Bryan O’Sullivan, Robert Scheifler, and Jim Waldo. The Jini Specification. Addison-Wesley, Reading, MA, USA, 1999.
Nick Benton, Luca Cardelli, and Cedric Fournet. Modern Concurrency Abstractions for C#, January 2002.
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.
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.
Ciarán Bryce and Jan Vitek. The JavaSeal Mobile Agent Kernel. Autonomous Agents and Multi-Agent Systems, 4(1):359–384, January 2001.
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.
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.
Deborah Estrin, Ramesh Govindan, and John Heidemann. Embedding the Internet. Communications of the ACM, 43(5):39–41, May 2000.
Cédric Fournet. The Join-Calculus: a Calculus for Distributed Mobile Programming. Ph.D. thesis, Ecole Polytechnique, 1998.
Eric Freeman, Susanne Hupfer, and Ken Arnold. JavaSpaces Pinciples, Ptterns, and Pactice Addison-Wesley, Reading, MA, USA, 1999.
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.
David Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1), January 1985.
G. Glass. VOYAGER: The New Face of Distributed Computing. OBJECT magazine, June 1997.
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.
Li Gong. JXTA: A Network Programming Environment. IEEE Internet Computing, 5(3):88–95, May 2001.
James Gosling and Henry McGilton. The Java language environment-A White Paper. Technical report, Sun Microsystems, October 1995.
Henry Eddon Guy Eddon. Inside Distributed Com. Microsoft Programming Series. Microsoft Press, 1998.
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.
Napster Inc. http://www.napster.com/.
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.
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.
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.
Danny B. Lange and Mitsuru Oshima. Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, 1998.
The Legion. The Bouncy Castle Project. http://www.bouncycastle.org.
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.
Merlin Stone. Pervasive or Invasive-Managing the Customer on the Move. Technical report, IBM Corporation, 2001.
Sun. Java Remote Method Invocation Specification, 1997. http://www.javasoft.com.
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.
Jan Vitek and Boris Bokowski. Confined Types. ACM SIGPLAN Notices, 34(10):82–96, October 1999.
Jan Vitek and Christian Tschudin. Mobile Objects Systems. Springer Verlag, Berlin, 1997.
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.
John Whaley. Joeq Virtual Machine. http://joeq.sourceforge.net, 2001.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bryce, C., Razafimahefa, C., Pawlak, M. (2002). Lana: An Approach to Programming Autonomous Systems. In: Magnusson, B. (eds) ECOOP 2002 — Object-Oriented Programming. ECOOP 2002. Lecture Notes in Computer Science, vol 2374. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47993-7_13
Download citation
DOI: https://doi.org/10.1007/3-540-47993-7_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43759-8
Online ISBN: 978-3-540-47993-2
eBook Packages: Springer Book Archive