Skip to content

Tutorial

Marten Lohstroh edited this page Oct 7, 2021 · 67 revisions

This is a work in progress for now, being built.

Getting Started

If you are participating in the tutorial, we ask that you prepare by completing one of the following tasks (ordered by increasing difficulty):

  1. Easy: Download and Import VM Image
  2. Medium: Download and Install Pre-built Epoch/Lfc
  3. Advanced: Download and Initialize LF Developer Environment

During the tutorial, we only go over task 1 and 2.

Download and Import VM Image

  1. Go to https://vm.lf-lang.org/ and download the Ubuntu-for-LF.ova image.
  2. Open your favorite virtualization software (e.g., VirtualBox or VMWare Player) and import the image.
  3. Start the VM and run Epoch IDE by clicking on the icon on the left.

Download and Install Pre-built Epoch/Lfc

  1. Go to https://releases.lf-lang.org/ and download the latest build artifacts that are compatible with your system.
  2. (Optional) Add lfc (and epoch) to $PATH.
  3. Run Epoch IDE.

Install Target Language Dev Tools

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.

Tutorial Outline

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 (9:40)
  • 5-minute Q&A (10:20)
  • Basic Concepts (10:25) (using Reflex Game) [Edward] (15)
    • Reaction Ordering
    • Causality Loops
    • Physical Time vs. Logical Time
  • Demo: Rhythm (10:40) [Soroush]
  • 5-minute Q&A
  • Concurrency & Performance (10:45)
    • Banks and multiports (10:45) [Christian]
    • Multicore demo (10:50) [Marten]
    • Tracing (10:55) [Hokeun]
    • Performance 11:00 [Christian]
    • Federated execution 11:15 [Soroush]
  • 5-minute Q&A
  • Ongoing Research (11:20)
    • Overview (11:20) [Marten Lohstroh]
    • AUTOSAR (11:25) [Christian Menard]
    • Carla, LGSVL, Autoware/ROS (11:30) [Soroush Bateni] (10)
    • Bare Iron Platforms (11:35) [Efsane Soyer]
    • Modal models (11:40) [Alexander Schulz-Rosengarten]
    • Automated Verification (11:45) [Shaokai Lin]
    • Secure Federated Execution (11:50) [Hokeun Kim]
    • LSP [Peter Donovan] (11:55)
  • 15-minute Q&A (12:00)
  • Closing remarks (12:20) [Edward A. Lee]