Most of my software is open source and released on GitHub, either under my personal account yasserfarouk or under the autoneg organization that hosts the wider NegMAS/automated-negotiation ecosystem. The two flagship projects are below, followed by the rest of the actively maintained repositories.

Authors: Yasser Mohammad et al.
NegMAS is a Python library for developing autonomous negotiation agents embedded in simulation environments. The name NegMAS stands for either NEGotiation MultiAgent System or NEGotiations Managed by Agent Simulations (your pick). Its main goal is to advance the state of the art in situated, simultaneous negotiations, though it is also widely used for simpler bilateral and multilateral negotiations, preference elicitation, and as the reference implementation for the ANAC competition tracks. It is the platform underlying most of my automated negotiation research.

Authors: Yasser Mohammad et al.
SCML is the development and evaluation environment for the ANAC Supply Chain Management League: a simulated
manufacturing value chain in which autonomous agents negotiate contracts for raw materials, intermediate goods and
finished products under real-world pressures such as bankruptcy risk and delivery penalties. It ships both a
“standard” world simulation and a simplified “one-shot” track. scml-agents collects the agents
submitted to the competition over the years, and scml-vis provides tools for visualizing and debugging
simulation runs.
| Repository | Description | Downloads |
|---|---|---|
| anl | Official repository for the Automated Negotiation League (ANL), part of ANAC | |
| anl-agents | All agents submitted to the ANL track of ANAC since 2024 | |
| han-agents | All agents submitted to the Human-Agent Negotiation (HAN) league of ANAC | |
| hani | Human-Agent Negotiation Interface, used to run human vs. agent negotiation sessions for the HAN league | |
| uneg | Negotiation under uncertainty |
| Repository | Description | Downloads |
|---|---|---|
| negmas-llm | LLM support for NegMAS — use large language models as negotiators or negotiation components | |
| negmas-app | A graphical user interface for NegMAS | |
| negmas-elicit | Preference elicitation for automated negotiation, built on NegMAS | |
| jnegmas | A Java interface to NegMAS | |
| geniusbridge | A bridge allowing agents written for the Genius negotiation platform to run inside NegMAS | |
| negmas-genius-agents | Reimplementation of all GENIUS agents for NegMAS | |
| negmas-geniusweb-bridge | A wrapper that allows GeniusWeb agents to run in NegMAS negotiations | |
| negmas-negolog | A wrapper that allows NegoLog negotiators to run under NegMAS |
| Repository | Description | Downloads |
|---|---|---|
| posecopy | A Matlab toolbox for pose copying in humanoid robots | |
| mc2 | MC²: an integrated Matlab toolbox for change-point, causality and motif discovery in time series |
| Repository | Description |
|---|---|
| kitchen_smartwatch_dataset | Smart-watch accelerometer readings from 10 subjects preparing meals in an unmodified kitchen |
Course and tutorial companion code (PAKDD 2025, AAMAS 2025, AJCAI 2023, IEEE ICA 2023, AAAI 2022, and others) is linked from the tutorials page. For the complete, continuously updated list of repositories — including one-off supplementary material for individual papers — see my personal GitHub profile and the autoneg organization.