Précédent : Grands domaines
d'application Remonter : Projet
MEIJE, Parallélisme, Synchronisation et Suivant :
Résultats nouveaux
Participants : Gérard Berry , Xavier Fornari , Jean-Paul
Marmorat , Gilles Roux , Horia Toma
Mots-clés : Esterel, compilateur, synthèse
Résumé : Le compilateur Esterel v5 traduit les programmes Esterel en circuits ou programmes C. Il comporte également un simulateur-débogueur, des optimiseurs et des modules de vérification automatique de propriétés.
Le compilateur Esterel v5 consiste en plusieurs processeurs
permettant de produire des codes objets pour des cibles
matérielles ou logicielles. L'environnement de programmation
contient également un simulateur-débogueur graphique permettant
de mettre au point les programmes, des optimiseurs spécialisés
fondés sur des techniques de calcul booléen, et des interfaces
vers des systèmes de vérification automatique de propriétés.
Le compilateur a été conçu de façon préindustrielle pour offrir de bonnes performances et une grande robustesse. Il est diffusé sur le Web en version binaire d'évaluation à l'URLhttp://www.inria.fr/meije/esterel/ . Il est industrialisé et diffusé par la société Simulog. Les sociétés Dassault Aviation et Synopsys en ont également acquis des licences sources.
Participants : Amar Bouali , Michel Bourdellès , Eric
Madelaine , Annie Ressouche , Valérie Roy , Robert de Simone
Mots-clés : bisimulation, BDD, abstraction, minimisation,
réduction, comparaison, observateur
Résumé : Cette boîte à outils forme la nouvelle génération du logiciel Auto/Graph. Elle permet l'analyse par modèles des systèmes parallèles communicants, synchrones ou asynchrones.
Les modules logiciels rassemblés dans Fc2Tools autorisent
l'édition graphique, la réduction compositionnelle (par
abstraction et minimisation d'états), ainsi que la comparaison de
systèmes parallèles communicants. Ils permettent également
d'extraire des chemins d'exécutions comme contre-exemples
éventuels de propriétés d'absence de blocage ou de fatalité. Une
méthodologie basée sur la mise en parallèle d'observateurs
opérationnels avec le système permet de ramener la validation
d'autres propriétés à ces cas simples.
Les outils utilisent pour une part des méthodes symboliques, à base de diagrammes de décision binaires, pour la représentation implicite d'espaces d'états. D'autres modules opèrent sur des représentations explicites de machines à états finis, dans une approche de minimisation compositionnelle. Les systèmes considérés peuvent être des spécifications de systèmes parallèles communicants exprimés dans une algèbre de processus (comme CCS ou Lotos), ou des programmes réactifs synchrones (provenant principalement d'Esterel). Dans le second cas une interface graphique conviviale XEVE permet une activité d'analyse simple pour les utilisateurs d'Esterel non spécialistes.
Les développements BDD se fondent sur la bibliothèque TIGER, initialement développée à DEC-Prl et commercialisée par la société Xorix.
Nos outils de vérification, ainsi que des descriptifs et leur documentation technique, sont disponibles par ftp ou sur Internet à l'URL http://www.inria.fr/meije/verification/ .
Participants : Frédéric Boussinot , Jean-Ferdy Susini
Mots-clés : parallélisme, Java, diffusion d'événements
Les SugarCubes [18] sont un ensemble de classes
Java pour implémenter des systèmes comme :
Les systèmes événementiels, en particulier ceux
dans lesquels les événements sont diffusés. La communication est
alors analogue à la radio dans laquelle les émetteurs envoient
des informations qui sont instantanément reçues par tous les
récepteurs.
Les systèmes parallèles, en particulier ceux qui
n'utilisent pas de threads. Dans ce cadre, le parallélisme est
uniquement un moyen logique d'implémenter des activités qui
doivent s'exécuter en concurrence et non en séquence.
Les systèmes réactifs qui réagissent de manière
continue aux activations de leur environnement.
Les classes SugarCubes sont utilisées pour implémenter les scripts réactifs et la programmation par icobjs au dessus de Java. Elles sont disponibles sur le Web à l'URLhttp://www.inria.fr/meije/rc/SugarCubes .
Participants : Frédéric Boussinot , Jean-Ferdy Susini
Mots-clés : parallélisme, icône, script, programmation
réactive
La programmation par icobjs propose un
mécanisme puissant de combinaison de comportements. Cette
programmation repose sur une notion d'«icobj» [19] qui regroupe dans une même
entité un aspect comportemental (caractéristique «objet»), un
aspect graphique (caractéristique «icône») et un aspect
«animation». Cette programmation par icobjs permet le
parallélisme, la communication par événements diffusés ainsi que
la migration à travers le réseau. Les scripts réactifs donnent
une sémantique aux icobjs et servent à les implémenter.
Un premier système de programmation par icobjs réalisé au dessus de Tcl/Tk a reçu un prix au Pirelli International Award'96.
Un second système, appelé WebIcobj, implémente la
programmation par icobjs, à travers une démo ludique disponible
sur le Web. Le système WebIcobj est implémenté sous forme d'une
applet Java avec les classes SugarCubes et est disponible à l'URL
http://www.inria.fr/meije/rc/WebIcobj
.