Building BESSER: an open-source low-code platform
Iván Alfonso, Aaron Conrardy, Armen Sulejmani, Atefeh Nirumand, Fitash Ul Haq, Marcos Gomez-Vazquez, Jean-Sébastien Sottet, Jordi Cabot
TL;DR
BESSER addresses the need for open, extensible low-code platforms capable of building smart software. It introduces B-UML, an internal domain-specific modeling language inspired by UML, and a suite of model-to-text generators implemented in Python, leveraging Jinja templates to produce artifacts such as Django backends and REST services. A running Digital Product Passport example demonstrates end-to-end code generation and a generated admin UI, illustrating practical applicability and the potential for community-driven extension. The paper discusses design choices (Python-based core, internal DSLs, and selective UML adoption), outlines a roadmap for AI components, FSMs, richer UI tooling, and OCL support, and highlights future work to add smart components and low-modeling techniques for broader applicability and flexibility.
Abstract
Low-code platforms (latest reincarnation of the long tradition of model-driven engineering approaches) have the potential of saving us countless hours of repetitive boilerplate coding tasks. However, as software systems grow in complexity, low-code platforms need to adapt as well. Notably, nowadays this implies adapting to the modeling and generation of smart software. At the same time, if we want to broaden the userbase of this type of tools, we should also be able to provide more open source alternatives that help potential users avoid vendor lock-ins and give them the freedom to explore low-code development approaches (even adapting the tool to better fit their needs). To fulfil these needs, we are building BESSER, an open source low-code platform for developing (smart) software. BESSER offers various forms (i.e., notations) for system and domain specification (e.g. UML for technical users and chatbots for business users) together with a number of generators. Both types of components can be extended and are open to contributions from the community.
