method execution (fileName : string) (outText : Widget.text Widget.widget) : unit = (
   let out_name_if = get_output_if fileName in
   let out_name_ta4sp = (temp_dir^(Filename.basename fileName)^".ta4sp"in
   let error_if_file = (out_name_if^".error"in
   let error_ta4sp_file = (out_name_ta4sp^".error"in
   if(Sys.file_exists out_name_if) then ignore(Sys.remove out_name_if);
   if(Sys.file_exists out_name_ta4sp) then ignore(Sys.remove out_name_ta4sp);
   if(Sys.file_exists error_if_file) then ignore(Sys.remove error_if_file);
   if(Sys.file_exists error_ta4sp_file) then ignore(Sys.remove error_ta4sp_file);
   
   if os="Unix" then
     (   
   let select = match (Textvariable.get tv)
                with "1" -> ""
                 | "2" -> (if (Entry.get levelEntry)="" then " --level=1 " else (" --level="^(Entry.get levelEntry)))
                 | _ -> "" in
                 
   ignore(Sys.command(hlpsl2if^" --stdout "^esc^fileName^esc^" >"^esc^out_name_if^esc^" 2>"^esc^error_if_file^esc^" ; "^ta4sp^" "^esc^out_name_if^esc^" "^agentString^select^" > "^esc^out_name_ta4sp^esc^" 2>"^esc^error_ta4sp_file^esc));
   
   Text.delete outText ~start:(`Linechar(0, 0),[`Linestart]) ~stop:(`End,[]);
   if(Sys.file_exists out_name_ta4sp) then  (
           let txt = readFile out_name_ta4sp in
        if(txt<>"")
        then(
                   let (out_error, num_of_lines) = readFile_and_give_line_number error_if_file in
                 let warning= (if(num_of_lines >2)  then ("\n----- Output error of if translator :\n\n"^out_error^"\n--------------- \n"else ""in
        Text.insert ~index:(`End,[]) ~text:(warning^txt) outText
        )
        else(
                   if(Sys.file_exists error_if_file) 
                then Text.insert ~index:(`End,[]) ~text:(("\n----- Output error of if translator :\n\n")^(readFile error_if_file)) outText;
                if(Sys.file_exists error_ta4sp_file) 
                then Text.insert ~index:(`End,[]) ~text:(("\n\n\n----- Output error of TA4SP :\n\n")^(readFile error_ta4sp_file)) outText;
                   );
        );
   if(Sys.file_exists out_name_if) then ignore(Sys.remove out_name_if);
   if(Sys.file_exists out_name_ta4sp) then ignore(Sys.remove out_name_ta4sp);
   if(Sys.file_exists error_if_file) then ignore(Sys.remove error_if_file);
   if(Sys.file_exists error_ta4sp_file) then ignore(Sys.remove error_ta4sp_file);
     )
   else(   (* Windows case *)
  let select = match (Textvariable.get tv)
                with "1" -> ""
                 | "2" -> (if (Entry.get levelEntry)="" then " --level 1 " else (" --level "^(Entry.get levelEntry)))
                 | _ -> "" in
            
   ignore(Sys.command(hlpsl2if^" --stdout "^esc^fileName^esc^" >"^esc^out_name_if^esc^" 2>"^esc^error_if_file^esc));
   
   let path_tmp = path_avispa^"\\bin\\backends\\TA4SP\\" in
   ignore(Sys.command(ta4sp^" --output "^path_tmp^" "^agentString^" "^select^" "^esc^out_name_if^esc^" > "^esc^out_name_ta4sp^esc^" 2> "^esc^error_ta4sp_file^esc));
 
   Text.delete outText ~start:(`Linechar(0, 0),[`Linestart]) ~stop:(`End,[]);
   if(Sys.file_exists out_name_ta4sp) then  (
           let txt = readFile out_name_ta4sp in
        if(txt<>"")
        then(
                   let (out_error, num_of_lines) = readFile_and_give_line_number error_if_file in
                 let warning= (if(num_of_lines >2)  then ("\n----- Output error of if translator :\n\n"^out_error^"\n--------------- \n"else ""in
        Text.insert ~index:(`End,[]) ~text:(warning^txt) outText
        )
        else(
                   if(Sys.file_exists error_if_file) 
                then Text.insert ~index:(`End,[]) ~text:(("\n----- Output error of if translator :\n\n")^(readFile error_if_file)) outText;
                if(Sys.file_exists error_ta4sp_file) 
                then Text.insert ~index:(`End,[]) ~text:(("\n\n\n----- Output error of TA4SP :\n\n")^(readFile error_ta4sp_file)) outText;
                   );
        );
   if(Sys.file_exists out_name_if) then ignore(Sys.remove out_name_if);
   if(Sys.file_exists out_name_ta4sp) then ignore(Sys.remove out_name_ta4sp);
   if(Sys.file_exists error_if_file) then ignore(Sys.remove error_if_file);
   if(Sys.file_exists error_ta4sp_file) then ignore(Sys.remove error_ta4sp_file);
   ))