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.