Thèse de Julien Bertrane Thèse de Julien Bertrane réalisée sous la direction de Patrick Cousot.

Analyse statique de systèmes synchrones communicant à horloges imparfaites par interprétation abstraite à temps-continu

Static analysis of communicating imperfectly-clocked synchronous systems using continuous-time abstract domains

Il est courant de programmer les systèmes de contrôles des systèmes embarqués dans des langages synchrones. Ceux-ci postulent que les événements se produisent simultanément dans tout le système lors d'instants particuliers : les tics d'une horloge. Mais de nombreux systèmes doivent être construits autour de plusieurs horloges qui de plus peuvent se désynchroniser. Nous proposons une sémantique temps-continu qui non seulement permet de rendre compte des imperfections de façon réaliste mais aussi permet la définition de domaines abstraits plus rapides, plus simples et plus précis permettant la preuve de certaines spécifications temporelles complexes.


Synchronous programming is a formalism well adapted to the development of computer systems controlling embedded systems. It is based on the idea of the repeated synchrony of some tasks (at clock ticks). However, it is often necessary to use multi-clock systems. Furthermore, physical clocks may desynchronize. We believe that giving such a system a continuous-time semantics does not only enable modeling in a more realistic way the actual execution but also enables defining faster more precise and less costly abstract domains that can prove some of the temporal specifications of such systems.

  • Manuscrit de thèse (non-final) / PhD manuscript (draft)

    English version here

    La soutenance aura lieu vendredi 28 novembre 2008 à 10H00 en salle Dussane, à l'ENS (45 rue d'Ulm, Paris 5ème).

    Résumé :

    Les systèmes de contrôles des systèmes embarqués sont souvent conçus dans des environnements qui considèrent le temps comme continu et qui modélisent sous forme d'équations différentielles ces systèmes ainsi que l'environnement avec lequel ils interagissent.

    Ces systèmes sont ensuite discrétisés (selon une horloge) et programmés dans des langages synchrones. Mais de nombreux systèmes doivent alors être construits de façon plus complexe autour de plusieurs horloges qui peuvent alors se désynchroniser.

    Nous proposons une sémantique non-standard à temps-continu qui permet de rendre compte des imperfections matérielles de façon réaliste et des difficultés du cas multi-horloge. Mais elle permet surtout la définition de domaines abstraits plus rapides, plus simples et plus précis, capables de prouver certaines spécifications temporelles complexes des systèmes.

    Nous proposons une description d'un prototype d'analyseur statique implémenté en Ocaml, qui abstrait cette sémantique temps-continu en un produit-réduit de plusieurs domaines abstraits. Ces domaines formalisent la manipulation automatique des notions suivantes, en tenant compte de leur forte dimensions temporelle : - les relations entre la valeur d'une variable et le temps, - la stabilité et l'instabilité des valeurs, - les propriétés quantitatives des variables, comme leur intégrale au cours du temps.

    Le jury sera composé de :


    Je vous invite à assister à cette soutenance et à participer au pot qui suivra vers 12H00 en salle S16 (à l'étage -1 de l'immeuble "ancien Rateau", pas loin de la machine à café et de mon bureau).

  • English version

    My PhD defense will be held on friday, November the 28th, 2008, at 10AM in room Dussane, in the ENS (45 rue d'Ulm, Paris 5ème).

    Abstract:

    The common way to design the computerized control of embedded systems is to describe their behavior as well as the environment they evolve in as differential equations in a framework (e.g. Simulink) that is able to study and combine such equations.

    These equations are then discretized (according to a clock) so that they can programmed in a synchronous language. However, more complex system are often necessary, in particular multi-clock systems, but their physical clocks may desynchronize, which makes them difficult to study.

    We believe that giving such a system a continuous-time semantics does not only enable modeling in a more realistic way the actual execution (including hardware imperfections and the multiple clock case) but enables moreover defining faster, more precise and less costly abstract domains that can prove some of the temporal specifications of such systems.

    We introduced a framework that enables an automatic static analysis, based on several abstractions of this continuous-time semantics and their interactions through reductions. It reasons abstractly about the following high-level properties, which are closely related to temporal aspects: - relation between constant values and the time, - stability and instability of values, - quantitative properties, i.e. integral or close notions. This framework led to the implementation of a prototype of analyzer.

    The jury will be :


    I warmly invite you to be present and then to have a drink all together around 12AM in room S16 (in the basement of the "old Rateau" building, next to the coffee machine and to my office).