 
  
  
  
  
 
The Instruction class has the following structure :
 
abstract public class Instruction
implements ReturnCodes, Cloneable
{
  protected boolean terminated = false;
  public void reset(){ terminated = false; }
  final public void terminate(){ terminated = true; }
  final public boolean isTerminated(){ return terminated; }
  abstract protected byte activation(Machine machine);
  final public byte activ(Machine machine)
  {
    if (terminated){ return TERM; }
    byte res = activation(machine);
    if (res == TERM){ terminated = true; }
    return res;
  }
  public boolean equals(Instruction inst){
    return this.getClass() == inst.getClass();
  }
  abstract public String toString();
  public Object clone(){ ... }
}
Note that activ and activation have a parameter which is the
reactive machine running the instruction. Reactive machines are
described in section 2.2.