bpmn2dexpi
v0.1.0
Published
A web-based tool for creating DEXPI-compliant block flow and process flow diagrams using BPMN notation
Maintainers
Readme
A web-based tool for creating DEXPI-compliant block flow and process flow diagrams. Model chemical processes visually and export to DEXPI XML format for interoperability with engineering tools.
Features
- Visual Modeling: Drag-and-drop interface for process diagrams
- DEXPI Compliance: Export to DEXPI 2.0 XML standard
- Material Library: Define materials, compositions, and states
- Port System: Connect equipment with typed ports (Material, Energy, Information)
- Stream Properties: Configure flow properties and material references
- Neo4j Export: Export process graphs directly to Neo4j database
- CLI Tool: Batch convert BPMN files to DEXPI XML from terminal or Python
Prerequisites
- Node.js 18+ (recommended: 20 LTS)
- npm 9+
Quick Start
Option A: Install via npm (CLI only)
npm install -g bpmn2dexpi
# Convert BPMN to DEXPI XML
bpmn2dexpi input.bpmn output.xmlOption B: Clone and run (web interface + CLI)
git clone https://github.com/skhella/bpmn2dexpi.git
cd bpmn2dexpi
npm install
# Run the web app
npm run dev
# Or use CLI for batch processing
npm run transform input.bpmn output.xmlUsage
Web Interface
- Open
http://localhost:5173in your browser - Drag process elements from the palette
- Connect elements with flows
- Add materials and compositions in the Material Library
- Configure ports and streams in the properties panel
- Export to DEXPI XML or Neo4j
Command Line
# Convert BPMN to DEXPI XML
npm run transform process.bpmn output.xmlPython Integration
The included bpmn2dexpi.py script wraps the CLI for use from Python:
from bpmn2dexpi import transform
# Convert and save to file
transform('input.bpmn', 'output.xml')
# Get XML as string
xml = transform('input.bpmn')See CLI_USAGE.md for more examples.
Neo4j Export
The tool can export process diagrams directly to a Neo4j graph database:
- Click the "Export to Neo4j" button in the toolbar
- Enter your Neo4j connection details:
- Local:
bolt://localhost:7687 - Aura:
neo4j+s://xxx.databases.neo4j.io
- Local:
- Choose whether to clear existing data
- Click Export
Exported graph structure:
ProcessStepnodes with port propertiesSourceandSinknodes for process boundariesMaterialStream,EnergyFlow,InformationFlowrelationshipsCONTAINSrelationships for subprocess hierarchy
Examples
See the examples/ folder for sample BPMN files
Based on Research
This tool implements the BPMN-DEXPI mapping methodology described in:
Shady Khella, Markus Schichtel, Erik Esche, Frauke Weichhardt, and Jens-Uwe Repke. Mapping DEXPI Process to BPMN 2.0 for Graphical Modeling of Block Flow and Process Flow Diagrams (submitted, 2026).
A link to the publication will be added once available.
Core Mapping: | DEXPI Concept | BPMN Element | |---------------|--------------| | ProcessStep | Task | | Source | Start Event | | Sink | End Event | | MaterialFlow/EnergyFlow | Sequence Flow | | InformationFlow | Association | | Ports | extensionElements |
Technology
Acknowledgments
This project was developed with assistance from AI coding tools, including GitHub Copilot and Claude.
License
This project is released under the MIT License.
Third-Party Licenses
bpmn-js
Licensed under the bpmn.io License (modified MIT). Free to use, including commercially, with one requirement: the bpmn.io watermark in diagrams must remain visible and unmodified.
DEXPI Specification
Licensed under Creative Commons Attribution 4.0 International License (CC BY 4.0).
Current version: 0.1.0
