Iterated Learning Model Server

The ILM Server program is an attempt to create an all-purpose program for running iterated learning experiments in populations of human participants.  It is freely available for download under the GNU GPL (see the Downloads and Citation page for distributions and how to cite the program).

The goals were to provide a platform for running real-time interactive experiments with multiple participants, a graphical user interface for designing these experiments and a format that supported operations common to an iterated learning experiment (e.g. generation turnover).  The result is a suite of programs in java: a client interface, a server and an experiment creator.  These have been successfully used to run a number of experiments so far.

The program allows an experimenter to design and run an iterated learning experiment with human participants.  Participants can be trained and tested on a signal-meaning mapping.  Currently, the signals are strings and the meanings are images.  Participants can input choices using a mouse, text using a keyboard and line drawings using a mouse or drawing pad.  The training involves exposing the participants to meaning-signal pairs.  Exposure times can be specified in milliseconds.  Testing can involve matching meanings and signals (including typing the names of signals or identifying the correct meanings) or interacting with other participants.  Interactions involve communicating about signals or meanings with a partner.  Communications can involve any combination of specifying a meaning or sending a signal.  The social network in which the interactions happen can be manipulated so that more than two participants can participate in the same experiment.  the program provides support for automatic confederate participants, or single-participant experiments.  Outputs are recorded in a special format that makes it easy to prepare an experiment for a subsequent generation, but can also be converted to a delimited file format suitable for manipulation with a statistics or graphing package (Excel, R etc.).

All of the above can be accomplished without coding using the graphical user interface (the experiment creator).  This works by supplying a ‘description file’ that is a list of trials and settings for each trial, much like a table in E-Prime.  The methodologies described in some of the references in the technical report demonstrate some of the functionality possible.  More extensive manipulation of the experiment method can be achieved by extending existing java classes using relatively readable code, which is explained further in the java technical manual.

A distribution that works with Processing is available, although this has not been extensively used.

Requirements

This is a java program that requires the latest version of java (downloadable at www.java.com).  Participants interact with a client terminal which itself interacts with a java server, so usually an intranet or good web connection is needed.  The server side was run on a secure server which allowed the java program to write files to the server.  The server program itself needed to be digitally signed and given permissions to read and write files on the server.

The client program usually needs to be run with an increased maximum memory limit in order to load pictures (although this should be well within the hardware limit for the vast majority computers).  See the user manual for more details.

The program was designed for and tested on Mac OSX 10 using the java applet viewer or the Firefox browser.  There are some issues with running the program on Windows or other web browsers.  Some of these are resolvable by changing the source code, for instance the screen size (see the java documentation for more details).

  1. Overview
  2. Create an Experiment
  3. – The Description file
  4. – The Language file
  5. The Server Side
  6. Running an Experiment
  7. Downloads and Citation