anchor.diff:      is_process_alive(Pid);
   calculating(_) ->
       false.
  +
  +save_graph(Filename, Digraph) ->
  +    Data = lists:map(
  +        fun(E) ->
  +            {_, V1, V2, _} = digraph:edge(Digraph, E),
  +            {V1, V2}
  +        end, digraph:edges(Digraph)),
  +    file:write_file(Filename, io_lib:format("~p.~n", [Data])).
  +
  +load_graph(Filename) ->
  +    {ok, [Data]} = file:consult(Filename),
  +    G = digraph:new(),
  +    lists:foreach(
  +        fun({V1, V2}) ->
  +            digraph:add_vertex(G, V1),
  +            digraph:add_vertex(G, V2),
  +            digraph:add_edge(G, V1, V2)
  +        end, Data),
  +    G.
  
positive.code:     gen_server:cast(?MODULE, start),
      {ok, #?STATE{max_vertices = MaxVertices}}.
  
  handle_call(Msg, From, State) ->
      error({no_handle_call, ?MODULE}, [Msg, From, State]).
  
  
negative.code: ordered_edges(Edges) ->
      gen_server:cast(?MODULE, {ordered_edges, Edges}).
  
  save(Filename) ->
      gen_server:call(?MODULE, {save_graph, Filename}).
  
  load(Filename) ->
      gen_server:call(?MODULE, {load_graph, Filename}).
  
  %------------------------------------------------------------------------------
  % gen_server callbacks
  %------------------------------------------------------------------------------
  