Whisker is a software system designed for controlling digital input/output devices. Its principal function is to control operant chambers for behavioural experiments. Whisker is based on a client–server software architecture: a server program is responsible for dealing with the hardware (i.e. provides digital or multimedia I/O services), while one or more clients can communicate with this server simultaneously to use these services. Each client would typically be implementing a function, usually a specific behavioural task.
In a typical research situation using operant chambers, the researcher will start the experimental day by running the WhiskerServer program and checking that all the equipment is working (simple clients can help with this). A client program that implements the required experimental protocol is then run, with the appropriate parameters set. The subject is placed into the relevant operant chamber, and the task started.
While this task is running, the researcher can use the WhiskerServer in any way — usually by running other tasks in other operant chambers — and the WhiskerServer will ensure that nothing influences the task in progress. This means that the common situation in which several subjects are being run simultaneously is no more difficult to program than when only one subject is involved — even if each subject is run under a different protocol: each task is run separately, and no special programming is required to ensure that the tasks can be run simultaneously.
While the tasks are running, the experimenter can monitor the process of the tasks from the WhiskerServer console, or from the client application, or from a remote computer using the status client, or a web browser.
WARNING. Whisker is a system designed for research purposes only, and should never be used to control medical apparatus or other devices that could endanger human life.
DISCLAIMER. The authors, copyright holders, and distributors disclaim all responsibility for any adverse effects that may occur as a result of a user disregarding the above warning.