All labs
Labs are grouped into tracks and numbered in the order we suggest. Filter by what you have installed; the browser-only labs work on any machine, including a locked-down classroom PC.
12 labs
Modeling foundations
Draw a class diagram in the editor, then build the same model in Python.
- 01
Draw your first class diagram
A class diagram of an academic research domain in the Web Modeling Editor, checked, turned into Python classes and backed up as a JSON file.
- 02
Model in Python with B-UML
The research domain written with the B-UML Python API, validated, turned into a SQLite database and a Django admin app, and moved between Python and the editor.
- 03
Add behavior to your model
The research model gains an OCL constraint, method bodies in BAL and Python and a state machine, and you watch them run in a generated FastAPI backend.
Build with AI
Describe what you want and let the assistant and the Spec-Driven Agent do the modeling and coding.
- 04
Model by conversation with the Modeling Assistant
A clinic appointment model with a class diagram, an OCL constraint and a state machine, built and checked entirely through the Modeling Assistant chat.
- 05
From a description to a running app with the Spec-Driven Agent
A generated full-stack web app for a small event-ticketing model, downloaded, run on your machine, and optionally pushed to GitHub and reopened for further changes.
Data and databases
Turn a model into SQL schemas and ORM code, then run a REST backend on top.
- 06
From a class diagram to a database
A Library class diagram turned into SQL DDL for two dialects, a SQLite database created with SQLAlchemy, and a running FastAPI backend you fill through Swagger.
Full applications
Combine class, GUI and agent models into a web app, then put it online.
- 07
Build a full web app from three models
A Library web application with tables, a bar chart and a chatbot, generated from a class diagram, a GUI model and an agent model, and running locally with Docker Compose.
- 08
Publish your app to Render, then extend it
Your Library web app published from the editor to a new GitHub repository, deployed on Render's free tier, then extended with a Publisher concept and redeployed.
Conversational agents
Design chatbots as state machines, add LLMs and RAG, and adapt them to their users.
- 09
Build agents with the BESSER Agentic Framework
You generate a database question-answering agent from the editor without code, then write a RAG and LLM agent in Python with BAF.
- 10
Personalize an agent for its users
You model two user profiles, adapt the Gym Agent to each of them in the editor, and generate one agent that switches behaviour per profile.
Extend BESSER
Write your own code generator and add new concepts to the metamodel.
- 11
Write your own code generator
A working BESSER generator that turns a B-UML class model into Ruby on Rails model classes.
- 12
Extend the B-UML metamodel and a generator
A BESSER source checkout where Property has a new max_length concept, the SQLAlchemy generator uses it, and a pytest test proves it.