B2XKlaim combines two complementary roles. First, it provides an intuitive visual modeling language based on BPMN that lets multidisciplinary teams (roboticists, software engineers, and non-technical stakeholders) specify multi-robot missions with minimal learning curve, using a notation readable at a glance. Second, it acts as a code generator that transforms these diagrams into executable X-Klaim skeletons, abstracting the low-level tuple-space coordination so developers focus on task logic rather than synchronization plumbing. Together, these capabilities close the gap between high-level mission design and executable robot coordination.
B2XKlaim follows a model-driven development pipeline:
-
Design. Model your multi-robot mission as a BPMN Collaboration diagram using the built-in web editor (powered by bpmn-js). Each pool represents a robot or participant, and message flows capture inter-robot communication via tuple spaces.
-
Parse. The backend parses the
.bpmnXML, extracting pools, tasks, gateways, events, and message flows into an intermediate representation. -
Translate. A set of mapping rules transforms each BPMN element into its X-Klaim counterpart: pools become
netdeclarations, message flows map toout/inoperations on tuple spaces, XOR gateways translate to conditionals, AND gateways to parallel constructs, EB gateways to timeout-based routing (if ... within), LP gateways towhileloops, and tasks becomeprocbodies. See docs/translation.md for the full rule set. -
Generate. The tool outputs a structured
.xklaimpackage:
src/main/java/xklaim/
├── Collaboration.xklaim # net definition
├── processes/ # one proc per pool
├── tasks/ # script task stubs
└── branches/ # AND gateway branches
The generated code is downloadable as a ready-to-compile project for the X-Klaim runtime with ROS 2 integration.
BPMN Collaboration diagram designed in the B2XKlaim editor
To compile and run the generated code, you need X-Klaim:
-
Eclipse update site: https://lorenzobettini.github.io/xklaim-releases/
-
Eclipse distributions with X-Klaim pre-installed: https://sourceforge.net/projects/xklaim/files/products/
| Category | Elements |
|---|---|
| Gateways | XOR (Exclusive), AND (Parallel), EB (Event-Based), LP (Loop) |
| Events | Start, Intermediate, End (None, Message, Signal, Timer variants) |
| Tasks | Script Task, Call Activity |
| Structure | Pools, Message Flow, Event Subprocess |
cd B2XKlaim/B2XKlaim-BackEnd
mvn clean install -DskipTests
mvn clean compileThen run B2XKlaimApplication.
cd B2XKlaim/B2XKlaim-FrontEnd
npm installcd B2XKlaim
npm startDraw a BPMN Collaboration diagram in the editor, hit Translate, and download the generated X-Klaim code.
See the full guide: How to use B2XKlaim
A hosted version is available at kbourr.com/bxklaim; a new release will be deployed soon.
If you use B2XKlaim in your research, please cite:
K. Bourr, F. Tiezzi, L. Bettini, and S. Seriani, "Translating BPMN models into X-KLAIM programs for developing multi-robot missions," International Journal on Software Tools for Technology Transfer, pp. 1–19, 2026, Springer.
K. Bourr, F. Tiezzi, and L. Bettini, "Model-driven development of multi-robot systems: from BPMN models to X-Klaim code," in International Symposium on Leveraging Applications of Formal Methods (ISoLA), pp. 224–242, 2024, Springer.
BibTeX
@article{bourr2026translating,
title = {Translating BPMN models into X-KLAIM programs for developing multi-robot missions},
author = {Bourr, Khalid and Tiezzi, Francesco and Bettini, Lorenzo and Seriani, Stefano},
journal = {International Journal on Software Tools for Technology Transfer},
pages = {1--19},
year = {2026},
publisher = {Springer}
}
@inproceedings{bourr2024model,
title = {Model-driven development of multi-robot systems: from BPMN models to X-Klaim code},
author = {Bourr, Khalid and Tiezzi, Francesco and Bettini, Lorenzo},
booktitle = {International Symposium on Leveraging Applications of Formal Methods},
pages = {224--242},
year = {2024},
organization = {Springer}
}See LICENSE for details.

