Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
K. Arnold and J. Gosling. The Java ProgrammingLanguage. Addison-Wesley, 1996.
R. Ben-Natan. CORBA: A guide to CORBA. McGraw-Hill, 1995.
M. Brown and M. Najork. Distributed Active Objects. Computer Networks and ISDN Systems, 28(7–11):1037–1052, 1996.
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.
N. Carriero and D. Gelernter. How to Write Parallel Programs: A First Course. MIT Press, Cambridge, MA, 1990.
N. Carriero and D. Gelernter. Coordination Languages and Their Significance. Communications of the ACM, 35(2):97–107, February 1992.
P. Ciancarini. Distributed Programming with Logic Tuple Spaces. New Generation Computing, 12(3):251–284, May 1994.
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.
D. Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, 1985.
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.
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.
S. Hupfer. Turingware: An Integrated Approach to Collaborative Computing. PhD thesis, Dept of Computer Science, Yale University, New Haven, CT, May 1996.
W. Schoenfeldinger. WWW Meets Linda. In Proc. 4th Int. World Wide Web Conference, pages 259–276, Boston, MA, December 1995.
R. Tolksdorf. Laura: A Coordination Language for Open Distributed Systems. Technical Report 1992/35, Technische Universität Berlin, Fachbereich20 Informatik, 1992.
R. Tolksdorf. Coordination in Open Distributed Systems. PhD thesis, Techniche Universitet, Berlin, Germany, December 1994.
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ciancarini, P., Rossi, D. (1997). Jada: Coordination and communication for Java agents. In: Vitek, J., Tschudin, C. (eds) Mobile Object Systems Towards the Programmable Internet. MOS 1996. Lecture Notes in Computer Science, vol 1222. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62852-5_16
Download citation
DOI: https://doi.org/10.1007/3-540-62852-5_16
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62852-1
Online ISBN: 978-3-540-68705-4
eBook Packages: Springer Book Archive