+ Modeling and Programming Time-Sensitive Systems Using Lingua Franca + Coordination Language +
++ Hands-on tutorial (2:00 β 4:00 PM CEST, 2 hours) +
++ Start here to set up your environment and get the hands-on lab + materials. +
++ Set up the Lingua Franca toolchain, VS Code extension, + and CLI (this tutorial uses LF v0.13.0). +
+ + Installation Instructions + ++ Create your own copy of the tutorial template repository + with eight short labs in C and Python. +
+ + Open GitHub Labs + ++ This hands-on, interactive tutorial introduces{" "} + Lingua Franca (LF), a polyglot + coordination language for building deterministic, time-sensitive + systems. You write ordinary C or Python code inside{" "} + reactors, and LF coordinates when that code runs, + locally or across multiple processes, with a well-defined model + of time. It is held during the{" "} + + FDL 2026 Summer School + {" "} + in Rome, Italy, part of the Forum on Specification & Design + Languages (FDL) 2026. +
++ The tutorial is built around eight short labs, each centered on + a small program that you compile, run, and extend. Every lab + exists in both C and Python, teaching the same LF concepts with + the same exercisesβpick the language you are more comfortable + with and stay on that path. The tutorial is intended for + researchers, engineers, and graduate students with programming + experience interested in the design of time-sensitive systems + with deterministic concurrency. +
+ ++ FDL 2026 Summer School participants including Ph.D. students, + academic researchers, and industry engineers. No prior + experience with LF is requiredβbasic proficiency in C and/or + Python is recommended. +
++ Time-sensitive systems, such as cyber-physical systems and + embedded control software, often involve multiple concurrent + components interacting under real-time constraints. Ensuring + deterministic behavior and coordinated timing across these + components is a notorious challenge with conventional + programming approaches (threads, pub/sub, actor frameworks, + etc.). +
++ Lingua Franca is a polyglot coordination language designed to + address this challenge by offering a framework for building + concurrent, time-sensitive systems that behave deterministically + and predictably. An LF program defines interactions between + reactive components called reactors and emphasizes + deterministic coordination with explicit handling of timing. +
++ Schedule: September 8, 2026, 2:00 PM β 4:00 PM (2 hours) +
+ + {scheduleItems.map((item, idx) => ( ++ {item.description} +
+ )} + {item.leads && ( ++ Led by: {item.leads} +
+ )} ++ Each lab is built around a small program you compile, run, and + extend. The links in the{" "} + + tutorial repository + {" "} + point at both the C and Python versions of every lab. Total + guided time is about 80-100 minutes, leaving room in a two-hour + session for setup and questions. +
+| Lab | +Theme | +Main concepts | +
|---|---|---|
| {lab.number} | +{lab.theme} | +{lab.concepts} | +
+ Participants should bring a laptop for the hands-on + sessions. Lingua Franca's toolchain supports{" "} + Linux, macOS, and{" "} + Windows (via WSL). This tutorial uses{" "} + Lingua Franca v0.13.0. +
+ ++ Step-by-step setup for the toolchain, VS Code extension, + and CLI is in the{" "} + + Lingua Franca installation documentation + {" "} + and in the{" "} + + tutorial repository's setup section + + . +
++ Highlights: +
+lf-lang.vscode-lingua-franca).
+
+ curl -Ls https://install.lf-lang.org | bash -s cli
+
+ .
+ clang or{" "}
+ gcc) and CMake
+ + The hands-on session follows the eight labs in the{" "} + + lf-tutorial-fdl26 + {" "} + template repository on GitHub. Before the tutorial, create + your own private copy from the template ( + Use this template >{" "} + Create a new repository), clone it, and + open the folder in VS Code. The same labs exist in both C + and Python. +
++ {instructor.affiliation} +
++ {instructor.bio} +
++ π§{" "} + + {instructor.email} + +
++ {ta.role} +
++ {ta.affiliation} +
++ π§{" "} + {ta.email} +
++ This webpage serves as the central hub for all tutorial + materials. Participants can expect to find: +
++ Materials will be updated as we approach the tutorial date. + Check back regularly for the latest resources. +
+ ++ Join the Lingua Franca{" "} + + Zulip community + {" "} + for Q&A before and after the tutorial. This connects you + with an active open-source community spanning multiple + institutions for continued learning and support. +
++ Get started with Lingua Franca and learn more about the summer + school. +
+