anchor.diff:  handle_info({Port, {data, {eol, Line}}}, StateName = solving, StateData = #state{port = Port}) ->
       ok = handle_solver_response(Line, StateData),
       NewStateData = StateData#state{
  -        model = undefined
  +        sim = undefined
       },
       {next_state, StateName, NewStateData};
   
  -handle_info({'EXIT', Port, _PosixCode}, solving, StateData = #state{port = Port, model = Model}) ->
  -    case Model of
  -        #model{} ->
  +handle_info({'EXIT', Port, _PosixCode}, solving, StateData = #state{port = Port, sim = Simulation}) ->
  +    case Simulation of
  +        #simulation{} ->
               ok = handle_solver_response("ERROR", StateData);
           undefined ->
               ok
  
positive.code: %%
  %%
  %%
  -spec solve(pid(), #model{})
          -> ok | {error, Reason :: term()}.
  
  solve(Pid, Model) ->
      gen_fsm:sync_send_event(Pid, {solve, Model}).
  
  
  
  
negative.code: %%
  %%  FSM State: waiting
  %%
  waiting({solve, Simulation}, _From, StateData) ->
      {ok, NewStateData} = start_solver(Simulation, StateData),
      {reply, ok, solving, NewStateData}.
  
  
  %%
  %%  FSM State: solving
  %%
  solving({solve, _Simulation}, _From, StateData) ->
      {reply, {error, bussy}, solving, StateData}.
  
  
  