Les mthodes formelles fondes sur les paradigmes synchrones

  • Slides: 31
Download presentation
Les méthodes formelles fondées sur les paradigmes synchrones et asynchrones Christian Brunette Christian. Brunette@irisa.

Les méthodes formelles fondées sur les paradigmes synchrones et asynchrones Christian Brunette Christian. Brunette@irisa. fr 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007

Les systèmes embarqués temps réel Une application temps réel met en œuvre des systèmes

Les systèmes embarqués temps réel Une application temps réel met en œuvre des systèmes informatiques ou informatisés coopérant avec l’homme et destinés à la perception, l’observation, l’aide à la décision et la conduite de procédés dynamiques. • • • Télécommunications, Transports (automobile, avion, train) Contrôle aérien, Régulation et alarmes des centrales Contrôle de processus industriels… 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 2

Les systèmes embarqués temps réel • Concurrence (parallélisme) • Caractère critique (sûreté) Approche rigoureuse

Les systèmes embarqués temps réel • Concurrence (parallélisme) • Caractère critique (sûreté) Approche rigoureuse Permettre des vérifications formelles Certification • Contraintes temporelles Période des stimuli (cadence), le procédé ne peut pas attendre Temps de réponse (latence) • Déterminisme Deux exécutions d’un programme avec mêmes entrées: mêmes résultats • 2 paradigmes: synchrones - asycnhrones 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 3

Le paradigme asynchrone P 2 P 1 P 4 P 5 P 3 •

Le paradigme asynchrone P 2 P 1 P 4 P 5 P 3 • Plusieurs processus (ou tâches, agents, entités) S’exécutant de façon concurrente (parallèle) À différentes vitesses (pas d’horloges communes) Utilisant des communications par message Sans mémoire commune (excepté celle modélisée explicitement) Avec des temps de latence non spécifiés sur les communications 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 4

Le paradigme synchrone • But : faciliter les raisonnements temporels • Principe de simultanéité

Le paradigme synchrone • But : faciliter les raisonnements temporels • Principe de simultanéité au lieu de l’entrelacement : l’indéterminisme dû à l’entrelacement disparaît • Temps physique abstrait sur un temps logique discret • Les calculs et les communications prennent un temps logique nul • Seulement une notion d’ordre entre les événements Simultanéité ou précédence • Résoudre les contraintes de synchronisation • Méthodologie de développement: Spécification de l’application indépendamment de toute architecture et validation Implantation sur une architecture particulière et validation (durée) 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 5

Formalismes spécifiques pour le temps réel • Intégrer des méthodes formelles pour le temps-réel

Formalismes spécifiques pour le temps réel • Intégrer des méthodes formelles pour le temps-réel embarqué UML MARTE AADL Outils fondés sur des modèles de calcul formels CADP Polychrony Syn. DEx TINA … Modélisation synchrone et asynchrone 1 Editeur X Topcased API X UML 2 ATL GEF GMF EMF << MARTE >> Outilisateur Modèle utilisateur Outil de vérification 2 Traducteur Méta-modèle Modèle pivot EMF 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 3 Outils d’ingénierie Outils génériques 6

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn.

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn. DEx • Les outils asynchrones FIACRE CADP Tina BIP 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 7

Polychrony • IRISA/INRIA Rennes Bretagne Atlantique – équipe ESPRESSO http: //www. irisa. fr/espresso/Polychrony/ Notations

Polychrony • IRISA/INRIA Rennes Bretagne Atlantique – équipe ESPRESSO http: //www. irisa. fr/espresso/Polychrony/ Notations haut niveau Analyse Transformations Distributions Optimisations Vérification Signal, SME Sigali System. C, C, C++, … (gcc) Génération de code 5, 6 et 7 novembre 2007 C, C++, Java, Syn. DEx, Signal, Lustre Grand Colloque STIC - 2007 8

Polychrony • Formalismes synchrones multi-horloges • Ensemble de services : un service peut être

Polychrony • Formalismes synchrones multi-horloges • Ensemble de services : un service peut être appliqué selon l’objectif Simulation Vérification formelle Code embarqué Simulation d’architecture Spécification matérielle… • 5 plateformes supportées PC/Linux & Windows, Sparc/Solaris, Power. PC & Intel/Mac. OS X • Bibliothèque de modèle avionique Librairie APEX-ARINC • Version Commerciale RT-Builder (Sildex) de TNI-Software 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 9

