Identity transitions

  counter c; int n1, n2;
  n1 = c.value(); c.inc(1); c.dec(1); n2 = c.value();
  n1 = c.value(); c.inc(1); c.inc(2); c.dec(3); n2 = c.value();
  

Abstract data types

  • stack -- pop( push(s,x) ) = s
  • queue -- remove( insert(q,x) ) != q

Interaction protocols

  • tests all interesting \c{interaction} sequences

slide: Identity transitions and interaction protocols