Kibitz-Connecting Multiple Interactive Programs Together

Published: January 01, 1993


Don E. Libes, James E. Fowler


Expect is a programming language for automating interactive programs. Recently, people have begun using Expect to connect multiple interactive programs together, allowing for new classes of applications. With some basic building blocks and a little scripting, it is possible to build such applications quickly.

This paper discusses the general technique, while focusing on a particular example: Kibitz. Kibitz connects multiple sessions and applications together, providing a means for consulting, group editing, or other cooperative tasks. Kibitz in turn, can be used as a module in building additional programs of this type. Using Kibitz, we demonstrate how cron or backgroup processes to call upon and interact with users, e.g., for guidance or debugging.

Due to program reuse, our approach avoids many portability issues already addressed and solved by existing programs. Kibitz has no special coding for byte swapping, structure encoding, or job control, and requires neither kernal modifications nor setuid or other permissions even though it runs over a network and deals with multiple users, job control, and sophisticated programs such as shells and full-screen editors.

Citation: Software - Practice & Experience, , John Wiley & Sones, New York, NY
Volume: 23:5
Pub Type: Journals

Download Paper


Automating interaction, Expect, Interprocess Communications, software reuse, Tcl
Created January 01, 1993, Updated February 17, 2017