Projet : Cosi

previous up next contents
Précédent : SPART, Méthodes de spécification pour Remonter : Contrats industriels (nationaux, européens et Suivant : Mocat, modélisation et outils pour


   
CAIRN, co-design d'applications irrégulières et régulières par niveaux ( CTI Cnet, 95 1B 036)



Participants : Franck Bardoult, François Charot, Patrice Quinton, Sanjay Rajopadhye, Tanguy Risset.

Résumé :

Le projet CAIRN (avril 1995 - avril 1998) est une collaboration entre les projet Cosi et EP-ATR sur une convention CTI du CNET et de France-Télécom. CAIRN concerne l'utilisation conjointe des langages Signal et Alpha pour assembler de façon cohérente et homogène - sous forme d'atelier - des outils permettant la conception conjointe matérielle-logicielle d'une application.

Les recherches portent sur la dérivation d'architectures à partir de spécifications de haut niveau, d'une part pour des algorithmes réguliers et d'autre part pour des applications à contrôle complexe, en particulier temps réel. De par leurs propriétés, Signal et Alpha constituent deux langages particulièrement bien adaptés à la conception conjointe : Signal pour exprimer le contrôle, et Alpha pour les calculs réguliers. Une chaîne de co-design générique comprend la co-spécification d'une application donnée (spécification de l'application comme un ensemble d'éléments logiciels et matériels), la co-simulation (vérification du point de vue fonctionnel par des méthodes formelles ou par simulation) et co-synthèse (le partitionement de l'application, l'étude des différentes possibilités, la synthèse de la partie matérielle et la compilation du logiciel, ainsi que l'interfaçage entre ces deux parties).

Afin de pouvoir utiliser Signal et Alpha dans une chaîne de co-design, il faut définir entre les deux langages l'interface «la plus fine possible» ou le domaine d'intersection maximal. Dans ce but, une étude théorique a été menée dans les deux langages concernant les horloges périodiques et les problèmes posés par leur implémentation. Deux niveaux possibles d'interfaçage ont été précisés. Le niveau fonctionnel permet de décrire une application au niveau algorithmique avec certaines parties en Signal et d'autres en Alpha. Le niveau élément permettra de définir des communications entre Signal et Alpha au niveau des variables atomiques (éléments des matrices à envoyer au circuit à chaque top d'horloge par exemple). On peut donc mettre en oeuvre un protocole de communication beaucoup plus rapide puisque les communications seront connues statiquement.

Le travail de recherche effectué dans CAIRN a porté sur les points suivants :



previous up next contents
Précédent : SPART, Méthodes de spécification pour Remonter : Contrats industriels (nationaux, européens et Suivant : Mocat, modélisation et outils pour