public abstract class JacobRunnable extends JacobObject
Cell(s,v) := s ? { read(...) = ... & write(...) = ... }
would
be represented by the following Java class:
public class Cell extends JacobRunnable {
private CellChannel s;
private Object v;
public Cell(CellChannel s, Object v) {
this.s = s;
this.v = v;
}
public void run() {
object(new CellChannelListener(s) { read(...) {...}
write(...) {...} } );
}
}
An example of the Java expression representing the concretion of this
abstraction would look like:
.
.
// (new c) Cell(c,v)
Integer v = Integer.valueOf(0);
CellChannel c = (CellChannel)newChannel(CellChannel.class);
instance(new Cell(c, v));
.
.
Constructor and Description |
---|
JacobRunnable() |
Modifier and Type | Method and Description |
---|---|
java.util.Set<java.lang.reflect.Method> |
getImplementedMethods() |
abstract void |
run()
Peform the template reduction, i.e.
|
java.lang.String |
toString() |
getClassName, getExtension, getMethod, importChannel, instance, newChannel, newChannel, object, object, object, object, replication, replication
public java.util.Set<java.lang.reflect.Method> getImplementedMethods()
getImplementedMethods
in class JacobObject
public abstract void run()
Note that JACOB operations are performed in parallel, so the sequencing of JACOB operations is irrelevant
public java.lang.String toString()
toString
in class JacobObject