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.
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