anchor.diff:  
   -define(GO,        [reset,nop,nop,nop,nop,nop,eof]).
   -define(STEP,      [reset,nop,nop,nop,nop,nop,eof]).
  --define(READ,      [reset,read,{read,678},stop]).
  --define(WRITE,     [reset,{write,678},{write,ok},stop]).
  --define(READ_STEP, [reset,nop,read,stop]).
  --define(WRITE_STEP,[reset,nop,{write,123},stop]).
  --define(READWRITE1,[reset,read,{read,135},nop,nop,nop,stop]).
  --define(READWRITE2,[reset,nop,nop,{write,135},{write,ok},nop,stop]).
  --define(WRITEREAD1,[reset,nop,nop,read,{read,135},nop,stop]).
  --define(WRITEREAD2,[reset,{write,135},{write,ok},nop,nop,nop,stop]).
  +-define(READ,      [reset,read,{read,678},eof]).
  +-define(WRITE,     [reset,{write,678},{write,ok},eof]).
  +-define(READ_STOP, [reset,nop,read,stop]).
  +-define(WRITE_STOP,[reset,nop,{write,123},stop]).
  +-define(READWRITE1,[reset,read,{read,135},nop,nop,nop,eof]).
  +-define(READWRITE2,[reset,nop,nop,{write,135},{write,ok},nop,eof]).
  +-define(WRITEREAD1,[reset,nop,nop,read,{read,135},nop,eof]).
  +-define(WRITEREAD2,[reset,{write,135},{write,ok},nop,nop,nop,eof]).
   
   % EUNIT TESTS
   
   go_test() ->
  -   log:info   (?TAG,"-- GO TEST"),
  -   trace:stop (),
  -   trace:start(),
  -
  -   M    = self(),
  +   M    = setup("-- GO TEST"),
      F18A = f18A:create(n001,n000,[nop,nop,nop,nop,nop]),
   
      spawn(fun() ->
  
positive.code:             M ! { n001,stopped }
           end),
  
     wait({n001,stopped}),
     Trace = trace:stop(),
  
     ?assertEqual(ok,verify:compare(?STEP,trace:extract(Trace,n001),noprint)).
  
  
  read_test() ->
     log:info   (?TAG,"-- READ TEST"),
     util:unregister(n000),
     trace:stop (),
     trace:start(),
  
     M    = self(),
     F18A = f18A:create(n001,n000,[read]),
  
     spawn(fun() ->
              f18A:reset(F18A),
              f18A:step (F18A,wait),
              f18A:stop (F18A,wait),
              M ! { n001,stopped }
           end),
  
  
negative.code:                           M    ! { n000,stopped }
                         end)),
     
     check(waitall([{n000,stopped},{n001,stopped}]),
           [ { ?READ,n001 }
           ]).
  
  
  read_step_test() ->
     M = setup("-- READ TEST/STEP"),
     util:unregister(n000),
  
     F18A = f18A:create(n001,n000,[read]),
  
     spawn(fun() ->
              f18A:reset(F18A),
              f18A:step (F18A,wait),
              f18A:step (F18A,wait),
              M ! { n001,stopped }
           end),
  
     register(n000,spawn(fun() ->
                            n001 ! { n000,write,678 },
                            wait({n001,read,ok}),
                            M    ! { n000,stopped }
                         end)),
     
     check(waitall([{n000,stopped},{n001,stopped}]),
           [ { ?READ,n001 }
           ]).
  
  write_go_test() ->
     M = setup("-- WRITE TEST/GO"),
     util:unregister(n000),
     util:unregister(n001),
  
     F18A = f18A:create(n001,n000,[{write,678}]),
     
     register(n000,spawn(fun() ->
  