Skip to content
juliencegarraPublic

About

OpenMATB: A Multi-Attribute Task Battery promoting task customization, software extendability and experiment replicability

Resources

Stars

73 stars

Watchers

3 watching

Forks

Latest commit

 

History

690 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI Tests Coverage Translation status

Note

Web version. Since version 1.5, OpenMATB also runs in a web browser, with no installation, thanks to Pyodide and pyglet 3 (try the demo). Chrome or Edge are recommended: Firefox and Safari also work, but Firefox pauses the page for 0.1 to 1 s every few seconds, which affects timing. Joysticks are supported through the browser Gamepad API. Session files are downloaded, or sent to JATOS, DataPipe (Google Drive, Dataverse or Zenodo) or a WebDAV folder, and can be replayed in the browser; OpenMATB can also run from an LMS (SCORM, cmi5). A USB trigger box replaces the parallel port, and Lab Streaming Layer goes through a bridge. Response times are measured from the frame showing the stimulus to the browser timestamp of the key; screen and keyboard latencies are not measured. See WEB.md to build and host it.

OpenMATB: An open-source version of the Multi-Attribute Task Battery (MATB)

First presented at a NASA Technical memorandum (Comstock & Arnegard, 1992), the Multi-Attribute Task Battery (MATB) contained a set of interactive tasks that were representative of those performed in aircraft piloting. The MATB requires participants to engage in four tasks presented simultaneously on a computer screen. They consist of (1) a monitoring task, (2) a tracking task, (3) an auditory communication task, and (4) a resources management task. The display screen also encompasses a scheduling view (5) for displaying a chart of incoming task events

OpenMATB screen capture

More than thirty years have passed since the first implementation of the MATB (Comstock & Arnegard, 1992), and some requirements of up to date research are no longer satisfied.

OpenMATB aims to provide an open-source re-implementation of the multi-attribute task battery. It promotes three aspects:

  1. tasks customization for full adaptation of the battery,
  2. software extensibility to easily add new features,
  3. experiment replicability to provide significant results.

Those aspects are detailed in:

Cegarra, J., Valéry, B., Avril, E., Calmettes, C., & Navarro, J. (2020) OpenMATB: A Multi-Attribute Task Battery promoting task customization, software extensibility and experiment replicability. Behavior Research Methods, 52, 1980–1990. https://doi.org/10.3758/s13428-020-01364-w

Contact : julien.cegarra AT univ-jfc.fr

Installation

  • Windows, no Python needed: the installer or the portable version of the latest release.
  • In a web browser: try the demo; the releases also contain the web version ready to host (static site, JATOS study, SCORM and cmi5 packages, see WEB.md).
  • From the source code (Windows, macOS, Linux): with Python 3.10 or above, clone this repository, then:
python -m pip install -r requirements.txt   # pyglet 2, pyparallel, rstr, pylsl
python main.py

(Under Windows, replace python with py.) To install OpenMATB in a virtual environment, see How to install OpenMATB. A joystick is recommended for the tracking task.

Usage

OpenMATB runs a scenario: a text file of includes/scenarios listing, for each task, the events to execute and their onset time. For instance, this scenario starts the four tasks of the MATB and the scheduling view, and stops them after two minutes and a half:

0:00:00;sysmon;start
0:00:00;track;start
0:00:00;scheduling;start
0:00:00;resman;start
0:00:00;communications;start
0:02:30;sysmon;stop
0:02:30;track;stop
0:02:30;communications;stop
0:02:30;resman;stop
0:02:30;scheduling;stop

The scenario to run is set by scenario_path in config.ini (empty: it is chosen in a selector at start), or given on the command line:

python main.py myexperiment/scenario_1.txt   # Run this scenario (in includes/scenarios)
python main.py -r                            # Replay a session, chosen in a selector
python main.py -r 12                         # Replay the session 12 (or give the path of a session file)

What happened during the session is stored as a CSV file in the sessions directory: everything needed to compute the performance, or to replay the session.

Documentation

Translations

The interface is available in English, French, German, Spanish, Italian, Chinese, Japanese and Arabic. It is translated online with Weblate: you are welcome to translate it into your language, or to review a translation. See locales/README.md to translate the files directly.

About

OpenMATB: A Multi-Attribute Task Battery promoting task customization, software extendability and experiment replicability

Resources

Stars

73 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages