> 1 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Mise en oeuvre d’observateurs temporisés pour la validation de logiciels temps réel Philippe Dhaussy, Jean-Charles Roger, Olivier Habart ENSIETA Laboratoire Développement Technologies Nouvelles 2 rue F. Verny, Brest Cedex 9 Phone : 33 (2) Vers 24 juin 04
> 2 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Motivation : Validation de logiciels temps réel Notre équipe : impliquée dans la conception de systèmes robotisés (Unmanned Underwater Vehicle). Développement de logiciels pour UUV Modélisation et validation de logiciels TR (robotique, avionique) Parties critiques, protocoles de communication Nécessité d’assurer la correction (sûreté)
> 3 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Motivation : Validation de logiciels temps réel Validation des modèles temporisés : Nécessité de technique vérification formelle (description rigoureuse du comportement dynamique des systèmes) Recherche d’une expression plus aisée des propriétés comportementales Contourner le problème de l’explosion combinatoire Groupes d’étude : AIRBUS, CS-SI, ONERA, ENSIETA Pérennité de SDL et validation formelle de modèles DGA, TAS, ONERA, CEA, ENSIETA : modèles et validation des SIO IRISA, VALORIA, ENST : projet PRIR, Tranformation de modèles et vérification
> 4 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Motivation : Rupture dans le cycle de développement Modèle UML (vue comportementale) Exigence (vue UML) Modèle formel (composition d’automates communicants) Modèle formel de la propriété vérification diagnostic Modélisation Orientée Objet Méthodes formelles pour la recherche de correction Traduction manuelle, expertise, difficile Changement de paradigme, écart sémantique ?
> 5 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Nécessité d’une intégration des technologies formelles dans les AGL Modèle UML (vue comportementale) Modèle formel (composition d’automates communicants) Exigence (vue UML) Modèle formel de la propriété vérification Traduction Sémantique équivalente Technologies formelles diagnostic (vue UML) transformation Outils UML
> 6 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Plan Modèles formels Automates temporisés Automates de test et vérification Mise en oeuvre Intégration en environnement UML Conclusion et perspectives
> 7 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Modélisation formelle et model-checking Principe : un modèle formel une specification formelle : ensemble de propriétés (requirements) une technique de model-checking pour vérifier les propriétés. Modèle formel Propriété formelle model-checking diagnostic Différents formalismes et outils appliqués à la vérification de systèmes de taille réelle.
> 8 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Modélisation formelle de logiciels temps réel Formalismes appropriés pour capturer des contraintes temporisés basés sur les automates temporisés [Alur & Dill 94] Expérimentation : basée sur le language IF et l’environnement associé Outils disponibles : analyse statique et réduction de modèles simulation et vérification de modèles Contexte de communication asynchrone : Language IF [VERIMAG : Graf & Bozga & all]
> 9 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Réduction de modèle Explosion P1 P4 P2 P3 Génération de l’espace des états Model-checking : technique automatisable Basée sur la génération d’un graphe des états (comportement) Techniques de réduction et d’abstraction des modèles : Automates observateurs (ou automates de test) : Représentent des propriétés comportementales à valider sur le modèle En général : grande taille des modèles et complexes : vérification limitée : explosion combinatoire du nombre d’états entrelacement non-déterministe de l’exécution des processus
> 10 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Plan Modèles formels Automates temporisés Automates de test et vérification Mise en oeuvre Intégration en environnement UML Conclusion et perspectives
> 11 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Automates temporisés [Alur & Dill 94] Interprétés comme une extension de Machines d’Etats Finies (FSM) avec horloges. Un modèle de système : composition d’un nombre fini de processus (en exécution parallèle) n0 n1 n3n2 a 0 < x < 1 reset (x) x, y : clocks c reset (x) b y < 1 Chaque processus : caractérisé par une FSM communicante qui gère : variables globales et locales horloges locales Etats d’un processus : caractérisés par des valeurs sur les variables et horloges. Transitions : gardées par des conditions sur les horloges ou les variables.
> 12 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Sémantique des automates temporisés La satisfaction d’une transition permet l’exécution des actions qui sont spécifiées sur chaque transition. L’instant d’exécution est sélectionné d’une manière non-déterministe durant la période de validité de la garde. Les transitions : instantanées Le temps s’écoule dans les états seulement entre les transitions Sémantique d’un système de transition (LTS) [Alur 99] : A. T. avec invariants sur les états (notés TAi) Une action : affectation d’une variable ou d’une horloge.
> 13 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Automates UPPAAL (TA U ) [AD 94] avec : invariants, actions urgentes (communication synchrone prioritaire par rapport au temps ) et états commited Une action peut être : réception d’un signal (ou message s) (noté ? s), émission de s (noté ! s) Modèle de communication : synchrone par rendez-vous affectation d’une variable ou d’une horloge. 1 2 ?a x :=0 ? b x := 0 1<= x<= 3 ? a; !c x := 0 3<= x<= 5 ? b; !c x := 0 3 S : un automate temporisé x: clock Environnement S abc Décrit par
> 14 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Automates IF [ VERIMAG, Bornot, Sifakis, Tripakis 97,] Basés sur les TA D : automates temporisés classiques avec urgences de transition. Modèle de communication : asynchrone par tampons de messages eager : si la transition est tirable, la transition est tirée sans que le temps ne progresse. delayable : si la transition est tirable, le temps peut progresser tant que la garde est évaluée à vrai et la transition sera tirée. lazy : même si la transition est tirable, le temps peut progresser (ce qui peut dévalider la transition) (x<5): delayable (x<3): eager (x<10): lazy
> 15 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Système de Transitions Etiquetées (LTS) time 1 time 3 time 1 LTS de l’automate ? a ! c ? b? a ? b ! c ? a ! c time 1 Sémantique d’un automate IF : représentée par un LTS. Sémantique d’un système : composition des modèles de processus (opérateur ||) Temps simulé : Discret ou dense Notre étude : Systèmes simulés en temps discret 3 types d’actions dans un LTS : communication (? m, ! m) action interne progression du temps : time x Chaque location dans un LTS : configuration (description des états simulés du système) : état courant des processus, valeurs de toutes les variables et horloges, état de buffers.
> 16 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion La vérification des modèles temporisés 1 2 ?a x :=0 ? b x := 0 1<= x<= 3 ? a; !c x := 0 3<= x<= 5 ? b; !c x := 0 3 x: clock Env S a b c [3, 5] Spécifications : Propriétés de sûreté et vivacité bornée : (P1) : a et b doivent être reçus dans cet ordre et c est émis vers l’environnement dans l’intervalle [3, 5]. Formules logiques TCTL, vérificateurs Kronos, Uppaal, … Observateurs [Jard 88, Halbwacks 93, Graf 03 ] Automates de test [Aceto 98, Tripakis 02]
> 17 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Plan Modèles formels Automates temporisés Automates de test et vérification Mise en oeuvre Intégration en environnement UML Conclusion et perspectives
> 18 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Les automates de test [Aceto et al. 98] Si le résultat de la composition entre le système et l’automate de test contient une configuration contenant un état marqué reject la propriété spécifiée par l’automate de test n’est pas validée sur le système. Soient le système S, l’automate de test A spécifiant la propriété P, Si S A alors S P Automate temporisé représentant une propriété, Contrôle la violation de la propriété Contient des état spéciaux reject Composé avec le « système » (réseau d’automates) Composition d’automates TA U (Uppaal) S A analyse d’accessibilité d’un état de rejet propriété P Verdict
> 19 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Expression des propriétés Constat Nécessité de vérifier des propriétés complexes Difficultés de les exprimer avec des automates de test Se ramener à une vérification d'accessibilité propriété d’accessibilité : atteignabilité d’un état décidables et algorithmes efficaces Logique SL : logique modale de sûreté [Aceto et al. 98] Expression de propriétés de sûreté et de vivacité bornée. Grammaire abstraite : ::= ff | 1 2 | g | | [a] | tt | x in | X | max (X, ) g est une garde dans (C) avec C ensemble d’horloges sur La propriété P1 en SL (syntaxe modifiée) : Inv ( {x:=0} [?a] [?b] [!c] { 3 x 5 } faux )
> 20 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Quelques logiques temporelles et temporisées HML [Hennessy Milner] : logique temporelle modale L : HML étendue par des opérateurs de plus grand et plus petit point fixe ( calcul) L : L étendue par des opérateurs modaux temporisés et des horloges SL (Safety Logic) (ou SBLL) [Aceto 98] : dégradée de la logique L pour les automates à communication synchrone. XSL (eXtended Safety Logic) (ou L ) : intègre la notion d’action urgente L LL HML SLXSL Actions urgentes
> 21 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Traduction de formules SL en automates de test Règles de traduction syntaxique des formules SL en automates de test Ex : propriété P1 : Inv ( {x:=0} [?a] [?b] [!c] { 3 x 5 } faux ) 0 1 X4 k, x: clock X1,2, k = 0 i ?a ?b !c k :=0 k = 0 i k = 0 i x := 0 k := 0 ?a k = 0 i k :=0 ?b k = 0 i k = 0 i !c k = 0 i k = 0 i (k=0) (x 5) i (k=0) (3 x) i
> 22 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Différents modèles d’automates temporisés Langage IF Langage UPPAAL tampons infinis tampons finis TA TA D TA U TA i
> 23 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Justification de la démarche de vérification 1.[Bornot, Sifakis, tripakis 97] : Un automate TA D est exprimable en un automate TAi. 2.[Burgueno98] : Tout automate de test qui vérifie une propriété sur un ensemble de TA U est exprimable par une formule XSL. 3.Adaptation de (2) : Tout automate de test qui vérifie une propriété sur un ensemble de TA i est exprimable par une formule SL (preuve (2) ne mentionnant pas les actions urgentes). 4.(1), (3) : Tout automate de test qui vérifie une propriété sur un ensemble de TA D est exprimable par une formule SL. 5.Les communications asynchrones sont simulables par des communications synchrones dans le cas de tampons bornés. Le modèle IF est donc simulable de manière théorique par le modèle TA U.
> 24 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion En pratique Les automates de test provenant des formules SL permettent de vérifier des propriétés sur les automates IF. Les LTS générés à partir des automates IF et des automates de test (traduits des formules SL) sont composables. Automates IF LTS Automates de Test LTS Formule SL Composition synchroneVerdict Analyse d’accessibilité
> 25 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Plan Modèles formels Automates temporisés Automates de test et vérification Mise en oeuvre Intégration en environnement UML Conclusion et perspectives
> 26 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion IF Toolbox [ VERIMAG, INRIA ] Modèle IF LotosSDL Générateur de test (TGV) Analyse statique, abstraction Simulateur, Explorateur Vérificateurs (Aldebaran, Evaluator) Labeled Transition System (LTS) diagnostics CADP SDL2IF IF2C API Applications utilisateur
> 27 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Développement d’un outillage (en cours) Système IF Classes C++ Objet Automate de test Système de transitions Objet Bibliothèque composer Propriété SL Automates temporisés C++ Codes objets Exécutable sl2ta if2c Analyse d’accessibilité g++ ld VERDICT Le programme principal de composer main () { IfIterator * system = new IfIterator (); ATIterator * at = new ATIterator (); Composer * comp = new Composer (system,at); comp->do_composition (); if ( comp->is_reachable (reject)) { cout << "Not verified" ; } else { cout << " Verified"; }
> 28 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Système de gestion de mission Système de gestion de mission Système de Navigation Système de Navigation Guidage et pilotage Guidage et pilotage Commande des actionneurs Commande des actionneurs Système d’évitement d’obstacles Système d’évitement d’obstacles Bus CAN DSP-TMS320F243 Sonars Ethernet Power PC Board Vx Works PowerPC board Vxworks Vxworks Capteurs, actionneurs Lien acoustique Experimentation en cours (système UUV) : validation de protocoles
> 29 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Plan Modèles formels Automates temporisés Automates de test et vérification Mise en oeuvre Intégration en environnement UML Conclusion et perspectives
> 30 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Intégration dans un environnement UML Projet OMEGA, débuté en 2002, (www-omega.imag.fr) Etude d’un environnement de développement de logiciels embarqués basé sur UML et des techniques de vérification formelle. Partenaires académiques et industriels. Nombreux travaux : intégration de vérificateurs comme SPIN ou UPPAAL. A l’étude : Traduction de modèles UML en langage IF Expression de propriétés SL à l'aide de constructions UML.
> 31 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Intégration dans un environnement UML En cours : Définition d’une syntaxe abstraite d'UML Restrictions nécessaires et choix sémantiques Elaboration de règles formelles de transformation UML vers IF. Syntaxe UML choisie : basée sur celle de l'outil Rhapsody Recherche d’un langage plus accessible ou intuitif pour l'expression des propriétés SL (constructions UML) Evaluation de techniques de transformation de modèles (MIA, MTL, …)
> 32 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Outilllage Système IF Classes C++ Objet Automate de test Système de transitions Objet Bibliothèque composer Propriété SL Automates temporisés C++ Codes objets Exécutable sl2ta if2c Analyse d’accessibilité g++ ld VERDICT Modèle UML temporiséPropriété UML Etude de transformation de modèles (Projet Amadeus)
> 33 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Plan Modèles formels Automates temporisés Automates de test et vérification Mise en oeuvre Intégration en environnement UML Conclusion et perspectives
> 34 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Conclusion et perspectives Travail méthodologique en cours technique de vérification de propriétés temporisées via la manipulation d'automates de test. Expérimentations sur des protocoles de communication simples Complexité : million de transitions (LTS). Poursuite de l’étude : Atelier logiciel (groupement d’utilitaires) Mettre en oeuvre les règles de transformation des modèles UML Cas réels de taille industrielle A cours terme, groupe de travail : AIRBUS, CS-SI, ONERA, ENSIETA Sous-système logiciel embarqué (A380) Comparaison : preuves avec SPIN et les A. de test.
> 35 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Conclusion et perspectives Ensemble d'outils complémentaires Intégrés dans un unique environnement (UML) pour être largement utilisés Basés sur une sémantique UML commune Comportant les concepts de référence pour la validation. Complémentaires : opérations diverses pour correction des modèles : réduction, abstraction, vérification de modèles, génération de test …
> 36 Neptune’04, 24 juin 2004Lab. DTN Ph. Dhaussy, JC Roger Modélisation formelle Automates temporisées Automates de test Mise en oeuvre Intégration UML Conclusion Merci de votre attention Questions?