Projet Meije

previous up next contents
Précédent : Grands domaines d'application Remonter : Projet MEIJE, Parallélisme, Synchronisation et Suivant : Résultats nouveaux



Logiciels

Esterel

 

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.

Fc2Tools



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/  .

SugarCubes



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 :

$\bullet$ 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.

$\bullet$ 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.

$\bullet$ 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  .

Programmation par icobjs



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  .


previous up next contents Précédent : Grands domaines d'application Remonter : Projet MEIJE, Parallélisme, Synchronisation et Suivant : Résultats nouveaux