1 / 20

Un tour d ’horizon de l’approche synchrone

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.

burian
Download Presentation

Un tour d ’horizon de l’approche synchrone

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Un tour d ’horizon de l’approche synchrone Eric RUTTEN Eric RUTTEN, projet BIP, INRIA Rhône-Alpes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

More Related