Abstract
The success of Java in recent years is largely due to its targeting as a language for the Internet. Many of the network-related features of Java however are not part of the core language design. In this paper we focus on the design of a more parsimonious Internet programming language, which supports network integration smoothly and coherently as part of its core specification.
The key idea is to center these extensions around the unified notion of a cell. Cells are deployable containers of objects and code, which may import (plugin) and export (plugout) classes and operations. They may be dynamically linked and unlinked, locally or across the network. Cells may be dynamically loaded, unloaded, copied, and moved, and serve as units of security. At first approximation, cells can be thought of as a hybrid between modules and components. Here we concentrate on the design of JCells, a language which builds cells on top of the fundamental Java notions of class, object, and virtual machine.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Jonathan Aldrich, Craig Chambers, and David Notkin. Archjava: Connecting software architecture to implementation. In ICSE 2002, 2002.
A. Birell, G. Nelson, S. Owicki, and E. Wobber. Network objects. In 14th ACM Symposium on Operating System Principles, pages 217–230, 1993.
Ciaran Bryce and Chrislain Razafimahefa. An approach to safe object sharing. In OOPSLA, pages 367–381, 2000.
Ciaran Bryce and Jan Vitek. The javaseal mobile agent kernel. Autonomous Agents and Multi-Agent Systems, 4:359–384, 2001.
L. Cardelli. A language with distributed scope. Computing Systems, 8(1):27–59, January 1995.
Luca Cardelli. Abstractions for mobile computation. In Jan Vitek and Christian Jensen, editors, Secure Internet Programming: Security Issues for Mobile and Distributed Objects, volume 1603 of Lecture Notes in Computer Science, pages 51–94. Springer, 1999.
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 report. Technical Report 31, Digital Equipment Corporation, Systems Research Center, August 1988.
Carl M. Ellison, Bill Frantz, Butler Lampson, Ron Rivest, Brian M. Thomas, and Tatu Ylonen. Simple public key certificate. Internet Engineering Task Force Draft IETF, July 1997.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In Proceedings of the ACM SIGPLAN’ 98 Conference on Programming Language Design and Implementation, pages 236–248, 1998.
Object Management Group. The Common Object Request Broker: Architecture and Specification, revision 2.5 edition, September 2001.
C. Hawblitzel, C.-C. Chang, G. Czajkowski, D. Hu, and T. von Eicken. Implementing multiple protection domains in Java. In 1998 USENIX Annual Technical Conference, pages 259–270, New Orleans, LA, 1998.
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.
Sheng Liang and Gilad Bracha. Dynamic class loading in the java virtual machine. In OOPSLA’ 98, pages 36–44, 1998.
D. Lange and M. Oshima. Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, 1998.
Xiaoqi Lu. Report on the cell prototype project. (Internal Report), March 2002.
Sean McDirmid, Matthew Flatt, and Wilson Hsieh. Jiazzi: New age components for old fashioned java. In OOPSLA 2001, 2001.
Sun Microsystems. Java RMI. http://java.sun.com/products/jdk/rmi/.
Clemens Szyperski. Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley, New York, NY, 1998.
D. Ungar. How to program self 4.0 a guide to the programming environment, June 1995. http://research.sun.com/self/release/documentation.html.
D. Ungar and R. Smith. Self: the power of simplicity. In OOPSLA 1987, pages 227–241, 1987.
Jan Vitek and Giuseppe Castagna. Seal: A framework for secure mobile computations. In Internet Programming Languages, 1999.
L. van Doorn, M. Abadi, M. Burrows, and E. Wobber. Secure network objects. In IEEE Symposium on Security and Privacy, May 1996.
J. Vitek and C. Tschudin. Mobile Objects Systems: Towards the Programmable Internet, volume 1222. Springer-Verlag, Berlin, Germany, 1997.
W. Wulf, E. Cohen, W. Corwin, A. Jones, R. Levin, C. Pierson, and F. Pollack. Hydra: The kernel of a multiprocessor. Communications of the ACM, 17(6):337–345, 1974.
J. E. White. Telescript technology: The foundation for the electronic marketplace. White paper, General Magic, Inc., 2465 Latham Street, Mountain View, CA 94040, 1994.
S. Zdonik and D. Maier. Readings in Object-Oriented Database Systems. Morgan Kaufmann, San Mateo, CA, 1990.
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
Rinat, R., Smith, S. (2002). Modular Internet Programming with Cells. 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_12
Download citation
DOI: https://doi.org/10.1007/3-540-47993-7_12
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