Seminar Programme
As usual, the technical programme was created and updated dynamically during the conference.
Monday 18/Nov/24
08:00 - 09:00 | Registration & Welcome | |
09:00 - 10:00 | Invited Talk: Jean-Baptiste Jeannin | Synchronous Programming with Refinement Types |
10:00 - 10:30 | Erwan Jahier, Pascal Raymond | Lustre Multi-tasks |
10:30 - 11:00 | Coffee break | |
11:00 - 11:45 | Reinhard von Hanxleden, Alexander Schulz-Rosengarten, Jette Petzold | Three Generations of Steam Boiler Models in SCCharts(7.1 MB) |
11:45 - 12:30 | Manuel Serrano, Robby Findler | The Functional, the Imperative, and the Sudoku |
13:00 - 14:30 | LUNCH | |
15:00 - 15:45 | Rui Chen | Towards Coherent Semantics: A Quantitatively Typed EDSL for Synchronous System Design(2.3 MB) |
15:45 - 16:30 | Benoît Caillaud | Fault Diagnosability Analysis of Multi-mode Systems(8.1 MB) |
16:30 - 17:00 | Coffee break | |
17:00 - 17:45 | Marc Pouzet | Forward: an Array Iteration in a Stream Language or Iterating in Space with an Iteration in Time(563.0 KB) |
19:00 - 22:00 | Informal Welcome Reception (AULA) |
Tuesday 19/Nov/24
09:00 - 10:00 | Invited Talk: Romain Michon | Evolution of Real-Time Audio Signal Processing Through the Lens of Timing and Synchronicity |
10:00-10:30 | Bruno Ferres, Pascal Raymond | A Transistor Level Relational Semantics for Electrical Rule Checking by SMT Solving |
10:30 - 11:00 | Coffee break | |
11:00 - 11:45 | Logan Kenwright | The Case for a Latency-aware Synchronous Language for Distributed Systems (Timetide) |
11:45 - 12:30 | Partha Roop | Safe Reinforcement Learning of Autonomous Systems using Run-time Enforcement |
13:00 - 14:30 | LUNCH | |
14:30 - 15:15 | Kees Goossens | A Real-Time Deterministic Multicore Platform and Its Modelling(10.6 MB) |
15:15 - 16:00 | Jiawei Chen | Towards a Refinement Type System for Hybrid Synchronous Program Verification |
16:00 - 16:30 | Coffee break | |
16:30 - 17:15 | Fahimeh Bahrami | Behavioral-Level Exploration through Automatic Pattern Identification and Rule-Based Transformations |
17:15 - 18:00 | Aron Jeremiah (University of Auckland) | To Dose or Not to Dose: An exploration on the impacts of Micro-dosing LSD on Sleep |
Wednesday 20/Nov/24
09:00 - 10:00 | Invited Talk: Koen Claessen
| Combining Functional Reactive Programming and Lustre(2.2 MB) |
10:00 - 10:30 | Paul Jeanmaire | |
10:30 - 11:00 | Timothy Bourke | An attempt at multithreading via integer linear programming for rate-synchronous Lustre(432.3 KB) |
11:30 - 13:00 | LUNCH | |
13:00 - 19:00 | OUTING, FIELD TRIP | |
20:00-22:30 | SOCIAL DINNER | Restaurant Brudermühle, Schranne 1, 96049 Bamberg |
Thursday 21/Nov/24
08:30 - 10:45 | Guided Tour Concert Hall; Admission to Rehearsal of Bamberg Symphony Orchestra ; Free Co-Working at AULA/Dominican Church | |
11:15-12:00 | Claude Stolze, Michael Mendler | Encoding Esterel in Synpatick(463.9 KB) |
12:00-12:30 | Luigi Liquori | Forging Labels in Synpatick |
12:30 - 14:00 | LUNCH | |
14:45 - 15:30 | Grégoire Bussone | Reducing copies in a Lustre-like language with arrays(264.3 KB) |
15:30 - 16:15 | Kees Goossens | CompSoc Demo |
16:15 - 16:45 | Coffee break | |
16:45 - 17:15 | Nathan Allen (The University of Auckland / Auckland University of Technology) | Synchronous Execution and Verification of Spiking Neural Networks |
17:15 - 18:00 | Sobhan Chatterjee (University of Auckland) | Exploring Policy-based training and enforcement of Compositional Neural Networks(2.0 MB) |
18:00 - 18:30 | Jean-Baptiste Jeannin | What is a Zero-Crossing? |
Friday 22/Nov/24
09:00 - 09:45 | Marc Pouzet | Causality analysis: A type-based representation(389.3 KB) |
09:45 - 10:30 | Koen Claessen | Developing the semantics of the new programming language Verse for games and proofs, using a rewrite system |
10:30 - 11:00 | Coffee break
| |
11:00 - 12:15 |
| Open Discussion & Coworking |
12:15 - 12:30 | Closing & Farewell | |
12:30-13:00 | LUNCH |
Invited Talks
- Jean Baptiste Jeannin, Department of Aerospace Engineering, University of Michigan at Ann Arbor, USA
Synchronous Programming with Refinement Types
This talk will present MARVeLus, a cyber-physical systems language which combines verification, simulation, and implementation. The language is based on Zélus, a modern version of Lustre, where we add refinement types and associated typing rules. Our refinement types can express temporal-logic-based safety properties and prove them using a rich type system in the style of deductive verification. The language comes with an implementation, and a platform enabling execution on physical robots. Although our current implementation is limited to verifying properties about discrete constructs of Zélus, the talk will also present early efforts extending the proof systems to continuous constructs of Zélus, inspired by the theory of differential dynamic logic.
- Romain Michon, INRIA, INSA Lyon, Centre Nationale de Création Musicale (GRAME), France
Evolution of Real-Time Audio Signal Processing Through the Lens of Timing and Synchronicity
From the early ages of music to advanced virtual acoustics rendering systems used in nowadays' concert halls, timing and synchronicity always played a central role in the context of human-made sound production. This evolution culminated during the second half on the twentieth century with real-time digital audio signal processing systems which can now be found everywhere in our day-to-day life: smartphones, televisions, laptops, cars, virtual reality systems, etc. In this talk, we start by examining how complex rhythmic structures in music helped to solidify our understanding of clocking systems. We demonstrate that latency always played a central role in sound production, from large organs in highly reverberant churches to systems for room acoustics active control requiring sub-millisecond latency. Finally, we give an overview of the state of the art of modern technologies for real-time audio signal processing, before presenting ongoing research carried out in this very active field. Throughout this presentation, we also emphasize how the fields of music and audio in general have always been following the technological progresses that shaped their time.
- Koen Claessen, Chalmers University of Technology, Gothenburg, Sweden
Combining Functional Reactive Programming and Lustre
We are interested in methods for programming small IoT devices that run on batteries. We regard these as reactive real-time systems that (1) can react to external events that happen occasionally (such as sensors that trigger), (2) must have precise timing behavior, and (3) are otherwise mostly asleep for power reasons. We have previously developed a language called Scoria (based on the Sparse Synchronous Model) that tries to fill this niche. However, Scoria is an imperative language with processes that can be started dynamically, which means no guarantees about bounded memory and no easy route to formal verification.
In this talk, we explore how we can use a more declarative approach to this problem, with run-time guarantees about timing and bounded memory behavior, and enabling formal verification easily. An obvious choice is to use Lustre; however the semantics (a clock that always ticks) and typical implementations of Lustre do not fit well with only reacting to external events and otherwise being asleep. Functional Reactive Programming (FRP) provides key semantic concepts for declarative reasoning about reactive systems, but its existing implementations are way too expressive to have any runtime guarantees close to the guarantees of Lustre. We have developed a restricted variant of FRP specifically targeted to be used in a Lustre-like language that allows for a declarative style of programming reactive (and mostly at-rest) real-time systems while at the same time guaranteeing bounded memory use, and enabling easy formal verification.
These ideas have all been implemented in a rough prototype language embedded in Haskell called Frustre.