ReactiveML, un langage fonctionnel pour la programmation réactive
Les systèmes réactifs tels que les interfaces graphiques, les jeux vidéo ou les problèmes de simulation se caractérisent par une interaction permanente entre des entités concurrentes et fortement synchronisées. Les deux techniques de programmation classiques sont fondées sur l'utilisation de threads ou de boucles d'événements. Dans cet article, nous présentons REACTIVEML, un langage dédié à la programmation de systèmes réactifs et offrant une alternative plus sûre à ces deux techniques. REACTIVEML est une extension de OCAML fondée sur le modèle réactif synchrone de Boussinot. Ce modèle reprend des principes du synchrone composition parallèle déterministe et communication par diffusion avec la possibilité de créer des canaux ou des processus dynamiquement. Cet article présente les principales constructions du langage REACTIVEML, son système de type et sa sémantique.
Reactive systems such as graphical interfaces, video games or simulation problems are characterized by a permanent interaction between strongly synchronised parallel entities. The two classical programming techniques are based on the use of threads or event loops. In this paper, we introduce the REACTIVEML language as a safer alternative to those classical techniques. REACTIVEML is an extension of OCAML and is founded on the synchronous reactive model of Boussinot. This model combines the synchronous model of time which provides both parallel composition and instantaneous communications with the ability to dynamically create channels or processes during the execution. This paper presents the language, its type system and its formal semantics.
L.MANDEL, M.POUZET
programmation réactive synchrone, programmation fonctionnelle, concurrence, typage, sémantique formelle.
synchronous reactive programming, functional programming, concurrency, typing formal semantics.
Français
|