Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ The reactor-oriented programming paradigm is informally described via the follow
8. _Concurrency_ — Dependencies between reactions are explicitly declared in a Lingua Franca program, and reactions that are not dependent on one another can be executed in parallel on a multi-core machine. If the target provides a support for federated execution, then execution can also be distributed across networks.

## Getting Started
To get started with Lingua Franca, [set up a development environment](./installation.md) and learn how to write [a first reactor](./writing-reactors/a-first-reactor.mdx). There are also a number of useful [tutorial videos](./tutorial-videos.mdx) available.
To get started with Lingua Franca, [set up a development environment](./installation.md) and learn how to write [a first reactor](./writing-reactors/a-first-reactor.mdx). There are also a number of potentially useful [videos](./videos.mdx) available.
6 changes: 5 additions & 1 deletion docs/legacy_routing.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
export default [
{
"to": "/docs/tutorial-videos",
"to": "/docs/videos",
"from": "/docs/handbook/tutorial-video"
},
{
"to": "/docs/videos",
"from": "/docs/tutorial-video"
},
{
"to": "/docs/",
"from": "/docs/handbook/overview"
Expand Down
2 changes: 1 addition & 1 deletion docs/sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const sidebars: SidebarsConfig = {
},
{
"type": "doc",
"id": "tutorial-videos"
"id": "videos"
},
{
"type": "category",
Expand Down
56 changes: 47 additions & 9 deletions ...ed_docs/version-0.9.0/tutorial-videos.mdx → docs/videos.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,47 @@
---
title: Tutorial Videos
description: Tutorial videos presented by the Lingua Franca team.
title: Videos
description: Videos presented by the Lingua Franca team.
---

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.
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.
This page collects videos presented by the Lingua Franca team:

* [Technical Talks](#technical-talks)
* [Weekly Research Meetings](#weekly-research-meetings)
* [Short Course](#short-course)
* [Tutorial](#tutorial-from-2021)

## Technical Talks

* [Decentralized Coordination in Federated Lingua Franca](https://youtu.be/eDBOwr5iD3s?si=rVzd4wXsUGgEHmvD), Nov. 20, 2024.
* [Trading Off Consistency and Availability using Lingua Franca](https://youtu.be/3lHmiWOedHM?si=6E-SU58zx6n2dT6B), Nov. 10, 2024.
* [Deterministic Concurrency in Cyber-Physical Systems](https://youtu.be/OA_GknXKe4g?si=ulryQ7gpVivAfoX3), June 16, 2023.
* [Deterministic Concurrency and the Lingua Franca Coordination Language](https://youtu.be/GT4NJ5XnEt4?si=wzrtX72PgAtPS_Yk), April 18, 2023.
* [Verifying Parallel and Distributed Systems: The Observer Problem](https://youtu.be/20EKKsdWTQ8?si=aTSiPijMw9lDVajY), Feb. 9, 2023.
* [Trading off Consistency and Availability in Cyber-Physical Systems](https://youtu.be/VbQPdTZjsZo?si=hAJhLt5e7m3PQzIx), Jan. 28, 2023.
* [Time for All Programs, Not Just Real-Time Programs](https://youtu.be/WlQ8oXG1K8c?si=vSgP5xcZJL3-2QdH), Oct. 25, 2021.
* [10-minute Demo of Lingua Franca](https://youtu.be/UZ1P70Rz5sY?si=N3MKYsgKxZr21bsD), May 6, 2021.

More videos can be found on this [playlist](https://youtube.com/playlist?list=PL4zzL7roKtfWbzXhty_kS9fkGoyt-jYzU&si=w8wtPVwPkSWqOIMC).


## Weekly Research Meetings

The LF team meets approximately once a week, and sometimes the meetings are recorded.
These recordings can be found in
[this Google Drive folder](https://drive.google.com/drive/folders/1puJdbrsgG0WhaGsOEJVUM_8NgBkeSmwH?usp=sharing).

## Short Course

In May, 2022, Edward Lee gave a [short course on software design for cyber-physical systems](
https://www.youtube.com/playlist?list=PL4zzL7roKtfUWcXJ_O9w8GzwJrCwcjLyb) that featured Lingua Franca.

## Tutorial from 2021

On Oct. 8, 2021, we offered a tutorial on Lingua Franca for the EMSOFT conference, a part of ESWEEK.
This tutorial is dated, and many aspects of the language have changed since then.
Nevertheless, the videos may provide a useful entry point.
A [video playlist](https://youtube.com/playlist?list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o) recording is available in six segments, as detailed below.

**Useful links:**
Expand All @@ -17,7 +55,7 @@ A [video playlist](https://youtube.com/playlist?list=PL4zzL7roKtfXyKE3k8lOwPub9Y
- [Part VI: Research Overview](#research)
- [Slides](https://docs.google.com/presentation/d/14cfIMmkBFwt6NOj2ujVs7YXPAXYsoHgLS2rUgBM-Deg/present?slide=id.g623f095f12_0_0)

## Part I: Introduction
### Part I: Introduction

This part briefly describes the background of the project and explains how to get started with the software.

Expand Down Expand Up @@ -46,7 +84,7 @@ These videos mentioned Epoch, an IDE that is no longer actively maintained. We r
- [Epoch IDE and lfc command-line compiler](https://releases.lf-lang.org/): Add `lfc` (and `epoch`) to your `$PATH` environment variable.
- [Requirements for each target language](https://reqs.lf-lang.org/): We use the C target in this tutorial.

## Part II: Hello World
### Part II: Hello World

This part introduces the language with a simple example.

Expand All @@ -66,7 +104,7 @@ This part introduces the language with a simple example.
| [LF tour recap](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=1102s) |
| [Diagrams](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=1157s) |

## Part III: Target Languages
### Part III: Target Languages

This part focuses on the target languages other than C, namely C++, Python, TypeScript, and Rust.

Expand All @@ -83,7 +121,7 @@ This part focuses on the target languages other than C, namely C++, Python, Type
| [TypeScript](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=1555s) |
| [Rust](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=2014s) |

## Part IV: Basic Concepts
### Part IV: Basic Concepts

This part focuses on basic concepts in the language and includes three demos.

Expand All @@ -101,7 +139,7 @@ This part focuses on basic concepts in the language and includes three demos.
| [Reflex game in Python](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=963s) |
| [The Rhythm example](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=1155s) |

## Part V: Concurrency
### Part V: Concurrency

This part focuses on how the language expresses concurrency, exploits multicore, and supports distributed execution.

Expand All @@ -118,7 +156,7 @@ This part focuses on how the language expresses concurrency, exploits multicore,
| [Performance](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=1420s) |
| [Federated Execution](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=1765s) |

## Part VI: Research Overview
### Part VI: Research Overview

This part focuses on a few of the research projects that have been stimulated by the Lingua Franca project.

Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-0.8.0/sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const sidebars: SidebarsConfig = {
},
{
"type": "doc",
"id": "tutorial-videos"
"id": "videos"
},
{
"type": "category",
Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-0.9.0/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ The reactor-oriented programming paradigm is informally described via the follow
8. _Concurrency_ — Dependencies between reactions are explicitly declared in a Lingua Franca program, and reactions that are not dependent on one another can be executed in parallel on a multi-core machine. If the target provides a support for federated execution, then execution can also be distributed across networks.

## Getting Started
To get started with Lingua Franca, [set up a development environment](./installation.md) and learn how to write [a first reactor](./writing-reactors/a-first-reactor.mdx). There are also a number of useful [tutorial videos](./tutorial-videos.mdx) available.
To get started with Lingua Franca, [set up a development environment](./installation.md) and learn how to write [a first reactor](./writing-reactors/a-first-reactor.mdx). There are also a number of useful [tutorial videos](./videos.mdx) available.
6 changes: 5 additions & 1 deletion versioned_docs/version-0.9.0/legacy_routing.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
export default [
{
"to": "/docs/tutorial-videos",
"to": "/docs/videos",
"from": "/docs/handbook/tutorial-video"
},
{
"to": "/docs/videos",
"from": "/docs/tutorial-video"
},
{
"to": "/docs/",
"from": "/docs/handbook/overview"
Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-0.9.0/sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const sidebars: SidebarsConfig = {
},
{
"type": "doc",
"id": "tutorial-videos"
"id": "videos"
},
{
"type": "category",
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion versioned_sidebars/version-0.9.0-sidebars.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
},
{
"type": "doc",
"id": "tutorial-videos"
"id": "videos"
},
{
"type": "category",
Expand Down
Loading