anchor.diff:  
   %% gen_server callbacks
   -export([init/1,on/2,
  -    
  -	 register_process/3, 
  -	 lookup_process/2,
  -	 lookup_process/1,
  -	 find_cs_node/0, 
  -	 find_all_cs_nodes/0, 
  -	 find_all_processes/1, 
  -	 find_group/1,
  +         register_process/3,
  +         lookup_process/2,
  +         lookup_process/1,
  +         find_cs_node/0,
  +         find_all_cs_nodes/0,
  +         find_all_processes/1,
  +         find_group/1,
            find_all_groups/1,
   
  -	 get_groups/0,
  -	 get_processes_in_group/1, 
  -	 %get_info/2,
  -
  -	 %for fprof
  -	 get_all_pids/0]).
  +         get_groups/0,
  +         get_processes_in_group/1,
  +         %get_info/2,
  +
  +         %for fprof
  +         get_all_pids/0]).
   
   %% for unit testing
   -export([start_link_for_unittest/0]).
  
positive.code: -spec(lookup_process/1 :: (pid()) -> {any(), any()} | failed).
  lookup_process(Pid) ->
      case ets:match(?MODULE, {'$1',Pid}) of
  	[[{Group, Name}]] ->
  	    {Group, Name};
  	[] ->
  	    failed
      end.
  
  %% @doc tries to find a cs_node process
  
negative.code: start_link() ->
      io:format("Start PD~n"),
      gen_component:start_link(?MODULE, [], [{register_native, process_dictionary}]).
  
  %@doc Starts the server for unit testing
  start_link_for_unittest() ->
      case whereis(process_dictionary) of
          undefined ->
              gen_component:start_link(?MODULE, [], [{register_native, process_dictionary}]);
          _ ->
              cs_send:send_local(get_pid() , {drop_state}),
              already_running
      end.
  
  %%--------------------------------------------------------------------
  %% Function: start() -> {ok,Pid} | ignore | {error,Error}
  %% Description: Starts the server; for use with the test framework
  %%--------------------------------------------------------------------
  %@doc Starts the server; for use with the test framework
  start() ->
      gen_component:start_link(?MODULE, [], [{register_native, process_dictionary}]).
  
  
  