-
Notifications
You must be signed in to change notification settings - Fork 63
Tutorial
Marten Lohstroh edited this page Oct 7, 2021
·
67 revisions
If you are participating in the tutorial, we ask that you prepare by completing one of the following tasks (ordered by increasing difficulty):
- Easy: Download and Import VM Image
- Medium: Download and Install Pre-built Epoch/Lfc
- Advanced: Download and Initialize LF Developer Environment
During the tutorial, we only go over task 1 and 2.
- Go to https://vm.lf-lang.org/ and download the
Ubuntu-for-LF.ova
image. - Open your favorite virtualization software (e.g., VirtualBox or VMWare Player) and import the image.
- Start the VM and run Epoch IDE by clicking on the icon on the left.
- Go to https://releases.lf-lang.org/ and download the latest build artifacts that are compatible with your system.
-
(Optional) Add
lfc
(andepoch
) to$PATH
. - Run Epoch IDE.
See: https://reqs.lf-lang.org/ for information on what target development tools to install. Most of the material we cover uses the C target.
The tutorial starts at 9 AM EST (6AM PST). All times are given in EST.
- Introduction (9:00) [Edward A. Lee]
- Getting Started (9:05) [Marten Lohstroh]
- 5-minute Q&A (9:15)
-
Hello World (9:20) [Marten Lohstroh]
- Reaction to startup
- Show generated code
- State Variables
- Timers
- Simple composition
- Parameters
- Diagrams (9:35) [Alexander Schulz-Rosengarten]
- Other Targets
- C++ (9:40) [Christian Menard]
- Python (9:48) [Soroush Bateni]
- Demo: Piano Synth (9:56) [Steven Wong]
- TypeScript (10:04) [Marten Lohstroh]
- Rust (10:12) [Clément Fournier]
- 5-minute Q&A (10:20)
-
Basic Concepts (10:25) (using Reflex Game) [Edward A. Lee]
- Reaction Ordering
- Causality Loops
- Physical Time vs. Logical Time
- Demo: Reflex Game in Python [Steven Wong]
- Demo: Rhythm (10:40) [Soroush Bateni]
- 5-minute Q&A
- Concurrency & Performance
- Banks and multiports (10:45) [Christian Menard]
- Utilizing multicore (10:50) [Marten Lohstroh]
- Tracing (10:55) [Hokeun Kim]
- Performance 11:00 [Christian Menard]
- Federated execution 11:15 [Soroush Bateni]
- 5-minute Q&A
- Ongoing Research (11:20)
- Overview (11:20) [Marten Lohstroh]
- AUTOSAR integrations (11:25) [Christian Menard]
- Autoware integrations (11:30) [Soroush Bateni]
- Bare Iron Platforms (11:40) [Efsane Soyer]
- Modal models (11:45) [Alexander Schulz-Rosengarten]
- Automated Verification (11:50) [Shaokai Lin]
- Secure Federated Execution (11:55) [Hokeun Kim]
- LF Language Server (12:00) [Peter Donovan]
- 15-minute Q&A (12:05)
- Closing remarks (12:25) [Edward A. Lee]