SME Méta-modèle de Polychrony Ensemble de plug-ins: - Editeur réflexif - Modeleur graphique (Top.

SME Méta-modèle de Polychrony Ensemble de plug-ins: - Editeur réflexif - Modeleur graphique (Top. Cased) - Editeur de scénarios de « compilations » - Connexion avec Polychrony Inclus depuis Open. Embe. DD 0. 2. 0 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 10

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn.

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn. DEx • Les outils asynchrones FIACRE CADP Tina BIP 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 11

Gaspard 2 • INRIA Futurs – équipe Da. RT http: //www 2. lifl. fr/west/gaspard/

Gaspard 2 • INRIA Futurs – équipe Da. RT http: //www 2. lifl. fr/west/gaspard/ • Environnement de développement utilisant l’approche IDM pour modéliser, simuler, tester et générer le code pour des applications (So. C) et des architectures matérielles. • Calculs parallèles intensifs • Ensemble de plug-ins Eclipse: Gaspard Core: noyau logiciel + exécution des chaînes de transformations Mo. TE Mo. Cod. E 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 12

Gaspard 2: Architecture 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007

Gaspard 2: Architecture 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 13

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn.

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn. DEx • Les outils asynchrones FIACRE CADP Tina BIP 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 14

Syn. DEx • INRIA Rocquencourt – équipe AOSTE http: //www-rocq. inria. fr/syndex/ • Spécifier

Syn. DEx • INRIA Rocquencourt – équipe AOSTE http: //www-rocq. inria. fr/syndex/ • Spécifier un algorithme (application), une architecture matérielle, des associations entre des éléments de l’algorithme et de l’architecture (durées, occupation mémoire, surface, etc) • Explorer manuellement ou/et automatiquement les implantations possibles d’un algorithme sur une architecture matérielle, en exploitant les associations avec des heuristiques d’optimisation de distribution et d’ordonnancement. • Génère un macro-code indépendant de l’architecture macro-processé avec les noyaux d’exécutif correspondant à l’architecture => code exécutable en temps réel 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 15

Syn. DEx Algorithme Contraintes Temps réel Architecture Adéquation Distribution/Ordonnancement Heuristiques + Générateur de code

Syn. DEx Algorithme Contraintes Temps réel Architecture Adéquation Distribution/Ordonnancement Heuristiques + Générateur de code Performances Calculées Macro code + Noyaux d’exécutifs dépendant de l’architecture matérielle Code distribué exécutable en temps réel • Développé pour Open. Embe. DD: – Une API-Syn. DEx-EMF généré par EMF (éditeur réflexif) – Un modeleur graphique Syn. DEx (Top. Cased) – Une transformation d'un modèle Syn. DEx vers le format textuel Syn. DEx 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 16

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn.

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn. DEx • Les outils asynchrones FIACRE CADP Tina BIP 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 17

Langage Pivot Asynchrone Fiacre (Meta)-Modeleur Langages de Modélisation Editeurs Transformateurs Compilateurs • • AADL

Langage Pivot Asynchrone Fiacre (Meta)-Modeleur Langages de Modélisation Editeurs Transformateurs Compilateurs • • AADL SDL UML . . . Transformation de modèles Fiacre - langage pivot Composition parallèle asynchrone de processus séquentiels Langage formel issu de VCotre et NTIF Compilation En cours CADP Tina . . . • Graphe d'états à transitions étiquetées par : – des actions de communications – ou des délais temporels 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 18

Processus Séquentiel • Processus paramétré par des ports de communication typés des variables partagées

Processus Séquentiel • Processus paramétré par des ports de communication typés des variables partagées typées des valeurs typées Exemple : process P [in p: nat] (read X: nat, Z: int) • Processus défini par un ensemble d'états (dont un état initial) des transitions structurées entre ces états manipulant paramètres et variables locales 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 19

Composition, Priorités et Contraintes Temporelles • Composition parallèle hiérarchique d'instances de processus • Définition

Composition, Priorités et Contraintes Temporelles • Composition parallèle hiérarchique d'instances de processus • Définition de connexions entre les ports des processus • Délais associés aux interactions locales • Priorités entre interactions 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 20

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn.

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn. DEx • Les outils asynchrones FIACRE CADP Tina BIP 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 21

CADP • INRIA Rhône Alpes – équipe VASY http: //www. inrialpes. fr/vasy/cadp • Boîte

CADP • INRIA Rhône Alpes – équipe VASY http: //www. inrialpes. fr/vasy/cadp • Boîte à outils pour vérifier les systèmes asynchrones • Architecture modulaire et extensible • Des composants logiciels génériques pour la vérification • Principales fonctionnalités: Plusieurs langages d’entrées Simulation pas à pas Génération de code C – prototypage rapide Vérification Génération de tests Evaluation de performance 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 22

Quelques chiffres • Une panoplie d'outils complète 38 outils, 3 librairies • 4 plateformes

Quelques chiffres • Une panoplie d'outils complète 38 outils, 3 librairies • 4 plateformes supportées PC/Linux & Windows, Sparc/Solaris, Power. PC/Mac. OS X • Diffusion internationale Accords sur licence signés avec 358 organisations • Plusieurs applications 88 cas d’études réalisés avec CADP 24 outils issus de la recherche connectés à CADP 28 cours universitaires basés sur CADP depuis 2002 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 23

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn.

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn. DEx • Les outils asynchrones FIACRE CADP Tina BIP 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 24

Tina (Time Petri Net Analyser) Réalisé au LAAS-IRIT http: //www. laas. fr/tina Boite à

Tina (Time Petri Net Analyser) Réalisé au LAAS-IRIT http: //www. laas. fr/tina Boite à outils Tina • ND: Editeur • Simulateur • Compilateurs: Fiacre, … • TINA: Explorateur • SELT: Model-checker • STRUCT: A. Structurelle • PLAN: A. Chemins • KTZIO: Convertisseur Compresseur • NDRIO : Convertisseur Composeur 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 25

Expression et Analyse • Réseaux de Petri + Données (Fiacre)+ Temps + Priorités Expression

Expression et Analyse • Réseaux de Petri + Données (Fiacre)+ Temps + Priorités Expression du comportement (concurrence, données) Expression des contraintes temporelles (Réseaux de Petri Temporels + Priorités) Expression des mécanismes de Préemption/Reprise (Réseaux de Petri à Chronomètres) • Classes de Propriétés analysées Générales : blocage, borné, invariants, quasi-vivacité, . . . Spécifiques: Logiques temporelles (linéaires, arborescentes), bisimulation • Vérification sur des Abstractions Représentation finie préservant certaines classes de propriétés 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 26

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn.

Les Formalismes spécifiques de la plateforme • Les outils synchrones Polychrony Gaspard 2 Syn. DEx • Les outils asynchrones FIACRE CADP Tina BIP 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 27

BIP (Behavior, Interaction, Priority) • Verimag http: //www-verimag. fr/~async/ • But: construire des systèmes

BIP (Behavior, Interaction, Priority) • Verimag http: //www-verimag. fr/~async/ • But: construire des systèmes temps réel à partir de composants hétérogènes • 3 sources d’hétérogénéité différentes: interaction, exécution et abstraction. 5, 6 et 7 novembre 2007 tick 1 tick 2 tick 3 out 1 in 2 in 3 Grand Colloque STIC - 2007 28

Les composants dans le contexte global UML (profile) Scicos (discret) Spécification & propriétés AADL

Les composants dans le contexte global UML (profile) Scicos (discret) Spécification & propriétés AADL Réseaux de Pétri + annotations BIP Transformation de modèle avec ATL Réseaux de files d’attentes SES Workbench (Evaluation de performance) 5, 6 et 7 novembre 2007 Analyse BIP/IF VM BIP (simulation, exécution) (exploration de l’espace d’état, conditions suffisantes pour éviter les inter-blocages, …) Génération de code (Think) transfo existante transfo prévue 29 Grand Colloque STIC - 2007

Utilisation combinée d’outils • Pour un profile UML (sous-ensemble de MARTE étendu): Transformation en

Utilisation combinée d’outils • Pour un profile UML (sous-ensemble de MARTE étendu): Transformation en un réseau de files d’attentes, Analyse de performance (par simulation) • Modèles analysés en BIP: représentent des modèles ou des problèmes d’analyse, compositions de composants hétérogènes obtenus par transformations de différentes sources: Exécution de modèles (exécution séquentielle ou distribuée) Analyse par simulation exhaustive (correction = absence d’états erreurs) Analyse abstraite par conditions suffisantes • Génération de code exécutable pour Think 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 30

Conclusions • Méta-modèles réalisés • Transformations de modèles entre les outils (en cours) •

Conclusions • Méta-modèles réalisés • Transformations de modèles entre les outils (en cours) • Transformations de modèles entre les outils et MARTE (en cours) • Open. Embe. DD 0. 3. 0 (stable) Polychrony 0. 9. 0 Les autres technologies devraient prochainement être intégrées 5, 6 et 7 novembre 2007 Grand Colloque STIC - 2007 31