Une approche synchrone pour l'intégration du contrôle / Sylvan Dissoubray ; sous la direction de Gilles Kahn

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : français / French

Logiciels -- Développement

Logiciels -- Vérification

Langages de programmation

Esterel (langage de programmation)

Sémantique opérationnelle

Spécifications

Reconfiguration (informatique)

Kahn, Gilles (1946-2006) (Directeur de thèse / thesis advisor)

André, Charles (19..-.... ; ingénieur) (Président du jury de soutenance / praeses)

Caspi, Paul (1944-2012 ; informaticien) (Rapporteur de la thèse / thesis reporter)

Vidal-Naquet, Guy (1946-....) (Rapporteur de la thèse / thesis reporter)

Boussinot, Frédéric (1951-....) (Membre du jury / opponent)

Franchi-Zannettacci, Paul (19..-....) (Membre du jury / opponent)

Le Guernic, Paul (Membre du jury / opponent)

Université de Nice (1965-2019) (Organisme de soutenance / degree-grantor)

Université de Nice-Sophia Antipolis. Faculté des sciences (Autre partenaire associé à la thèse / thesis associated third party)

Relation : UNE APPROCHE SYNCHRONE POUR L'INTEGRATION DU CONTROLE / Sylvan Dissoubray ; sous la direction de G. Kahn / Grenoble : Atelier national de reproduction des thèses , 1996

Résumé / Abstract : Nous nous intéressons à la construction d'applications intégrées par assemblage de composants logiciels. Plus précisément, nous étudions la spécification du contrôle qui coordonne les interactions entre les composants pour obtenir le fonctionnement d'ensemble voulu. Nous considérons plusieurs approches : les bus logiciels SOPHTALK, les relations de dépendance liens et le langage réactif synchrone ESTEREL. Ce dernier a l'avantage de posséder une sémantique rigoureuse et déterministe, mais il ne peut être utilise que si le nombre d'objets à contrôler est connu à l'avance. Pour traiter les cas plus dynamiques, nous proposons d'ajouter à ESTEREL une primitive de reconfiguration. Nous appelons cette instruction reconfigure et nous la définissons par extension de la sémantique comportementale d'ESTEREL. Ensuite, nous étendons aussi la sémantique opérationnelle qui fournit un interprète du langage modifié qui vérifie la cohérence pendant l'exécution. Nous examinons ensuite l'analyse statique de la causalité qui permet de vérifier la cohérence des programmes à la compilation. La nouvelle instruction introduit une forme de récursion et rend cette analyse impossible en toute généralité. Nous discutons quelques pistes applicables dans des cas restreints. Ceci permet d'espérer caractériser des classes de programmes reconfigurables dont la correction causale peut quand même être établie statiquement. Enfin, nous illustrons l'utilisation d'ESTEREL et reconfigure avec deux exemples souvent rencontres dans les environnements de programmation réalisés à l'aide du système CENTAUR.

Résumé / Abstract : This thesis deals with the construction of integrated applications by assembling software components. More precisely, we study the specification of the control that coordinates the interactions between the components in order to obtain the required global operation. We consider several approaches: the SOPHTALK software buses, the LIENS dependency relations and the reactive synchronous language ESTEREL. The latter has an advantage due to its rigorous and deteministic semantics, but it can be used only when the number of components to control is known in advance. To deal with more dynamic cases, we propose adding a reconfiguration primitive to ESTEREL. We define this instruction – named reconfigure – by extending the behavioural semantics of ESTEREL. Then, we also extend the operational semantics that provides an intepreter of the modified language; this interpreter ensures the coherence of programs at run time. We subsequently study the static analysis of causality that allows verifying the coherence of programs at compile time. The new instruction introduces a form of recursion that prevents this analysis to be done in full generality. We discuss several possibiities that are applicable to restricted cases. This leaves hope for characterising classes of reconfigurable programs that can still be causally checked at compile time. Finaly, we illustrate the use of this extension of ESTEREL by two examples often seen in programming environments created with the CENTAUR system.