Cell(s,v) := s ? { read(...) = ... & write(...) = ... }
would
* be represented by the following Java class:
*
* public class CellProcess extends JacobRunnable {
* private Cell s;
*
* private Object v;
*
* public CellProcess(Cell s, Object v) {
* this.s = s;
* this.v = v;
* }
*
* public void run() {
* object(new ReceiveProcess { read(...) {...}
* write(...) {...} } );
* }
* }
*
*
An example of the Java expression representing the concretion of this
* abstraction would look like:
*
* .
* .
* // (new c) CellProcess(c,v)
* Integer v = Integer.valueOf(0);
* Cell c = (Cell)newChannel(Cell.class);
* instance(new Cell(c, v));
* .
* .
*
*
*
* @author Maciej Szefler
*/
@SuppressWarnings("serial")
public abstract class JacobRunnable extends JacobObject {
private static final Set* Note that JACOB operations are performed in parallel, so the * sequencing of JACOB operations is irrelevant */ public abstract void run(); public String toString() { return getClassName() + "(...)"; } }