Seminar/2008-11-05

From LRDE

Mercredi 5 novembre 2008, 14h-17h, Amphi 2


Représentation efficace des données complexes dans un intergiciel schizophrène

Thomas Quinot, AdaCore

Dans un intergiciel schizophrène, une représentation intermédiaire des interactions entre composants applicatifs est construite et manipulée. Cette représentation est neutre vis-à-vis du choix d'une personnalité application (interface entre les composants et l'intergiciel) et d'une personnalité protocolaire (interface entre intergiciels distants). Elle rend possible le découplage entre ces deux aspects.

Cette représentation doit préserver la structure des données associées aux interactions. Cependant, sa construction in extenso s'avère coûteuse dans le cas de données composites complexes. Cette conversion peut être économisée en remplaçant la réplication complète de la structure par la définition d'un emballage « fantôme » autour de celle-ci (et de chacun de ses composants) : il suffit que cet emballage fournisse les accesseurs permettant de parcourir la structure et de construire un message la représentant.

Après avoir présenté un exemple concret de représentation neutre des données structurées, nous montrons comment cette optimisation peut être mise en oeuvre pour réaliser de manière efficace la fonction de représentation dans un intergiciel schirophrène. Nous concluons cette discussion par une évaluation du gain de performance ainsi obtenu.

Thomas Quinot est docteur de l'Université Paris VI. Ses travaux de thèse ont porté sur la définition d'une architecture d'intergiciel flexible pour l'interopérabilité entre modèles de répartition. Il est aujourd'hui Senior software engineer chez AdaCore, éditeur d'outils pour le développement de systèmes embarqués, temps réel et critiques, où il est notamment responsable des produits pour applications réparties.

http://www.adacore.com



Construire une application robuste sans faire exploser les coûts

Samuel Tardieu, TELECOM ParisTech

Le langage Ada est connu pour sa sûreté intrinsèque : son typage fort, ses mécanismes de contrôle de valeurs et son système d'exceptions notamment permettent d'avoir une grande confiance en les programmes. Comme dit le vieux proverbe, « En Ada, quand ça compile, ça marche ».

Cependant, une des puissances d'Ada provient également de ses systèmes de vérification lors de l'exécution du programme. Par exemple, si une valeur se trouve en dehors de l'intervalle qui lui était autorisé, une exception, rattrapable par le langage, sera automatiquement levée. Ce système de vérification dynamique a bien évidemment un coût. Nous verrons comment le système de compilation GNAT mélange analyse statique et vérification lors de l'exécution pour fournir la totalité des garanties définies par le langage tout en minimisant les surcoûts et la perte de performance.

Samuel Tardieu est enseignant-chercheur à TELECOM ParisTech. Ses domaines d'activité incluent notamment la compilation et la génération de code. Il est également un des développeurs du système de compilation GCC, et intervient plus particulièrement au niveau de GNAT, le compilateur Ada de GCC.

http://www.rfc1149.net