Communication Flow between Isight and the External Executable Optimization Plug-in

All communication and data exchange between Isight and the external executable program of an Optimization plug-in is done by writing and reading special files.

The following describes the flow of communication between Isight and the external executable Optimization plug-in:

  1. At the beginning of optimization, Isight creates the following files (see File Formats Used by External Executable Optimization Plug-ins):

    • technique options file
    • problem formulation file

  2. Isight calls the external executable program using the following command syntax (the order of the arguments in the command is always the same):

    my.exe techniqueOptionsFileName problemFormulationFileName  inputValuesFileName goRunSubflowSignalFileName subflowResultsFileName 
    

    In this command:

    • my.exe is the name of the external executable program.
    • techniqueOptionsFileName is the name (full path) of the technique options file created by Isight.
    • problemFormulationFileName is the name (full path) of the problem formulation file created by Isight.
    • inputValuesFileName is the name (full path) of the file where the external executable program must write input values of all points that must be evaluated by Isight (subflow analyses to be executed).
    • goRunSubflowSignalFileName is the name (full path) of the signal file that the external executable program must create when it is done writing input values and starts waiting for Isight to execute the design points.
    • subflowResultsFileName is the name (full path) of the file where Isight will write all output values after executing subflow analysis for all design points.

  3. The external executable program reads the technique options file and the problem formulation file and starts optimization.

  4. When a new design point or multiple design points must be evaluated, the program creates an input values file (inputValuesFileName) using the file name provided in the command line arguments.

  5. After writing input values for all design points, the program closes the input values file. Leaving the file open may prevent Isight from being able to read it.

  6. The external executable program creates a signal file using the file name provided in the command line arguments (goRunSubflowSignalFileName ). The signal file is used to signal that all subflow analyses are complete and the results are available.

  7. The external executable program closes the signal file, which is required so that Isight can delete the file later.

  8. Isight evaluates all the design points found in the input values file and writes output values into the subflow results file (subflowResultsFileName) whose name was sent to the external executable program via the command line arguments.

  9. Isight deletes the signal file, which indicates to the external executable program that all subflow analyses are finished and the results are available for processing.

  10. The external executable program opens the subflow results file whose name (subflowResultsFileName) was sent via the command line arguments.

  11. The external executable program reads the output values and then closes the subflow results file.

  12. The external executable program repeats Steps 4-11 as many times as necessary until the optimization algorithm finishes the optimization run.

  13. The external executable program exits with a return code that indicates to Isight the success (return code of zero) or failure (any nonzero value) of the optimization run.