210 likes | 345 Views
Un tour d ’horizon de l’approche synchrone. Eric RUTTEN. 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. Références.
E N D
Un tour d ’horizon de l’approche synchrone Eric RUTTEN 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 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 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 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 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 Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Langages : Esterel • Exemple ABRO : texte et automate • Esterel studio : graphique loop [ await A || await B ]; emit O each R R R R A B AB/O B/O A/O 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; 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) |) 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, …) 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, …) • present A then emit B end • || • present B then emit A end • U= if C then V else W • V = if C then W else U; Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Compilation : formats communs • Étapes intermédiaires de compilation langages impératifs déclaratifs Outils IC DC ... bDC+ DC+ s/ graphes Outils Outils SC OC s/ automates s/ circuits C, ... C, ... 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 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) Eric RUTTEN, projet BIP, INRIA Rhône-Alpes
Logique et model-checking • propriétés : sur lessuccessions 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, ... 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 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 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 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 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) Eric RUTTEN, projet BIP, INRIA Rhône-Alpes