-
Notifications
You must be signed in to change notification settings - Fork 63
Tutorial
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:
- This page: https://esweek.lf-lang.org/
- 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
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: https://vm.lf-lang.org/: 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: https://releases.lf-lang.org/. Add
lfc
(andepoch
) to your$PATH
environment variable. -
Requirements for each target language: https://reqs.lf-lang.org/ (we use the C target here).
This part introduces the language with a simple example.
Useful links:
- Complete video of part II
- Individual parts of the video:
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
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:
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
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