Un tour d ’horizon de l’approche synchrone
description
Transcript of Un tour d ’horizon de l’approche synchrone
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Un tour d ’horizon de l’approche synchrone
Eric RUTTEN
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Historique et évolution
• début 80s : intuition, bases formelles– langages et sémantique– prototypes
• début 90s : environnements – compilateurs et générateurs– vérification et analyse
• début 00s : améliorations, extensions
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Références
• littérature générale :– revue proceedings of the IEEE, 1991– livre de N. Halbwachs (Kluwer) 1993– article de N. Halbwachs, CAV 1998
• sites web :– www.esterel.org– www.irisa.fr/ep-atr– www-verimag.imag.fr/~synchron
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Notions communes
• réaction et temps logique– temps-réel : rythme imposé par l’extérieur– entités : instant, événement, état, action– système de transition étiqueté (automate)
• composition synchrone– produit cartésien des états et étiquettes – plusieurs actions par transition
• outils formels pour analyse, mise en œuvre
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Langages
• différents styles, multi-formalisme– de séquencement, impératifs : Esterel
(textuel), SyncCharts, Argos (graphiques)– flot de données, déclaratifs, équationnels
Lustre, Signal (textuel ou graphiques)– mixtes :
• Automates de modes, SignalGTi• Synchronie
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Langages : contexte
• langages réactifs non-strictement synchrones
– StateCharts/StateMate– Reactive-C, SugarCubes, sE (O.-O.)
• mixtes asynchrones/synchrone : CRP, Electre
• langages de l’automatique discrète– Grafcet (réseaux de Petri)– IEC 61131, 60848, 61499
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Langages : Esterel
• Exemple ABRO : texte et automate
• Esterel studio : graphique
R R
R
A B
B/O A/O
AB/O
loop [
await A||await B
]; emit Oeach R
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Langages : Lustre
• textuel ou graphique (bloc-diagrammes)
• fonctionnel
• modèle en automate (circuit séquentiel)
Node ABRO (A,B,R:bool) returns (O: bool);let
O = (A or Ain) and (B or Bin)Ain = false -> pre(Ain) and not (R or O)Bin = false -> pre(Bin) and not (R or O)
tel;
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Langages : Signal
• textuel ou graphique (bloc-diagrammes)
• relationnel (contraintes)
• modèle formel :– invariants : hiérarchisation des horloges– dynamique : système de transition implicite
process ABRO (A,B,R:bool; O: bool) (| O = (A or Ain) and (B or Bin) | Ain = (Ain$1 init false) and not (R or O) | Bin = (Bin$1 init false) and not (R or O) |)
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Compilation
• d’abord vers un modèle :– automate explicite (OC) ou implicite (DC)– graphe de dépendances (DC+)
• ensuite, éventuellement (sauf si erreur cruel but fair), vers du code : – exécutable (C, Ada, fortran 77, ...)– vérifiable (formats pour model-checkers)– synthétisable (VHDL, …)
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Compilation : analyse
• analyse de causalité– absence de cycle combinatoire, p. ex. :
– prise en compte des conditions
• hiérarchisation des conditions/horloges optimisations (code mort, …)
U= if C then V else W V = if C then W else U;
present A then emit B end ||present B then emit A end
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Compilation : formats communs
• Étapes intermédiaires de compilation
IC DC
SC OC
impératifs déclaratifs
C, ... C, ...
Outilss/ circuits
Outilss/ graphes
Outilss/ automates
langages
DC+bDC+...
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Mises en œuvre
• séquentielles– itératives, événementielles, ...
• distribuées (modularité)
– réplication, simplification, communications– partitionnement en sous-graphes
• matérielles : – FPGA, sémantique électrique »d’Esterel– génération de VHDL
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Analyses formelles et vérification comportementale
• liées aux points précédents– compilation/optimisation pour la vérification– vérification pour la compilation/optimisation
• liées au synchrone – directement (technique réalisée et acquise)– indirectement (potentiel, concept clair)
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Logique et model-checking
• propriétés : sur les successions d’états, événements ou actions
• modèles : systèmes de transition
– compacité (actions synchrones)– technologie BDD
• méthodologies : observateurs, langages graphiques logiques, réduction selon critère, ...
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Synthèse de contrôleur discret
• contraintes sur la dynamique des comportements, à partir de :– automate « instrumenté » par des
événements contrôlables– propriétés à respecter (objectifs)
• calcul automatisé du contrôleur :– agissant sur les contrôlables– tel que les comportements soient corrects
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Génération de tests
• complémentaire à la vérification (validation de l’exécutable, valeurs, …)
• utilisation du modèle pour produire des tests avec une bonne couverture
• synthèse de contrôleurs pour produire des jeux de tests menant le programme dans une région d’étude particulière
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Extensions possibles et autres approches
• systèmes temporisés : e.g. KRONOS
• systèmes hybrides : e.g. D/DT
• démonstration de théorème : e.g. COQ, SMV, B
• analyse statique : e.g. Polyspace
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Existence industrielle
• outils commerciaux et environnements– Esterel Technologies www.esterel.org– SCADE (Verilog/Telelogic) www.telelogic.se– SILDEX (TNI) www.tni.fr
• utilisations et coopérations– Snecma, Aérospatiale, Dassault, Motorola,
Schneider, ...– projets Esprit Syrf, Sacres, Crysis, SafeAir
Mai 2001 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Conclusions
• une communauté de recherche active
• une existence industrielle stable
• des thématiques en extension, en lien avec les domaines connexes
• développements motivés par leur utilité et les coopérations
• Workshop international annuel (WSP)