Tutorial T3

Title: Deterministic Reactive Programming for Cyber-Physical Systems Using Lingua Franca

Description: This tutorial presents Lingua Franca (LF), a polyglot coordination language for writing deterministic reactive programs that incorporate, and compile down to, popular mainstream programming languages such as C, C++, Python, and TypeScript. LF does not replace the languages we love, but instead augments them with a deterministic coordination layer and adds missing abstractions. LF transparently exploits parallelism without burdening the application programmer with the well-documented difficulties of achieving predictable behavior in multi-threaded and/or distributed software.

The tutorial targets attendees with a background in developing software for cyber-physical systems (CPS). We will show the workflow involved in developing a few small CPS applications using LF, and the benefits of determinism that can be achieved out of the box. For example, our custom IDE is capable of diagram synthesis, dependency analysis, and cycle detection that can help CPS developers avoid common sources of potential non-determinism in their software. Our framework also supports real-time capabilities such as deadlines and periodic timers, and includes a deterministic interface to interact with the physical world. We will also show some of the runtime capabilities of LF, including the ability to run a coordinated distributed system with little to no programming effort that conserves a semantic notion of time across different machines.

Organizer(s) and speaker(s): 

Soroush Bateni, University of Texas at Dallas, USA

Hokeun Kim, Hanyang University, South Korea & UC Berkeley, USA

Edward A. Lee, UC Berkeley, USA

Shaokai Lin, UC Berkeley, USA

Marten Lohstroh, UC Berkeley, USA

Christian Menard, TU Dresden, Germany

Efsane Soyer, UC Berkeley, USA

Peter Donovan, UC Berkeley, USA

Clément Fournier, TU Dresden, Germany

Alexander Schulz-Rosengarten, Kiel University, Germany

Biographies: Soroush Bateni is a PhD candidate in the Department of Computer Science at the University of Texas at Dallas. His current research focus is on deterministic distributed embedded systems and predictable AI.

Shaokai Lin is a PhD student in the EECS department of UC Berkeley. His research interest is in applying formal methods in the design and verification of cyber-physical systems and timing-predictable hardware.

Hokeun Kim is joining Hanyang University, Seoul, Korea, in fall 2021 as an assistant professor in Electronic Engineering. He received his Ph.D. degree in EECS from UC Berkeley in 2017 with a focus on IoT security. He continued research on Internet and computer security at Google. His research interests include the IoT, real-time systems, cyber-physical systems, and computer architecture.

Edward A. Lee has been working on embedded software systems for 40 years, and after detours through Yale, MIT, and Bell Labs, landed at Berkeley, where he is now Professor of the Graduate School in EECS. His research is focused on cyber-physical systems, where he strives to make composable, secure, and verifiable systems, with an emphasis on deterministic concurrency and predictable timing.

Marten Lohstroh recently obtained his PhD from UC Berkeley where he wrote his dissertation on reactors. He is still affiliated to Berkeley, but now as a postdoc. His work is focused on broadening the impact of reactors through Lingua Franca.

Christian Menard is a PhD student in the Department of Computer Science at TU Dresden in Germany. His research focuses on applying new models of computation in the field of compiler construction, with a particular focus on creating new tool flows for developing automotive applications.

Efsane Soyer is a junior studying computer science at UC Berkeley.

Peter Donovan is a freshman studying computer science at UC Berkeley.

Clément Fournier is a software engineering student at TU Dresden.

Alexander Schulz-Rosengarten is a PhD student in the Real-Time and Embedded Systems group at Christian Albrechts University in Kiel.