Projet Ep-Atr

Précédent : Résultats nouveaux
Remonter : Projet EP-ATR, Environnement de programmation
Suivant : Actions régionales, nationales et
internationales
Participants : Thierry Gautier , Paul Le Guernic , Irina
Smarandache
Résumé : Le projet Cairn («Codesign d'Applications
Irrégulières et Régulières par Niveaux»), action de France
Télécom-Cnet, regroupe les projets Api et
EP-ATR,
sur le thème de la conception conjointe logiciel/matériel en
utilisant les langages Signal et Alpha.
Le travail sur le projet Cairn, mis en place dans le cadre des
consultations thématiques de France Télécom-Cnet sur le thème
«Techniques et outils pour la conception conjointe
logiciel/matériel (codesign)», a débuté il y a bientôt trois ans.
Cette action regroupe les projets Api et
EP-ATR et
porte sur l'utilisation conjointe des langages Signal et Alpha
pour la spécification, la simulation et la réalisation matérielle
et logicielle d'une application [22]; l'accent est mis plus
particulièrement sur la conception d'applications embarquées de
traitement de signal et d'images, pour lesquelles on peut tirer
profit des propriétés complémentaires des deux langages.
Les points de recherche suivants ont donc été
abordés :
- l'intégration des deux langages et l'étude théorique du
problème d'«interfaçage» entre structures régulières (Alpha) et
irrégulières (Signal);
- l'interface de ces langages à
VHDL ainsi qu'à des générateurs
logiciels ciblant différentes technologies
FPGA, circuits
VLSI, réseaux de processeurs
SIMD et/ou systoliques, frontaux
(langage C);
- la conception d'outils de transformation de spécifications,
permettant ainsi des manipulations de spécifications adaptées
aux différentes technologies visées;
- l'évaluation de techniques de conception ainsi que
l'identification de stratégies de conception (choix des
technologies cibles, vérification, simulation).
Concernant le premier point mentionné ci-dessus, deux niveaux
d'interfaçage entre les langages Signal et Alpha ont été étudiés
et simulés en utilisant le langage C. L'étude théorique de
l'interfaçage a généré par ailleurs la nécessité d'étendre les
langages avec des concepts nouveaux. Dans ce cadre, les
transformations affines [28] d'horloges ont été
étudiées et implémentées en Signal; elles sont l'objet de la
thèse d'I. Smarandache, en cours de finalisation.
Participants : Albert Benveniste , Paul Le Guernic ,
Jean-Pierre Talpin
Résumé : Le projet Reutel (programme Arctica du
Ministère de l'Industrie : «Outils et techniques pour
applications de télécommunications réutilisables») a pour
objectif l'intégration d'outils permettant le développement
d'applications distribuées et sûres en télécommunications.
Dans le cadre du projet Reutel, financé par le programme Arctica
du Ministère de l'Industrie, nous avons défini un langage de
spécification permettant de décrire l'interaction entre les
composants ou objets d'une application distribuée temps réel,
BDL. L'objectif du projet Reutel est
l'intégration d'outils de compilation, de vérification, de test
pour le développement d'applications distribuées temps réel en
télécommunications. L'établissement d'un modèle formel de ce type
d'application est l'activité centrale du projet.
Participants : Patricia Bournai , Michel Le Borgne , Paul
Le Guernic , Hervé Marchand
Résumé : Deux nouvelles conventions avec
EDF ont été mises en place, dans la
suite des collaborations antérieures : l'une concerne le
développement d'un outil de démonstration d'une méthode de
synthèse d'automatismes; la seconde a pour but l'étude des
systèmes dynamiques polynomiaux sous observations partielles.
Suite à la convention Inria-EDF,
entamée en décembre 1993 (avec Mazen Samaan, de la direction des
études et recherches, Département Contrôle Commande des
Centrales), concernant la conception d'automates de contrôle de
postes de transformation électrique, deux nouvelles conventions
avec EDF ont été signées. La première
concerne le développement d'un outil de démonstration de la
méthode de synthèse d'automatismes, méthode qui était l'objet de
la convention entamée en 1993. Cet outil permet de spécifier des
automatismes décrits en Signal, d'exprimer des propriétés sur ces
programmes ainsi que des objectifs de contrôle; ces propriétés
peuvent ensuite être vérifiées ou synthétisées par le logiciel de
calcul formel Sigali (voir section
). De plus, une
fois le contrôleur obtenu, il est possible que les équations de
contraintes supplémentaires ne soient pas suffisantes pour
déterminer de façon unique les entrées du processus à contrôler;
un solveur automatique d'équations algébriques a donc été
développé permettant de résoudre pas à pas l'indéterminisme de
manière à simuler le système contrôlé. La seconde convention
concerne l'étude des systèmes dynamiques polynomiaux sous
observations partielles. En général, dans les systèmes que l'on
cherche à contrôler, toutes les variables modélisant le système
sont observables, c'est-à-dire que leur valeur est disponible à
tout instant pour le contrôle, or dans la réalité, cette
situation idéale est exceptionnelle, l'observateur extérieur n'a
accès qu'à un sous-ensemble des variables du système. Cette étude
a donc porté sur les problèmes que pouvait engendrer la non
observabilité de certaines composantes du système.
Participants : Jean-René Beauvais , Albert Benveniste ,
Loïc Besnard , Thierry Gautier , Roland Houdebine , Paul Le
Guernic , Sylvain Machard , Éric Rutten , Yan-Mei Talpin-Tang
Résumé : Le projet Esprit Sacres («Safety Critical
Embedded Systems: From Requirements to System Architecture») a
pour objectif, dans une perspective de commercialisation de ses
résultats, de fournir aux concepteurs de systèmes critiques
embarqués une nouvelle méthodologie permettant de réduire
significativement le risque d'erreurs et le temps de
conception. L'approche proposée est multi-formalisme et
s'appuie sur des outils industriels existants, Statemate et
Sildex notamment, pour lesquels des outils de vérification
formelle et de génération de code réparti doivent être
intégrés. Le vecteur de cette intégration est le format commun
DC+.
Le projet Esprit 20897 IT
(R&D)
Sacres a débuté en novembre 1995. Il regroupe les organismes
suivants : Siemens (RFA), British Aerospace
(Grande-Bretagne), i-Logix (Grande-Bretagne), Inria (France),
Offis (RFA), Snecma (France), TNI
(France) et le Weizmann Institute (Israël) (ainsi que
SNI (RFA), jusqu'en mars 1997).
Le but du projet est de fournir aux concepteurs de systèmes
embarqués, en particulier de systèmes critiques sûrs de
fonctionnement, une meilleure méthodologie de conception
permettant de réduire significativement tant le risque d'erreurs
que le temps de conception. Pour cela, la validation des
spécifications initiales doit se faire à l'aide d'outils de
vérification formelle intégrés, et les phases de génération de
code, réparti notamment, doivent être automatisées.
L'approche proposée est multi-formalisme. Elle s'appuie sur un
certain nombre d'outils existants : Statemate/Statecharts,
Sildex/Signal, Sildex/ Grafcet, Timing Diagrams. Les résultats du
projet devront pouvoir être commercialisés par les partenaires
industriels vendeurs (i-Logix et TNI)
et utilisés avec succès par les partenaires industriels
utilisateurs (British Aerospace, Siemens et Snecma).
L'architecture de l'environnement Sacres, illustrée dans la
figure
,
montre qu'entre les langages à la disposition des utilisateurs,
les outils de vérification, de validation et ceux de génération
de code, le format d'échange DC+ joue
un rôle central.
Figure: Architecture globale de l'environnement
Sacres

Le format DC+, issu des travaux du
projet européen Synchron, sert de vecteur commun de
représentation, pour des programmes (et des propriétés) décrits
complètement ou partiellement à l'aide de Signal ou de
Statecharts, et à destination d'outils de vérification et de
génération de code.
Figure: L'architecture
DC+

Différents niveaux de DC+, ou
sous-formats, ont été identifiés (voir figure
). La
caractérisation de ces différents niveaux et des transformations
inter-niveaux (ou inter-formats), a pour objectif d'adapter une
représentation aux fonctions qui peuvent lui être appliquées.
Ainsi, le sous-format bDC+ (pour
«boolean DC+»), dans lequel les
horloges, représentées comme des flots booléens, sont organisées
en une hiérarchie pour laquelle il existe une horloge maîtresse,
est le point d'entrée adéquat pour des outils s'appuyant sur la
hiérarchie des horloges, comme par exemple des générateurs de
code.
Le sous-format STS (pour «Symbolic
Transition Systems») de bDC+, dans
lequel la hiérarchie des horloges est plate (le statut
présent/absent d'un signal est défini à tout instant par un
booléen), est utilisé en entrée d'outils de vérification.
Les transformations inter-formats,
DC+
bDC+ et
bDC+
STS ont été définies et mises en
oeuvre.
La transformation DC+
bDC+ consiste
en :
- l'adjonction d'une horloge racine, tick,
- le remplacement des signaux purs par des signaux booléens
(y compris sur les entrées-sorties),
- la synthèse des contraintes supplémentaires exprimées sur
les booléens ainsi ajoutés.
La transformation bDC+
STS consiste alors
en :
- la mémorisation à l'horloge tick de tous les signaux
retardés (horloge d'état),
- l'extension de toutes les horloges booléennes à
tick (complément par la valeur False).
La machine virtuelle permettant d'utiliser
DC+ se présente comme un ensemble de
fonctionnalités qui permettent de construire, transformer et
accéder à un modèle d'application en
DC+. La mise en oeuvre de la machine
virtuelle se fait en collaboration avec la société
TNI, par la définition d'une
interface procédurale pour la représentation des arbres
abstraits, ainsi qu'une interface procédurale pour la
représentation des graphes [39,40].
Les fonctionnalités suivantes ont été mises en oeuvre dans la
machine virtuelle DC+ (les
développements sont partagés avec la société
TNI) :
- l'analyse syntaxique qui, partant d'un code source
DC+, construit une représentation
abstraite sous forme d'arbre;
- le décompilateur qui restitue un texte
DC+ à partir d'un arbre;
- le contrôle des types;
- la transformation de l'arbre de syntaxe abstraite en une
représentation sous forme de graphe;
- la transformation d'un graphe en une représentation sous
forme d'arbre;
- les différentes transformations inter-formats appliquées à
un graphe : DC+
bDC+,
bDC+
sbDC+,
bDC+
STS.
- la génération de code séquentiel et distribué.
Nous avons réalisé, dans un premier temps, une mise en oeuvre
de la machine virtuelle s'appuyant sur la structure de
représentation de graphe propre à l'environnement Signal. Cette
première mise en oeuvre a été réalisée afin d'offrir rapidement,
aux partenaires du projet Sacres, une chaîne complète de
compilation intégrant les transformations inter-formats et la
génération de code séquentiel. L'environnement Signal dispose
donc désormais d'un générateur de code
DC+.
La deuxième mise en oeuvre de la machine virtuelle utilise les
interfaces procédurales définies avec
TNI. Afin de réutiliser les
fonctionnalités développées autour du langage Signal, des
interfaces sont en cours de développement.
Nos activités dans Sacres ont porté cette année notamment sur
les points suivants :
- intégration des langages de Statemate à l'environnement
DC+ (voir section
), en définissant une
traduction dans Signal, mise en oeuvre sous la forme d'un
traducteur en format commun DC+;
étude des implications sémantiques de l'interopérabilité entre
plusieurs formalismes.
- mise en oeuvre du langage de spécification au niveau
système SSL.
- méthodologie d'utilisation de l'environnement Sacres,
intégration dans le processus de conception des utilisateurs
[43].
- continuation des travaux de définition et de mise en oeuvre
autour du format commun DC+ (voir
section
)
[39,40,45].
- révision de la spécification de l'architecture logicielle
globale de l'environnement [44]. Cette architecture, qui
se définit autour du format commun
DC+ et de la machine virtuelle, est
une instance de l'organisation d'environnement ouvert
mentionnée en section
.
- participation aux discussions avec le Weizmann Institute
concernant la validation du code généré par la compilation des
spécifications.
- développement des algorithmes de génération de code sur la
machine virtuelle DC+
(booléanisation des événements,
séquentialisation/ordonnancement des calculs, production de
code C ou Ada) [41].
- étude de méthodes de distribution de programmes à partir de
leur modèle DC+ [42] : fonction
d'allocation, marquage du graphe
DC+, extraction de sous-graphes,
génération de code pour les communications. La modélisation
d'architectures au moyen de DC+ a
aussi été étudiée.
- concernant le transfert de technologie et la diffusion et
l'exploitation des résultats, nous avons participé à
l'organisation et à la réalisation de rencontres avec un groupe
d'industriels sensibilisés à l'approche Sacres, en vue
d'établir des coopérations techniques autour de l'utilisation
de l'environnement, en entier ou par parties. Nous avons aussi
participé à la diffusion par la présentation d'exposés dans des
conférences [18,19,20].
- par ailleurs nous participons à la gestion générale du
projet (par exemple le site ftp, localisé à l'Irisa).
Participants : Albert Benveniste , Olga Kouchnarenko ,
Paul Le Guernic , Sophie Pinchinat
Résumé : Le projet Esprit Syrf («Synchronous Reactive
Formalisms») a pour objet de développer des études autour des
formalismes synchrones dans un cadre coopératif industriel et
de recherche initié dans le projet Eureka Synchron.
Le projet Esprit Syrf 22703 complète les travaux des projets
européens Synchron et Sacres.
Les participants sont l'Inria (projets Spectre de Grenoble,
Meije de Sophia-Antipolis et
EP-ATR de
Rennes), le German National I.T. Research Institute, la compagnie
suédoise Logikkonsult, l'institut de recherche suédois de
l'Université de Linköping, la compagnie Schneider-Électrique
France, la compagnie suédoise Saab Military Aircraft et
Électricité de France.
Il a pour objectifs :
- de combiner les différents formalismes synchrones,
- d'étendre les techniques de vérification automatique,
- de développer la génération de code vers des architectures
distribuées,
- d'étudier les modèles qui combinent des aspects synchrones
et asynchrones,
- d'établir un lien avec la conception
matériel/logiciel,
- la conception du synchronisme analogique ou discret.
Le projet
EP-ATR
est plus particulièrement impliqué dans les thèmes
suivants :
Ce thème général
recouvre l'utilisation de moteurs de technologie
BDD ou autre pour la résolution de
problèmes tels que : vérification, test, calculs
d'abstractions, synthèse de contrôleurs.
Il s'agit évidemment d'un thème important pour
le projet, c'est également un des thèmes majeurs pour
EP-ATR
dans le projet Esprit Sacres.
Il s'agit d'une direction de travail
assez nouvelle, liée à la génération de code réparti, mais aussi
aux travaux conduits dans le cadre de la coopération Reutel-2000
avec Alcatel-Alsthom-Recherche. L'objectif est de comprendre
comment basculer d'un point de vue synchrone vers un point de vue
radicalement asynchrone, où le temps est vu comme un ordre
partiel, et vice-versa.
L'effort portera sur les liens entre
formalismes synchrones et VHDL ou
Verilog.
Il s'agit soit
d'études de type architectural, soit de l'utilisation des
techniques de synthèse de contrôleur dans le cadre de la conduite
d'une centrale.
Participants : Michel Allemand , Patricia Bournai ,
Apostolos Kountouris , Paul Le Guernic , Jean-Christophe Le Lann
, Christophe Wolinski , François Bodin (projet Caps), André
Seznec (projet Caps), François Charot (projet Api)
Résumé : Une étude menée en partenariat avec Motorola
avait pour but l'exploration du modèle synchrone pour le
prototypage de composants matériels.
Nous avons mené, avec les projets Inria Caps, Api et Meije, une
collaboration avec Motorola (Austin) dans le domaine de la
conception de composants matériels.
L'objectif de l'étude était de montrer que le modèle synchrone
permet un prototypage rapide et sûr de composants matériels, ce
qui diminue ainsi le temps de cycle de conception. L'étude a
donné lieu à la définition d'une méthodologie pour la conception
de matériel basée sur le langage Signal.
Résumé : La société TNI, qui
développe et commercialise l'environnement Sildex pour Signal,
est un partenaire associé à nombre de nos activités.
Nous collaborons étroitement avec la société
TNI, qui assure l'industrialisation
de Signal à travers l'environnement Sildex. Un axe essentiel de
cette collaboration concerne la diffusion du synchrone en
général, et en particulier des outils développés d'un côté et de
l'autre autour de Signal.
Notre collaboration avec TNI
s'effectue également au sein du projet européen Sacres.
Précédent : Résultats nouveaux
Remonter : Projet EP-ATR, Environnement de programmation
Suivant : Actions régionales, nationales et
internationales