Programmation Réactive Synchrone, Langage et Contrôle des Ressources - Archive ouverte HAL Access content directly
Theses Year : 2007

Programmation Réactive Synchrone, Langage et Contrôle des Ressources

(1, 2)
1
2

Abstract

Reactive system continuously interact with an environment.
Synchronous languages (a family of languages dedicated to
the design of such systems) are used to describe parallel
behaviours running in a synchronous way, with respect to a
logical clock associated to an instantaneous broadcast of
the information.
The design of those languages enables a compilation of
programs to sequential code, finite state automata or circuits.
Yet the constraints set on their design to reach this goal restrict
their use to very specific fields.
Reactive programming is a paradigm based on a relaxation of those
constraints. More precisely, it is inspired by the Esterel language
and may be used for programming, e.g., event driven controllers, graphical
user interfaces, physical simulations, web services and multi-player games.
This document, split into two parts, deals with the notion
of safety in the framework of reactive programming.
In the first part, we consider the issue of controlling, by means
of a static analysis, the resources needed to run programs of
a synchronous process algebra inspired by the reactive paradigm.
In the second part, we are interested in programming multicore architectures.
We propose a programming discipline, enforced by a static analysis, which
extends to a more general framework the advantages of the
purely cooperative approach (scheduling) used in various languages
based on the reactive paradigm.
La notion de système réactif désigne des systèmes qui maintiennent une
interaction permanente avec un environnement donné. La famille des
langages synchrones regroupe un des langages de programmation
dédiés à la conception de tels systèmes. De manière générale, ces langages
permettent de décrire le comportement de composants parallèles qui
s'exécutent de manière synchrone, relativement à une horloge logique sur
laquelle repose un mécanisme de diffusion instantanée de l'information.
La conception de ces langages permet un ordonnancement statique des composants
parallèles et une compilation des programmes vers du code séquentiel, des
automates à états finis ou des circuits. En contrepartie, les contraintes
imposées sur ces langages limitent leur utilisation à des domaines très
spécifiques. La programmation réactive désigne un paradigme de programmation
qui repose sur une relaxation de ces contraintes. Ce paradigme de
programmation, inspiré plus particulièrement par le langage Esterel, propose
un type de programmation concurrente plus général ayant pour objectif la
réalisation, par exemple, de controleurs "event driven", d'interfaces graphiques
, de simulations physiques, de service web et de jeux multi-joueurs.
Ce document porte sur la notion de logiciel sur dans le cadre de la
programmation réactive.
Dans la première partie, nous nous intéressons à la question du
controle statique des ressources nécessaires à l'exécution d'un programme
pour une algèbre de processus synchrone inspirée par le paradigme réactif.
Dans la seconde partie, nous nous intéressons à la question de
l'utilisation de la programmation réactive pour le développement
d'applications adaptées aux architectures multicores.
Plus précisèment, nous nous reposerons sur une analyse statique
des programmes permettant d'étendre dans un cadre plus générale
(vrai concurrence) les avantages d'une approche purement coopérative
de l'ordonnancement des threads choisie par plusieurs implémentations
de langages basés sur le paradigme réactif.
Fichier principal
Vignette du fichier
dabrowski-phd.pdf (780.03 Ko) Télécharger le fichier
Loading...

Dates and versions

tel-00151974 , version 1 (05-06-2007)

Identifiers

  • HAL Id : tel-00151974 , version 1

Cite

Frederic Dabrowski. Programmation Réactive Synchrone, Langage et Contrôle des Ressources. Génie logiciel [cs.SE]. Université Paris-Diderot - Paris VII, 2007. Français. ⟨NNT : ⟩. ⟨tel-00151974⟩
708 View
710 Download

Share

Gmail Facebook Twitter LinkedIn More