diff --git a/src/components/Events/events.tsx b/src/components/Events/events.tsx index cc14851b9..a8be3d818 100644 --- a/src/components/Events/events.tsx +++ b/src/components/Events/events.tsx @@ -14,6 +14,17 @@ export interface Event { // Events are automatically sorted by date export const events: Event[] = [ // Upcoming Events + { + title: "Lingua Franca Tutorial at CPS-IoT Week 2026", + date: "2026-05-11", + endDate: "2026-05-14", + location: "Saint Malo, France (CPS-IoT Week 2026)", + description: + "Half-day hands-on tutorial on Lingua Franca, an open-source coordination language for building deterministic, concurrent, and time-sensitive cyber-physical systems. Includes technical overview, CPS demos, and programming sessions with C and Python.", + link: "/events/cpsweek-2026-tutorial", + type: "tutorial", + isUpcoming: true, + }, { title: "ReCPS: Workshop on Reactive Cyber-Physical Systems", date: "2026-04-20", diff --git a/src/pages/events/cpsweek-2026-tutorial.tsx b/src/pages/events/cpsweek-2026-tutorial.tsx new file mode 100644 index 000000000..f8c725ced --- /dev/null +++ b/src/pages/events/cpsweek-2026-tutorial.tsx @@ -0,0 +1,535 @@ +import clsx from "clsx"; +import Layout from "@theme/Layout"; +import Heading from "@theme/Heading"; +import Link from "@docusaurus/Link"; + +import styles from "./event-page.module.css"; + +interface ScheduleItem { + session: string; + duration: string; + description?: React.ReactNode; + leads?: string; +} + +const scheduleItems: ScheduleItem[] = [ + { + session: "Introductory Presentations", + duration: "45 minutes", + description: + "Introduction to CPS concurrency challenges and motivation for Lingua Franca. Explanation of the reactor-oriented programming model and key language concepts (reactors, ports, timers, logical time). Real-world scenarios in automotive and avionic systems where deterministic coordination is vital.", + leads: "Organizers", + }, + { + session: "Live Demos", + duration: "45 minutes", + description: ( + <> + CPS-focused example applications built with LF, including distributed + (federated) execution, physics simulation integration, and embodied AI + agents using robotic platforms. Demos will leverage example programs + from the{" "} + + LF Playground + {" "} + and{" "} + LF Demos{" "} + repositories such as the vehicle simulation integrated with the + physics-based simulation engine,{" "} + MuJoCo. + + ), + leads: "Organizers", + }, + { + session: "Break", + duration: "10 minutes", + }, + { + session: "Hands-on Programming Sessions", + duration: "100 minutes", + description: + "Interactive coding sessions with progressively challenging exercises using CPS-themed examples. Build a smart traffic light controller, implement distributed sensing applications, and explore the LF Playground. Choose between C or Python for reactor logic implementation.", + leads: "Organizers & Teaching Assistants", + }, + { + session: "Break", + duration: "10 minutes", + }, + { + session: "Wrap-Up and Q&A", + duration: "30 minutes", + description: + "Summary of key takeaways, discussion of advanced LF capabilities (federated distributed execution, modal models), project roadmap, and community involvement opportunities.", + leads: "Organizers", + }, +]; + +interface Organizer { + name: string; + affiliation: string; + email: string; + website: string; + bio: string; + image: string; +} + +const organizers: Organizer[] = [ + { + name: "Hokeun Kim", + affiliation: "Arizona State University, USA", + email: "hokeun@asu.edu", + website: "https://hokeun.github.io/", + image: "/img/events/cpsweek-2026-tutorial/hokeun-kim.jpg", + bio: "Assistant professor of Computer Science and Engineering in the School of Computing and Augmented Intelligence (SCAI) at Arizona State University. Ph.D. in EECS from UC Berkeley (2017) with a focus on distributed cyber-physical systems and IoT security. Research interests include cyber-physical systems, distributed systems, real-time systems, computer security, and computer architecture. Recipient of ACM/IEEE Best Paper Award at CPSWeek, IEEE Micro Top Picks Honorable Mention, and 1st Place in ESSC at ESWEEK.", + }, + { + name: "Chadlia Jerad", + affiliation: "University of Manouba, Tunisia", + email: "chadlia.jerad@ensi-uma.tn", + website: "https://chadliajerad.github.io/", + image: "/img/events/cpsweek-2026-tutorial/chadlia-jerad.jpg", + bio: "Associate professor at the National School of Computer Science (ENSI), University of Manouba, Tunisia. Fulbright Visiting Scholar at EECS, UC Berkeley in 2016-2017 (Accessors project) and 2022-2023 (Lingua Franca project). Recognized by DAAD Tunisia as 'Portrait of the Month' in 2018. Research interests include embedded and cyber-physical systems, distributed and real-time systems, computer architecture, and formal verification.", + }, + { + name: "Edward A. Lee", + affiliation: "University of California, Berkeley, USA", + email: "eal@berkeley.edu", + website: "https://ptolemy.berkeley.edu/~eal/", + image: "/img/events/cpsweek-2026-tutorial/edward-lee.jpg", + bio: "Professor of the Graduate School and Distinguished Professor Emeritus in EECS at UC Berkeley. Author of seven books and hundreds of papers. Director of iCyPhy, the Berkeley Industrial Cyber-Physical Systems Research Center. Fellow of the IEEE, NSF Presidential Young Investigator. Awards include the 2016 IEEE TCRTS Outstanding Technical Achievement and Leadership Award, 2019 IEEE TCCPS Technical Achievement Award, 2022 EDAA Achievement Award, 2022 ACM SIGBED Technical Achievement Award, and Honorary Doctorate from the Technical University of Vienna (2022).", + }, +]; + +export default function CPSWeek2026Tutorial() { + return ( + + {/* Hero Section */} +
+
+
+ Upcoming Tutorial +
+ + Lingua Franca: + +

+ An Open-Source Coordination Language for Deterministic Integration + of Cyber-Physical Systems +

+
+ πŸ“… May 11-14, 2026 + πŸ“ Saint Malo, France + + 🎯 Co-located with{" "} + + CPS-IoT Week 2026 + + +
+

+ Half-day hands-on tutorial (~4 hours) +

+
+
+ + {/* Abstract Section */} +
+
+
+
+ Abstract +

+ This half-day, hands-on, interactive tutorial introduces{" "} + Lingua Franca (LF), an open-source + coordination language designed for building deterministic, + concurrent, and time-sensitive cyber-physical systems. + Participants will explore LF's core concepts through a technical + overview, CPS-focused demonstrations, and hands-on programming + sessions using C and Python as well as the LF coordination + language. +

+

+ This tutorial emphasizes how LF enables deterministic + concurrency, simplifies integration, and enhances reliability + across CPS and IoT domains. The tutorial is intended for + researchers, engineers, and graduate students with programming + experience interested in robust CPS design. +

+ +
+ 🎯 Target Audience +

+ CPS-IoT Week participants including academic researchers, + industry engineers, and graduate students working on CPS/IoT. + No prior experience with LF is requiredβ€”basic proficiency in C + and/or Python is recommended. +

+
+
+
+
+
+ + {/* Motivation Section */} +
+
+
+
+ + πŸ’‘ Motivation & Relevance + +

+ Cyber-physical systems (CPS) and IoT applications often involve + multiple concurrent components interacting under real-time + constraints. Ensuring deterministic behavior and coordinated + timing across these components is a notorious challenge with + conventional programming approaches (threads, pub/sub, actor + frameworks, etc.). +

+

+ Lingua Franca is a polyglot coordination language designed to + address this challenge by offering a framework for building + concurrent, time-sensitive systems that behave deterministically + and predictably. An LF program defines interactions between + reactive components called reactors and emphasizes + deterministic coordination with explicit handling of timing. +

+

+ By using LF, CPS developers can coordinate sensing, computation, + and actuation across devices with guarantees of logical timing + order and thread-safe determinism that are difficult to achieve + with traditional methods. +

+ +
+
+ Key Benefits +
    +
  • + Deterministic Concurrency: Race-free + execution on multiple cores or devices without special + synchronization code +
  • +
  • + Explicit Timing Semantics: Specify and + maintain precise temporal behavior without ad-hoc timing + code +
  • +
  • + Polyglot Support: Reactor logic can be + written in C, Python, C++, Rust, or TypeScript +
  • +
  • + Distributed Execution: Built-in support + for federated execution across networked devices +
  • +
+
+
+
+
+
+
+ + {/* Schedule Section */} +
+
+
+
+ + πŸ“‹ Tutorial Schedule + +

+ Total duration: ~4 hours (half-day tutorial including breaks) +

+ + {scheduleItems.map((item, idx) => ( +
+
+
+ + {item.session} + + + {item.duration} + +
+
+ {item.description && ( +
+

{item.description}

+ {item.leads && ( +

+ Led by: {item.leads} +

+ )} +
+ )} +
+ ))} +
+
+
+
+ + {/* What You'll Learn Section */} +
+
+
+
+ + πŸŽ“ What You'll Learn + +
+
+
+
+ Concepts +
+
+
    +
  • Reactor-oriented programming model
  • +
  • Reactors, ports, and connections
  • +
  • Timers and logical time
  • +
  • Deterministic concurrency
  • +
  • Federated (distributed) execution
  • +
+
+
+
+
+
+
+ Hands-on Skills +
+
+
    +
  • Writing LF programs with C or Python
  • +
  • Building CPS applications (e.g., traffic controller)
  • +
  • Implementing distributed sensing
  • +
  • Using VS Code with LF extension
  • +
  • Working with the LF Playground
  • +
+
+
+
+
+
+
+
+
+ + {/* Technical Requirements Section */} +
+
+
+
+ + πŸ’» Technical Requirements & Setup + +
+
+

+ Participants should bring a laptop for the hands-on + sessions. Lingua Franca's toolchain supports{" "} + Linux, macOS, and{" "} + Windows (via WSL). +

+ + Setup Options +
    +
  • + Pre-configured VM: We will provide an + Ubuntu virtual machine image with all required tools + installed (LF compiler, VS Code with LF extension, Java, + C compiler, etc.) +
  • +
  • + Native Installation: One-line install + script or VS Code extension installation +
  • +
  • + Cloud-based: GitHub Codespaces or Gitpod + for the{" "} + + LF Playground + {" "} + as a browser-based backup environment +
  • +
+ + Dependencies +
    +
  • Java 17+ JDK
  • +
  • C/C++ compiler (gcc or clang)
  • +
  • CMake
  • +
  • Python (for Python target)
  • +
+
+
+
+
+
+
+ + {/* Organizers Section */} +
+
+
+
+ + πŸ‘₯ Organizers + + {organizers.map((organizer, idx) => ( +
+
+
+
+ {organizer.name} +
+
+ + {organizer.name} + +

+ {organizer.affiliation} +

+

+ {organizer.bio} +

+

+ πŸ“§{" "} + + {organizer.email} + +

+
+
+
+
+ ))} +
+
+
+
+ + {/* Materials Section */} +
+
+
+
+ + πŸ“š Materials & Resources + +
+
+

+ This webpage serves as the central hub for all tutorial + materials. Participants can expect to find: +

+
    +
  • Setup instructions and prerequisites
  • +
  • Slide decks and presentation materials
  • +
  • Hands-on exercise instructions and starter code
  • +
  • Links to example projects and the LF Playground
  • +
  • Video recordings of presentations and demos (after the event)
  • +
+

+ Materials will be updated as we approach the tutorial date. + Check back regularly for the latest resources. +

+ + Community Support +

+ Join the Lingua Franca{" "} + + Zulip community + {" "} + (50+ active members, 200+ total) for Q&A before and after + the tutorial. This connects you with an active open-source + community spanning multiple institutions for continued + learning and support. +

+
+
+
+
+
+
+ + {/* CTA Section */} +
+
+ Related Resources +

+ Get started with Lingua Franca and learn more about the conference. +

+
+ + CPS-IoT Week 2026 + + + Lingua Franca Docs + + + Installation Guide + + + LF Playground + +
+
+
+
+ ); +} + diff --git a/static/img/events/cpsweek-2026-tutorial/chadlia-jerad.jpg b/static/img/events/cpsweek-2026-tutorial/chadlia-jerad.jpg new file mode 100644 index 000000000..c58fe22f8 Binary files /dev/null and b/static/img/events/cpsweek-2026-tutorial/chadlia-jerad.jpg differ diff --git a/static/img/events/cpsweek-2026-tutorial/edward-lee.jpg b/static/img/events/cpsweek-2026-tutorial/edward-lee.jpg new file mode 100644 index 000000000..f46f69bb0 Binary files /dev/null and b/static/img/events/cpsweek-2026-tutorial/edward-lee.jpg differ diff --git a/static/img/events/cpsweek-2026-tutorial/hokeun-kim.jpg b/static/img/events/cpsweek-2026-tutorial/hokeun-kim.jpg new file mode 100644 index 000000000..65fa0daa3 Binary files /dev/null and b/static/img/events/cpsweek-2026-tutorial/hokeun-kim.jpg differ