Tutorial Videos
Lingua Franca (LF) is a polyglot coordination language for concurrent and possibly time-sensitive applications ranging from low-level embedded code to distributed cloud and edge applications. On Oct. 8, 2021, we offered a tutorial on Lingua Franca for the EMSOFT conference, a part of ESWEEK. A video playlist recording is available in six segments, as detailed below.
Useful links:
- Complete video playlist
- Part I: Introduction
- Part II: Hello World
- Part III: Target Languages
- Part IV: Basic Concepts
- Part V: Concurrency and Performance
- Part VI: Research Overview
- Slides
Part I: Introduction​
This part briefly describes the background of the project and explains how to get started with the software.
These videos mentioned Epoch, an IDE that is no longer actively maintained. We recommend using our VS Code extension instead.
Useful links:
-
Individual parts of the video:
Contents Introduction Motivation Overview of this tutorial History of the project Participating Getting started Native releases (Epoch IDE and lfc) Virtual Machine with LF pre-installed -
Virtual machine image: download the
Ubuntu-for-LF.ova
image and import into your favorite virtualization software (e.g., VirtualBox or VMWare Player). Start the VM and run Epoch IDE by clicking on the icon on the left. -
Epoch IDE and lfc command-line compiler: Add
lfc
(andepoch
) to your$PATH
environment variable. -
Requirements for each target language: We use the C target in this tutorial.
Part II: Hello World​
This part introduces the language with a simple example.
Useful links:
- Complete video of part II
- Individual parts of the video:
Part III: Target Languages​
This part focuses on the target languages other than C, namely C++, Python, TypeScript, and Rust.
Useful links:
- Complete video of part III
- Individual parts of the video:
Contents Introduction Cpp Python Python Demo: Piano Synth TypeScript Rust
Part IV: Basic Concepts​
This part focuses on basic concepts in the language and includes three demos.
Useful links:
- Complete video of part IV
- Individual parts of the video:
Part V: Concurrency​
This part focuses on how the language expresses concurrency, exploits multicore, and supports distributed execution.
Useful links:
- Complete video of part V
- Individual parts of the video:
Contents Introduction Banks and Multiports Utilizing Multicore Tracing Performance Federated Execution
Part VI: Research Overview​
This part focuses on a few of the research projects that have been stimulated by the Lingua Franca project.
Useful links:
- Complete video of part VI
- Individual parts of the video:
Contents Introduction AUTOSAR Autoware/Carla Bare Iron Platforms Modal Models Automated Verification Secure Federated Execution LF Language Server