In our model a channel supports bi-directional communication of data (with unbounded buffering). Access to logical channels is provided through a Java class called a Port1. Networks of Java applications connected by channels are created through the following operations
A functionality similar to the ``merge'' in Fortran-M is provided
through the ``merge pool'' class, Merge. Channel ends can be
added to or removed from the pool by passing their ports to suitable
member functions. A blocking select operation returns a handle to a
port in the pool which presently has input data ready. Merge pools
enable non-deterministic patterns of communication.