As XLISP is the interactive environment for the user, both as command-line interpreter and as event manager for the graphical user interface, it must continue execution during the run of simulators. Thus, simulators must be started as parallel (sub-)processes. This implies that the XLISP (system ...) function which suspends execution of the parent XLISP process during the execution of the child process can no longer be used.
A function which starts subprocesses and returns immediately must be used instead. Eventually, the termination of these subprocesses must be detected so that subsequent actions can be taken, e.g, to build simulation sequences and task flows. An ideal solution for this problem is offered by the generalization of the callback concept.