Jada: Coordination and communication for Java agents
In this chapter we are going to analyze mobile code issues in the perspective of object oriented systems in which thread migration is not supported. This means that both object's code and data can be transmitted from a place to another but not the current execution state (if any) associated to the object. This is the case with the Java language which is often used in the Word Wide Web for developing applets which are little applications downloaded on the fly and executed in the client machine. While this mechanism is quite useful for enhancing HTML documents with sound and animation, we think that this technology can give its best in the field of distributed-cooperative work, both in the perspective of Internet and Intranet connectivity. Java is indeed a concurrent, multithreaded language, but it offers little help for distributed programming. Thus, we introduce Jada, a coordination toolkit for Java where coordination among either concurrent threads or distributed Java objects is achieved via shared object spaces. By exchanging objects through tuple spaces, Java programs and applets can exchange data or synchronize their actions over a single host, a LAN, or even the Internet.
The access to an object space is performed using a set of methods of the ObjectSpace class. Such operations are out (to put an object in the object space), in and read (to get or to read associatively an object from the object space), and others, mostly inspired by the Linda language.
Jada does not extends the syntax of Javabecause it is a set of classes. We show how it changes the way we design multiuser, distributed applications (such as the ones based on the WWW) allowing easy interactions between software components and agents.
Under this perspective we can outline a system of any scale which uses the dynamic linking capability of Java to distribute the code and the coordination facility of Jada to handle distributed entities inter-relations.
KeywordsObject Space Read Operation Tuple Space Read Request Concurrent Thread
Unable to display preview. Download preview PDF.
- [AG96]K. Arnold and J. Gosling. The Java ProgrammingLanguage. Addison-Wesley, 1996.Google Scholar
- [BN95]R. Ben-Natan. CORBA: A guide to CORBA. McGraw-Hill, 1995.Google Scholar
- [BN96]M. Brown and M. Najork. Distributed Active Objects. Computer Networks and ISDN Systems, 28(7–11):1037–1052, 1996.Google Scholar
- [CCR96]S. Castellani, P. Ciancarini, and D. Rossi. The ShaPE of ShaDE: a coordination system. Technical Report UBLCS 96-5, Dipartimento di Scienze dell'Informazione, Università di Bologna, Italy, March 1996.Google Scholar
- [CG90]N. Carriero and D. Gelernter. How to Write Parallel Programs: A First Course. MIT Press, Cambridge, MA, 1990.Google Scholar
- [CG92]N. Carriero and D. Gelernter. Coordination Languages and Their Significance. Communications of the ACM, 35(2):97–107, February 1992.Google Scholar
- [Cia94]P. Ciancarini. Distributed Programming with Logic Tuple Spaces. New Generation Computing, 12(3):251–284, May 1994.Google Scholar
- [CKTV96]P. Ciancarini, A. Knoche, R. Tolksdorf, and F. Vitali. PageSpace: An Architecture to Coordinate Distributed Applications on the Web. Computer Networks and ISDN Systems, 28(7–11):941–952, 1996.Google Scholar
- [Gel85]D. Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, 1985.Google Scholar
- [GNSP94]Y. Gutfreund, J. Nicol, R. Sasnett, and V. Phuah. WWWinda: An Orchestration Service for WWW Browsers and Accessories. In Proc. 2nd Int. World Wide Web Conference, Chicago, IL, December 1994.Google Scholar
- [Gos95]J. Gosling. Java Intermediate Bytecodes. In Proc. ACM SIGPLAN Workshop on Intermediate Representations, volume 30:3 of ACM Sigplan Notices, pages 111–118, San Francisco, CA, January 1995.Google Scholar
- [Hup96]S. Hupfer. Turingware: An Integrated Approach to Collaborative Computing. PhD thesis, Dept of Computer Science, Yale University, New Haven, CT, May 1996.Google Scholar
- [Sch95]W. Schoenfeldinger. WWW Meets Linda. In Proc. 4th Int. World Wide Web Conference, pages 259–276, Boston, MA, December 1995.Google Scholar
- [Tol92]R. Tolksdorf. Laura: A Coordination Language for Open Distributed Systems. Technical Report 1992/35, Technische Universität Berlin, Fachbereich20 Informatik, 1992.Google Scholar
- [Tol94]R. Tolksdorf. Coordination in Open Distributed Systems. PhD thesis, Techniche Universitet, Berlin, Germany, December 1994.Google Scholar