GLACIER at the FDL 2026 Summer School¶
A hands-on session in which you build and validate an executable manufacturing quality-control testbed with Frost and Lingua Franca. Everything you need is in one package — download it and check your laptop before the session.
The session¶
You will work through five short exercises: state a machine's contract, model the machine, write a controller policy, compose the system, and validate a requirement against it. We close by running the whole thing against a model that inspects pixels instead, and finding out what your validation missed. The package ships the Frost sources it uses, so there is nothing else to install and no repository to clone.
Prepare before the session¶
Do this at home, not in the room
The package itself is tiny, but the first Dev Container build downloads and installs a complete Lingua Franca toolchain. That needs a working network connection and several minutes. Conference Wi-Fi is not where you want to discover a problem.
What you need installed¶
-
Docker
Docker Engine on Linux, or Docker Desktop on macOS and Windows. It must be running when you open the workshop.
-
Visual Studio Code (optional)
The easiest way to run the session, and the route these instructions follow.
-
Dev Containers extension (optional)
The VS Code extension that opens the workshop inside its container.
Only Docker is genuinely required. Visual Studio Code and its Dev Containers
extension simply start the container for you, and if you would rather drive
Docker yourself the package's docs/SETUP.md documents that route under The
same container without Visual Studio Code:
docker build -t fdl2026-glacier -f .devcontainer/Dockerfile .
docker run -it --rm -v "$PWD":/workspace -w /workspace fdl2026-glacier bash
bash scripts/container-setup.sh
Nothing else — no Python packages, no Java, no compiler, no Lingua Franca
install. The container provides all of it, at the versions the session was
tested with. On Windows, Docker Desktop plus the Dev Container is the supported
route. If you would rather not use Docker at all, docs/SETUP.md inside the
package documents a native Ubuntu 24.04 (or WSL) alternative, which you are then
responsible for getting working.
The setup, start to finish¶
Three to five minutes of your attention, plus the container build.
-
Download the package. fdl2026-glacier-student.zip — about 127 KB, because the toolchain arrives later, when the container is built.
-
Check the download. Optional but quick. Fetch the checksum file into the same directory as the ZIP, then:
-
Extract it.
-
Open the extracted directory in VS Code.
-
Reopen it in the container. VS Code usually offers this in a notification. Otherwise open the Command Palette (
F1) and run Dev Containers: Reopen in Container, then wait for the build to finish. Dependencies are installed for you as the container is created. -
Check the environment. In a terminal inside VS Code:
-
Run the smoke test. It compiles and runs a small Frost program, which is the real proof that the toolchain works:
You are ready when…¶
Both checks pass
make doctor ends with:
and make smoke-test ends with:
A PASS with warnings line counts too. If you already have a Lingua Franca
compiler from another session, doctor notes that we tested a different
version and carries on; the workshop does not depend on the difference.
That is the whole requirement. Leave the container built, bring the laptop as
it is, and read CHEATSHEET.md on the way if you like.
If something goes wrong¶
Please work through these before you travel — every one of them is easier to fix at home than in the room.
Docker is not running
Dev Containers cannot start a container without it. Start Docker Desktop, or
on Linux start the service, and confirm with docker run hello-world.
VS Code never offers Reopen in Container
The Dev Containers extension is not installed. Install it, then reload the
window and reopen the folder. Also make sure you opened the directory that
contains .devcontainer/, not its parent.
The container fails to build
Almost always network or disk. Retry with Dev Containers: Rebuild Container on a stable connection, and make sure Docker has a few GB of free space.
make doctor reports FAIL
Read the lines it marks FAIL; each one names what is missing. If it says
the workshop Python environment is not initialized, the container setup did
not finish — rebuild the container, or run make setup if you are on the
native path.
make smoke-test reports FAIL
Run make doctor first and fix what it reports; the smoke test needs a
complete toolchain. If doctor passes and the smoke test still fails, keep
the full output.
If a check still fails, send or show the complete output of make doctor to
an instructor ahead of the session. That output says what is wrong far faster
than a description of the symptom does.
Further information¶
- What is GLACIER? — the problem and the approach.
- Frost documentation — the framework the session uses.
- Lingua Franca — the coordination language Frost runs on.
- Release page for this package — the ZIP, its checksum, and the exact source commits it was built from.
- FDL 2026 Summer School — the full programme.