Timothy Bourke INRIA Paris-Rocquencourt École normale supérieure Programming hybrid systems with synchronous languages ----------------------------------------------------- Synchronous languages are a well-developed approach for programming discrete control software and hardware. But, the success of tools like Simulink and Modelica for developing embedded software indicates the importance of features for modelling and simulating physical components. In recent work, we have shown how to extend a discrete dataflow language with features for expressing continuous behaviour using Ordinary Differential Equations. Starting from a synchronous language gives three main advantages. First, the discrete components in a hybrid model can be expressed in a reactive language that can be efficiently compiled to run in bounded space and time. Second, a novel type system and source-to-source transformation allows existing synchronous compilers and off-the-shelf numerical solvers to be reused for simulating programs. Third, studying hybrid modellers from the viewpoint of synchronous languages clarifies aspects of their semantics and design. This talk will summarise recent research and a prototype compiler developed in collaboration with Marc Pouzet at the École normale supérieure at Paris, and Albert Benveniste and Benoît Caillaud at INRIA Rennes-Bretagne Atlantique.