Tik-76.115 Individual Project: Guinea Pig
$Id: protocols.html,v 1.6 1996/04/22 07:31:33 kepa Exp $

Testee UI - Communication protocols

This document describes the communication protocols used inside Testee UI module.

General overview

The Testee UI has parts in three different processes. This document describes the communication between two of those processes: the GUI process and the Test Logic process. Here's the communication framework. (Things described in this document are drawn in black):

[Image]

Communication method used

The GUI process communicates with the Test Logic process with a communications socket called GUINEAPIG_TESTEE_GUI_SOCKET. When the GUI Server process starts up the GUI process, it tells with command line parameters to GUI process which socket to use. This information is then used by the Test Logic process to open a connection to the socket in question.

The protocol used between Test Logic process and GUI process is a simple text based protocol. The protocol is line based and protocol messages are separeted from each other by the newline ('\n') character. The basic protocol message consist of a command with some number of parameters. Whitespace characters are used between command and arguments. Here is an example:

PLAYING A\n
Here the protocol command is PLAYING, there is a space between the first parameter and the command, and the first parameter is A. The GUI process can also send responses to the Test Logic process using the same protocol. Here's an example of a user giving grades to samples in A/B Scale Test:
SCALES 825929884.412597 2 4\n

This simple text based protocol was chosen because it is easy to debug interactively using text-based tools. It is also pretty simple to implement.

Communication protocol index


· Testee UI Architecture · Testee UI Index · Document index · Guinea Pig ·