Sur la répartition de programmes synchrones - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 1994

Sur la répartition de programmes synchrones

Résumé

Synchronous programming has been introduced to facilitate the design and programming of reactive systems (systems that react continuously to their environment, the latter being unable to synchronize itself with the system). These systems are very often distributed, be it for reasons of physical implementation, performance enhancement or fault tolerance. Besides, the works on synchronous language compilation have led to represent programs by means of finite state automata: this is the OC format. Thus this work deals with the automatic distribution of OC programs. The main difficulty is to ensure the functional and temporal equivalence between the initial centralized program and the distributed program, as well as to prove formally this equivalence. We also take pains to minimize locally the control structure of each distributed program. In order to achieve this, we design an original ``on the fly'' test reduction algorithm, using bisimulation techniques. On the other hand, we completely define the execution environment of distributed programs. Our main concern here is to achieve the most faithful solution to the centralized execution. Finally, so as to explain the desynchronizations due to the distribution, we propose an original semantics of the synchronous language Lustre, semantics which is defined by partial orders.
La programmation synchrone a ete proposee pour faciliter la conception et la programmation des systemes reactifs (systemes dont le role est de reagir continument a leur environnement physique, celui-ci etant incapable de se synchroniser avec le systeme). Ces systemes sont tres souvent repartis, que ce soit pour des raisons d'implantation physique, d'amelioration des performances ou de tolerance aux pannes. En outre, les travaux sur la compilation des langages synchrones ont conduit a utiliser une representation interne des programmes sous forme d'un automate d'etats fini : c'est le format OC. Ce travail porte donc sur la repartition automatique des programmes OC. La principale difficulte est d'assurer l'equivalence fonctionnelle et temporelle entre le programme centralise initial et le programme reparti, et de prouver cette equivalence, ce qui est indispensable dans le domaine du temps reel critique. Nous nous attachons egalement a minimiser localement la structure de controle de chaque programme reparti. Pour cela nous developpons un algorithme original de reduction des tests ``a la volee'' utilisant des techniques de bisimulation. D'autre part nous definissons completement l'environnement d'execution des programmes repartis. Ici notre principal souci est de fournir une solution la plus proche possible de l'execution centralisee. Enfin dans le but d'expliquer les desynchronisations introduites par la repartition, nous proposons une semantique originale du langage synchrone Lustre, semantique definie par des ordres partiels.
Fichier principal
Vignette du fichier
tel-00005097.pdf (1.95 Mo) Télécharger le fichier

Dates et versions

tel-00005097 , version 1 (25-02-2004)

Identifiants

  • HAL Id : tel-00005097 , version 1

Citer

Alain Girault. Sur la répartition de programmes synchrones. Génie logiciel [cs.SE]. Institut National Polytechnique de Grenoble - INPG, 1994. Français. ⟨NNT : ⟩. ⟨tel-00005097⟩

Collections

UGA CNRS
194 Consultations
155 Téléchargements

Partager

Gmail Facebook X LinkedIn More