The callback concept as a means of asynchronous communication in a computing environment plays a very crucial role for the operation of the VISTA/SFC environment. All modules communicate with the user interface, with external programs, and with each other by using VLISP's callback mechanism to synchronize asynchronous operations on the task level and on the tool level. Figure B.1 shows the basic principle.
Figure B.1: Callback concept for
asynchronous communication between modules.
After calling the callee, e.g., an external executable or a pop-up window, the caller remains idle until the callee signals termination by calling the callback function passed as an argument by the caller. The callback function returns exit code, output data, and diagnostic information in a uniform format. In the time between call and callback, the caller is able to service other callbacks to initiate new calls. The callback mechanism forms the basis for the parallelization of tool calls, process runs, and projects.