Appendix A — Repositories and Components
This appendix gives an overview of the repositories that together make up the BPA Lab ecosystem, and lists the main hardware and software components.
A.1 Main repositories
A.1.1 bpa_lab_docs
➡️ https://github.com/BpaLabTHCologne/bpa_lab_docs
Role: former central documentation and architecture of the BPA Lab as a demonstration factory. The source of the content in this book.
Contains:
- overarching architecture diagrams,
- sample data of the Fischertechnik factory,
- BPMN process models (overview),
- C4 architecture diagrams,
- updated graphics.
A.1.2 bpa_lab_demonstration_factory
➡️ https://github.com/BpaLabTHCologne/bpa_lab_demonstration_factory
Role: current implementation of the demonstration factory. A complete, runnable setup based on Docker.
Contains:
- self-managed Camunda 8 setup,
- all job worker implementations (Java),
- BPMN and DMN models of the business processes,
- controller implementations (Python),
- docker compose for local deployment with docker.
A.1.3 bpa_lab_student_docs
➡️ https://github.com/BpaLabTHCologne/bpa_lab_student_docs
Role: documentation for student projects. Describes how individual components (e.g. the warehouse robot) can be used in self-developed process implementations.
Contains:
- per-component how-to guides,
- example projects,
- notes on setting up subsystems independently.
A.2 Hardware components
| Component | Purpose | Control |
|---|---|---|
| Fischertechnik Industry 4.0 factory | Goods receipt and manufacturing | Python controller, MQTT |
| Fischertechnik warehouse robot | Storage and retrieval in the distribution warehouse | Python controller, MQTT |
| IoT devices | Sensor data and supplementary telemetry | Python controller, MQTT |
A.3 Software components
| Component | Technology | Main responsibility |
|---|---|---|
| Camunda 8 (self-managed) | BPMS with elasticsearch | Workflow engine and process orchestration |
| Job workers | mostly Java | Execution of service tasks |
| Controllers | Python | Hardware control |
| MQTT broker | MQTT broker | Asynchronous communication |
| MySQL | Relational database | Master data and stock data |
| Openrouteservice | External API | Distance and routing calculation in the shipment process |
A.4 Further reading
As the BPA Lab is under continuous development, it is always worth checking the respective repository READMEs for the most current information.