Skip to content

Commit d452c52

Browse files
committed
Added missing file
1 parent 1a6f5c4 commit d452c52

File tree

1 file changed

+176
-0
lines changed

1 file changed

+176
-0
lines changed

docs/videos.mdx

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
---
2+
title: Videos
3+
description: Videos presented by the Lingua Franca team.
4+
---
5+
6+
Lingua Franca (LF) is a polyglot coordination language for concurrent and possibly time-sensitive
7+
applications ranging from low-level embedded code to distributed cloud and edge applications.
8+
This page collects videos presented by the Lingua Franca team:
9+
10+
* [Technical Talks](#technical-talks)
11+
* [Weekly Research Meetings](#weekly-research-meetings)
12+
* [Short Course](#short-course)
13+
* [Tutorial](#tutorial-from-2021)
14+
15+
## Technical Talks
16+
17+
* [Decentralized Coordination in Federated Lingua Franca](https://youtu.be/eDBOwr5iD3s?si=rVzd4wXsUGgEHmvD), Nov. 20, 2024.
18+
* [Trading Off Consistency and Availability using Lingua Franca](https://youtu.be/3lHmiWOedHM?si=6E-SU58zx6n2dT6B), Nov. 10, 2024.
19+
* [Deterministic Concurrency in Cyber-Physical Systems](https://youtu.be/OA_GknXKe4g?si=ulryQ7gpVivAfoX3), June 16, 2023.
20+
* [Deterministic Concurrency and the Lingua Franca Coordination Language](https://youtu.be/GT4NJ5XnEt4?si=wzrtX72PgAtPS_Yk), April 18, 2023.
21+
* [Verifying Parallel and Distributed Systems: The Observer Problem](https://youtu.be/20EKKsdWTQ8?si=aTSiPijMw9lDVajY), Feb. 9, 2023.
22+
* [Trading off Consistency and Availability in Cyber-Physical Systems](https://youtu.be/VbQPdTZjsZo?si=hAJhLt5e7m3PQzIx), Jan. 28, 2023.
23+
* [Time for All Programs, Not Just Real-Time Programs](https://youtu.be/WlQ8oXG1K8c?si=vSgP5xcZJL3-2QdH), Oct. 25, 2021.
24+
* [10-minute Demo of Lingua Franca](https://youtu.be/UZ1P70Rz5sY?si=N3MKYsgKxZr21bsD), May 6, 2021.
25+
26+
More videos can be found on this [playlist](https://youtube.com/playlist?list=PL4zzL7roKtfWbzXhty_kS9fkGoyt-jYzU&si=w8wtPVwPkSWqOIMC).
27+
28+
29+
## Weekly Research Meetings
30+
31+
The LF team meets approximately once a week, and sometimes the meetings are recorded.
32+
These recordings can be found in
33+
[this Google Drive folder](https://drive.google.com/drive/folders/1puJdbrsgG0WhaGsOEJVUM_8NgBkeSmwH?usp=sharing).
34+
35+
## Short Course
36+
37+
In May, 2022, Edward Lee gave a [short course on software design for cyber-physical systems](
38+
https://www.youtube.com/playlist?list=PL4zzL7roKtfUWcXJ_O9w8GzwJrCwcjLyb) that featured Lingua Franca.
39+
40+
## Tutorial from 2021
41+
42+
On Oct. 8, 2021, we offered a tutorial on Lingua Franca for the EMSOFT conference, a part of ESWEEK.
43+
This tutorial is dated, and many aspects of the language have changed since then.
44+
Nevertheless, the videos may provide a useful entry point.
45+
A [video playlist](https://youtube.com/playlist?list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o) recording is available in six segments, as detailed below.
46+
47+
**Useful links:**
48+
49+
- [Complete video playlist](https://youtube.com/playlist?list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o)
50+
- [Part I: Introduction](#introduction)
51+
- [Part II: Hello World](#hello)
52+
- [Part III: Target Languages](#target)
53+
- [Part IV: Basic Concepts](#concepts)
54+
- [Part V: Concurrency and Performance](#concurrency)
55+
- [Part VI: Research Overview](#research)
56+
- [Slides](https://docs.google.com/presentation/d/14cfIMmkBFwt6NOj2ujVs7YXPAXYsoHgLS2rUgBM-Deg/present?slide=id.g623f095f12_0_0)
57+
58+
### Part I: Introduction
59+
60+
This part briefly describes the background of the project and explains how to get started with the software.
61+
62+
:::warning
63+
These videos mentioned Epoch, an IDE that is no longer actively maintained. We recommend using our VS Code extension instead.
64+
:::
65+
66+
**Useful links:**
67+
68+
- [Complete video of part I](https://youtu.be/7vkhX5tS_oI)
69+
- Individual parts of the video:
70+
<!--img style="float: right;" src="./../assets/images/tutorial/vm.png" width=50%-->
71+
72+
| Contents |
73+
| -------------------------------------------------------------------------------------------------------------------------------------------- |
74+
| [Introduction](https://www.youtube.com/watch?v=7vkhX5tS_oI&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=1&t=0s) |
75+
| [Motivation](https://www.youtube.com/watch?v=7vkhX5tS_oI&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=1&t=61s) |
76+
| [Overview of this tutorial](https://www.youtube.com/watch?v=7vkhX5tS_oI&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=1&t=185s) |
77+
| [History of the project](https://www.youtube.com/watch?v=7vkhX5tS_oI&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=1&t=668s) |
78+
| [Participating](https://www.youtube.com/watch?v=7vkhX5tS_oI&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=1&t=897s) |
79+
| [Getting started](https://www.youtube.com/watch?v=7vkhX5tS_oI&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=1&t=925s) |
80+
| [Native releases (Epoch IDE and lfc)](https://www.youtube.com/watch?v=7vkhX5tS_oI&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=1&t=1063s) |
81+
| [Virtual Machine with LF pre-installed](https://www.youtube.com/watch?v=7vkhX5tS_oI&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=1&t=1311s) |
82+
83+
- [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.
84+
- [Epoch IDE and lfc command-line compiler](https://releases.lf-lang.org/): Add `lfc` (and `epoch`) to your `$PATH` environment variable.
85+
- [Requirements for each target language](https://reqs.lf-lang.org/): We use the C target in this tutorial.
86+
87+
### Part II: Hello World
88+
89+
This part introduces the language with a simple example.
90+
91+
**Useful links:**
92+
93+
- [Complete video of part II](https://youtu.be/GNwaf4OpfPM)
94+
- Individual parts of the video:
95+
| Contents|
96+
|-------------|
97+
| [Open Epoch and create a project](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=0s)|
98+
| [Hello World](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=104s)|
99+
| [Adding a timer](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=284s)|
100+
| [Adding a timeout target property](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=426s)|
101+
| [Adding state variables](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=470s) |
102+
| [Creating and connecting multiple reactors](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=635s) |
103+
| [Parameterized reactors](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=1020s) |
104+
| [LF tour recap](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=1102s) |
105+
| [Diagrams](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=1157s) |
106+
107+
### Part III: Target Languages
108+
109+
This part focuses on the target languages other than C, namely C++, Python, TypeScript, and Rust.
110+
111+
**Useful links:**
112+
113+
- [Complete video of part III](https://youtu.be/0AteHXOHnto)
114+
- Individual parts of the video:
115+
| Contents|
116+
|-------------|
117+
| [Introduction](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=0s) |
118+
| [Cpp](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=57s) |
119+
| [Python](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=650s) |
120+
| [Python Demo: Piano Synth](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=1270s) |
121+
| [TypeScript](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=1555s) |
122+
| [Rust](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=2014s) |
123+
124+
### Part IV: Basic Concepts
125+
126+
This part focuses on basic concepts in the language and includes three demos.
127+
128+
**Useful links:**
129+
130+
- [Complete video of part IV](https://youtu.be/tl3F_jgc248)
131+
- Individual parts of the video:
132+
| Contents|
133+
|-------------|
134+
| [Reflex game overview](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=0s) |
135+
| [Generating the prompts: Basic concepts](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=310s) |
136+
| [Program control of time: Logical action](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=435s) |
137+
| [Handling external events: Physical action](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=585s) |
138+
| [Cycle and causality loop](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=782s) |
139+
| [Reflex game in Python](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=963s) |
140+
| [The Rhythm example](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=1155s) |
141+
142+
### Part V: Concurrency
143+
144+
This part focuses on how the language expresses concurrency, exploits multicore, and supports distributed execution.
145+
146+
**Useful links:**
147+
148+
- [Complete video of part V](https://youtu.be/MoTf8L0jOD0)
149+
- Individual parts of the video:
150+
| Contents|
151+
|-------------|
152+
| [Introduction](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=0s) |
153+
| [Banks and Multiports](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=39s) |
154+
| [Utilizing Multicore](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=569s) |
155+
| [Tracing](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=1069s) |
156+
| [Performance](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=1420s) |
157+
| [Federated Execution](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=1765s) |
158+
159+
### Part VI: Research Overview
160+
161+
This part focuses on a few of the research projects that have been stimulated by the Lingua Franca project.
162+
163+
**Useful links:**
164+
165+
- [Complete video of part VI](https://youtu.be/GNwaf4OpfPM)
166+
- Individual parts of the video:
167+
| Contents|
168+
|-------------|
169+
| [Introduction](https://www.youtube.com/watch?v=afJowM35YHg&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=6&t=0s) |
170+
| [AUTOSAR](https://www.youtube.com/watch?v=afJowM35YHg&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=6&t=375s) |
171+
| [Autoware/Carla](https://www.youtube.com/watch?v=afJowM35YHg&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=6&t=867s) |
172+
| [Bare Iron Platforms](https://www.youtube.com/watch?v=afJowM35YHg&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=6&t=1663s) |
173+
| [Modal Models](https://www.youtube.com/watch?v=afJowM35YHg&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=6&t=2076s) |
174+
| [Automated Verification](https://www.youtube.com/watch?v=afJowM35YHg&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=6&t=2432s) |
175+
| [Secure Federated Execution](https://www.youtube.com/watch?v=afJowM35YHg&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=6&t=2877s) |
176+
| [LF Language Server](https://www.youtube.com/watch?v=afJowM35YHg&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=6&t=3247s) |

0 commit comments

Comments
 (0)