anchor.diff:  code_changer([{Token,Code}|Cs], Codes, T, Pids, Ps) ->
       receive after T ->
   	    io:format("load code with token ~4w : pass ~4w~n", [Token, Ps]),
  -	    %code:load_binary(?model, ?model, Code),
   	    {module, ?model} = erlang:load_module(?model, Code),
   	    % this is second time we call load_module for this module
   	    % so it should have old code
  
positive.code: 	    code_changer(Cs, Codes, T, Pids, Ps)
      end.
  
  %% generate code that receives a token, code switches to new code
  %% then matches this token against a literal code token
  %% should be identical
  %% (smoke test for parallel code loading
  generate_codes([]) -> [];
  generate_codes([T|Ts]) ->
      [{T, generate(?model, [], [
  	    format("check(T) -> receive {_Pid, change, T1} -> "
  		" ~w:check(T1)\n"
  		" after 0 -> T = f(), check(T) end.\n", [?model]),
  	    format("f() -> ~w.~n", [T])
  	])} | generate_codes(Ts)].
  
  
  
  %% aux
  
negative.code:     ]).
  
  -export([
  	multiple_load_check_purge_repeat/1,
  	many_load_distributed_only_once/1
      ]).
  
  -define(model,       code_parallel_load_SUITE_model).
  -define(interval,    1500).
  -define(number_of_processes, 160).
  -define(passes, 4).
  