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.
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
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:
- tasks customization for full adaptation of the battery,
- software extensibility to easily add new features,
- 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
- 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.
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.
- The website: building a scenario, the tasks, psychophysiology, the replay, the web version, and the publications using OpenMATB
- The wiki: the details of each task and plugin, the scenario file, the configuration file, the session file, questionnaires, translations
- WEB.md: building and hosting the web version
- CHANGELOG.md: the changes of each version
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.
