Behavioral extension

\zline{\fbox{ACT++}}
  class extended_buffer : bounded_buffer {
  behavior:
  full_buffer = {get(), get_rear()};
  partial_buffer = {get(), get_rear(), put()};
  public:
  
  int get_rear() {
    reply buf[--in%MAX];
    out %= MAX;
    if (in == out) become empty_buffer;
    else
      become partial_buffer;
  }
  };
  

slide: Behavioral extension in ACT++