Tik-76.115 Individual Project: Guinea Pig
$Id: overview.html,v 2.5 1996/04/22 14:16:34 hynde Exp $

Test Logic - Overview

Test Logic is the heart of the Guinea Pig system when a test is in progress. It communicates with Sound Player, Testee UI and Tester UI using sockets. It also communicates with the Test Creation module by reading in a test configuration file when it starts. It is also responsible for starting the other processes of the Guinea Pig system.

1 · Architecture

Test Logic is be implemented in Python using an object oriented approach to hide as much of the raw communication events behind objects as possible. After the initialization phase Test Logic is an event driven system driven by the packets it receives through its communication channels. It also contains the code to do decisions that are needed when the test is in progress. For example, in the audiometry test it will be responsible for the selection of the playing parameters for the sample to be played next based on the testee responses.

(More information: Test Logic: Architecture)

2 · Communication with other subsystems

Communication with other parts of the system (Sound Player, Testee UI) is done using python modules that have been written for that purpose (See: Sound player's and Testee UI's python interfaces.) These modules hide the underlying communication protocols and provide an easy object oriented interface.

3 · Real time requirements

Test Logic will be programmed so that it won't have to run on the same physical machine as Testee UI and Sound Player are running. Test Logic will have response time requirements in the 100 ms range. For most of the tests this will be perfectly adequate. Testee UI and Sound Player should be running on the same machine to enable us to record timestamps of Testee UI and Sound Player using the same physical reference clock. This clock could also be used to better syncronize the processes if some test would need such a synchronization. Linux on a Pentium processor provides system clock accuracy in the 1ms range by using the clock cycle register inside the processor.


· Test Logic Index · Document index · Guinea Pig ·