anchor.diff:      end.
    
    
  +% Process the get values command
  +ui_get_values(Params) ->
  +    case length(Params) of  
  +        0 -> io:format("Error: Enter block-name [value-name]~n");
  +        1 -> 
  +            [BlockNameStr] = Params,
  +            BlockName = list_to_atom(BlockNameStr),
  +            case is_block_name(BlockName) of
  +                true -> 
  +                    BlockValues = block_server:get_values(BlockName),
  +                    io:format("~n~p~n", [BlockValues]);
  +                false -> 
  +                    io:format("Error: Block ~s does not exist~n", [BlockNameStr])
  +            end;
  +        2 -> 
  +            [BlockNameStr, ValueNameStr] = Params,
  +            BlockName = list_to_atom(BlockNameStr),
  +            
  +            case is_block_name(BlockName) of
  +                true -> 
  +                    ValueName = list_to_atom(ValueNameStr),
  +                    case block_server:get_value(BlockName, ValueName) of
  +                        not_found ->
  +                            io:format("Error: ~s is not a value of block ~s~n", 
  +                                      [ValueNameStr, BlockNameStr]);
  +                        CurrentValue ->
  +                            io:format("~n~p~n", [CurrentValue])        
  +                    end;
  +                false -> 
  +                    io:format("Error: Block ~s does not exist~n", [BlockNameStr])
  +            end;
  +        _ -> io:format("Error: Too many parameters~n")
  +    end.    
  + 
  + 
   % Process the set value command
   ui_set_value(Params) ->
       case length(Params) of  
  -        0 -> io:format("Error: Enter block name, attribute name, and value~n");
  -        1 -> io:format("Error: Enter block name, attribute name, and value~n");
  -        2 -> io:format("Error: Enter block name, attribute name, and value~n");
  +        0 -> io:format("Error: Enter block-name value-name value~n");
  +        1 -> io:format("Error: Enter block-name value-name value~n");
  +        2 -> io:format("Error: Enter block-name value-name value~n");
           3 -> 
               [BlockNameStr, ValueNameStr, ValueStr] = Params,
               BlockName = list_to_atom(BlockNameStr),
  
positive.code:     lists:member(BlockTypeStr, lblx_types:block_type_names()).
  
  
  %% 
  %% Get the block names of currently running processes
  %%
  
negative.code:             "enable"    -> ui_enable_block(Params);
              "freeze"    -> ui_freeze_block(Params);
              "thaw"      -> ui_thaw_block(Params);
              "get"       -> ui_get_values(Params);
              "set"       -> ui_set_value(Params);
              "link"      -> ui_link_blocks(Params);
              "status"    -> ui_status(Params);
  