Jada: a Coordination Toolkit for Java

Java is a concurrent, multithreaded language, but it offers little help for distributed programming. Thus, we introduce Jada, a coordination toolkit for Java. Coordination among either concurrent threads or distributed Java objects is achieved via shared tuple spaces. By exchanging tuples through tuple spaces, Java programs and applets can exchange data or synchronize their actions over the Internet, a LAN, a single host, or even inside a browser enabled for Java multithreading. The access to a tuple space is perfomed using a set of methods of a tuple space object. Such operations are Out (to put a tuple in the tuple space), In and Read (to get or to read associatively a tuple from the tuple space), and others, mostly inspired by the Linda language. Jada does not extends the syntax of Java because it is a set of classes. We show how it changes the way we design multiuser, distributed applications based on the WWW.