ABDA-NL is a browser-based natural-language scenario explorer for argument-based reasoning. It lets users inspect, explain, and modify ASPIC- scenarios while the deterministic ABDA engine remains authoritative for argument construction, attacks, and grounded labels.
- Explore six included scenarios, including the Popov v. Hayashi legal case.
- Inspect conclusions labeled accepted, rejected, undecided, or absent.
- Open an interactive explanation of the grounded discussion game.
- Suspend assumptions and rules, and change rule preferences in the Conflicts view to explore alternatives.
- View the argumentation framework as a graph or inspect the underlying ASPIC- representation.
- Save a modified scenario as a new local scenario.
- With an optional language model, ask corpus-grounded questions and propose new facts, assumptions, and rules in natural language. Proposals are checked before they can be applied, and all argumentation reasoning remains in ABDA.
The development branch contains experimental work on hosted accounts, usage
quotas, additional model routing, and MCP access. It is not part of the paper
artifact on main.
ABDA-NL requires Python 3.10 or newer. No API key is needed for the deterministic explorer.
git clone https://github.com/idaks/ABDA-NL.git
cd ABDA-NL
python3 -m venv .venv
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install -e .
.venv/bin/abda-nl --basicThe final command starts the server on the loopback interface, waits for it to
be ready, and opens the default browser. If a browser cannot be opened, follow
the local URL printed in the terminal. Press Ctrl+C in that terminal to stop
the server.
Start with the Popov v. Hayashi scenario. The upper panels show conclusions, facts, and assumptions, while the lower panel shows rules. Use Explain on a conclusion to inspect its discussion-game trace. Use View Graph and Show ASPIC- to inspect the formal structures behind the natural-language interface.
Chat and natural-language authoring require either an Anthropic API key or a
local model served by Ollama. For Anthropic, create a
gitignored .env file in the repository root:
ANTHROPIC_API_KEY=replace-with-your-key
# ABDA_LLM_MODEL=replace-with-a-model-available-to-your-accountThen run:
.venv/bin/abda-nl --llmFor a local Ollama model, set its installed model name explicitly:
ABDA_LLM_BACKEND=ollama ABDA_OLLAMA_MODEL=your-model \
.venv/bin/abda-nl --llmAPI keys belong only in .env or the shell environment. Never commit them.
iDAKS developers can start the repository through the shared launcher from any Delta login node:
demoThe launcher reads .demo.json, manages the server in the background, and
keeps it on the pinned login node. On the laptop, keep ssh delta-demo open to
forward the service, then visit http://127.0.0.1:8765. Run demo doctor on
Delta if the tunnel or launcher needs diagnosis. A remote loopback address is
not directly reachable from a laptop without that SSH session.
Install the development dependencies and run the test suite:
.venv/bin/python -m pip install -e '.[dev]'
make test
.venv/bin/python -m ruff check app testsThe CI workflow also checks a clean wheel installation and exercises the main reader path in a real Chromium browser.
ABDA-NL accompanies:
Shawn Bowers, Martin Caminada, Haoyang Liu, and Bertram Ludäscher. ABDA-NL: A Natural-Language Scenario Explorer for Argument-Based Reasoning. Demonstration paper, COMMA 2026.
Machine-readable citation metadata is available in
CITATION.cff. Please use the paper citation when referring to
the research contribution.
ABDA-NL is released under the MIT License.
