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:          push_nci/0,
           clean_data/0,
           ordered_edge/1,
           ordered_edges/1]).
  
  -export([init/1,
           handle_call/3,
  
negative.code:     gen_server:cast(?MODULE, start),
      {ok, #?STATE{max_vertices = MaxVertices}}.
  
  handle_call({save_graph, Filename}, _From,
                                          State = #?STATE{digraph = Digraph}) ->
      Reply = save_graph(Filename, Digraph),
      {reply, Reply, State};
  handle_call({load_graph, Filename}, _From,
                                          State = #?STATE{digraph = Digraph}) ->
      digraph:delete(Digraph),
      NewDigraph = load_graph(Filename),
      {reply, ok, State#?STATE{digraph = NewDigraph}};
  handle_call(Msg, From, State) ->
      error({no_handle_call, ?MODULE}, [Msg, From, State]).
  
  