Skip to content

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.

Download workshop package FDL Summer School

The session

Event FDL 2026 Summer School
Session GLACIER: An Open Framework for Modeling, Simulating, and Validating Modern Manufacturing Systems
Presenter Enrico Fraccaroli, University of Verona
Format Hands-on tutorial — you work on your own laptop
Date 8 September 2026 — the Summer School runs the day before the main FDL 2026 conference (9–11 September)
Location Rome, Italy
Venue Guglielmo Marconi University, Via Plinio 44
Room and time 16:00–18:00. The room is not yet published; the Summer School page carries the programme as it is confirmed.
Bring A laptop prepared as described below

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.

    Get Docker

  • Visual Studio Code (optional)


    The easiest way to run the session, and the route these instructions follow.

    Download VS Code

  • Dev Containers extension (optional)


    The VS Code extension that opens the workshop inside its container.

    Dev Containers

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.

  1. Download the package. fdl2026-glacier-student.zip — about 127 KB, because the toolchain arrives later, when the container is built.

  2. Check the download. Optional but quick. Fetch the checksum file into the same directory as the ZIP, then:

    sha256sum -c fdl2026-glacier-student.zip.sha256
    
    fdl2026-glacier-student.zip: OK
    
    shasum -a 256 -c fdl2026-glacier-student.zip.sha256
    
    fdl2026-glacier-student.zip: OK
    
    (Get-FileHash fdl2026-glacier-student.zip -Algorithm SHA256).Hash
    

    Compare the result, case-insensitively, with the published digest:

    0a5d84653709e9278a6330ff9b7e9a8b8f3ff0cb6ca761a1449bbffd9620700e
    
  3. Extract it.

    unzip fdl2026-glacier-student.zip
    
  4. Open the extracted directory in VS Code.

    code fdl2026-glacier-student
    
  5. 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.

  6. Check the environment. In a terminal inside VS Code:

    make doctor
    
  7. Run the smoke test. It compiles and runs a small Frost program, which is the real proof that the toolchain works:

    make smoke-test
    

You are ready when…

Both checks pass

make doctor ends with:

[doctor] PASS: participant environment is ready

and make smoke-test ends with:

[smoke] PASS: LF compiled and the packaged Frost runtime executed

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