lien vers le site de la DRT
lien vers site Internet du CEA
 
 

 

   
 

 

Projet AGATHA


Contexte

  Les méthodes formelles ont entraîné le développement de techniques d'analyse de systèmes et de génération automatique de tests à partir de leurs spécifications. Cela  permet d'avoir une évaluation des comportements possibles d'un système au plus tôt. L'impact économique de cette étape d'analyse de spécification est considérable, car elle réduit à la fois les temps et les coûts de validation, alors qu'elle augmente la fiabilité du système. Mais ces techniques formelles sont généralement assez complexes, ce qui explique qu'à ce jour, leur usage dans l'industrie soit encore faible.Pour ces raisons, il est fondamental de fournir des outils automatiques qui mettent en oeuvre ces technologies, sans demander à l'utilisateur potentiel de compétences supplémentaires.

 


Généralités

 

 La méthode et l'outil AGATHA développés au CEA LIST sont dédiés à la validation et à la génération automatique de tests. Basés sur l'exécution symbolique de systèmes constitués d'automates concurrents, AGATHA permet de générer un arbre d'exécution exhaustif qui couvrent l'ensemble des comportements du système analysé, et fournit pour chaque comportement identifié un test numérique. Entièrement automatique, AGATHA peut être utilisé comme une boîte noire dans un environnement d'outils industriels tels ObjectGeode, StateMate ou Objecteering. Avec AGATHA, les utilisateurs peuvent générer des scénarios et les exécuter dans le simulateur de leur environnement. AGATHA est conçu pour prendre en compte le système évalué tout entier ou une partie du système, ce qui permet de faire des validation intermédiaires au cours de son élaboration.

  La figure suivante montre la fenêtre principale de l'outil AGATHA :


Principes de l'outil AGATHA

  L'outil AGATHA génère un graphe d'exécution symbolique, qui décrit tous les comportements du système. La figure suivante montre l'architecture de l'outil AGATHA :

  Plusieurs techniques formelles sont utilisées pour le calcul :

  • L'exécution symbolique : Le problème majeur des techniques numériques est l'explosion combinatoire due au domaines de variations des paramètres du système. Ces domaines peuvent être très grands, ou même infinis. Le calcul symbolique permet de prendre en compte de tels domaines parce qu'il exécute tous les comportements qui ne sont pas équivalents, mais sans effectuer de calculs redondants lorsque des valeurs différentes des variables correspondent au même comportement (i.e. au même chemin d'exécution). Les paramètres d'entrées ne sont pas évalués numériquement mais apparaissent sous forme de constantes symbolique dans les gardes des transitions qui sont exécutées. Les gardes des transitions exécutées dans un chemin d'exécution sont  intégrées dans une contrainte qui est la condition de chemin, et qui doit être satisfaite pour que le chemin en question soit exécuté : cette condition de chemin n'est autre que la conjonction logique des gardes des transitions du chemin ; la résolution de cette condition de chemin donne une séquence de valeurs numériques d'entrées du système qui permet de réaliser un test concret (par exemple dans un simulateur classique).

  • Procédures de réduction : Le point délicat de l'exécution symbolique est la réduction des expressions qui sont générées dans la condition de chemin. Les expressions symboliques peuvent devenir considérables, c'est pourquoi il est nécessaires de les simplifier à la volée, afin que les temps de calculs intermédiaires ne deviennent prohibitifs. Ces simplifications sont faites par réécriture grâce à l'outil CafeObj. L'outil de calcul polyhédrique Omega est également utilisé pour évaluer des inclusions de domaines sur les variables, ce qui permet également de réduire l'arbre d'exécution et de le ramener à un arbre fini.

  • Composition : Le processus d'exécution symbolique est appliqué sur un automate du système, mais en général le système est constitué de plusieurs automates, qui doivent donc être fusionnés. La méthode de fusion est la composition introduite par Milner. L'automate global équivalent à l'ensemble est constitué des transitions de chaque automate élémentaire, et les transitions qui sont en rendez-vous sont synchronisées et remplacées par des transitions équivalentes où l'on a éliminé les paramètres de communications.

  • Solveur de contrainte : Lorsque l'arbre d'exécution a été construit, tous les comportements du système sont accessibles par consultation de cet arbre. Les livelocks et les deadlocks sont visibles. Un solveur de contraintes, l'outil Omega qui est un outil de calcul dans l'arithmétique de Presburger, peut être utilisé pour obtenir les valeurs numériques des paramètres du système par résolution des contraintes de chemin. Chaque condition de chemin donne une séquence d'entrée du système (par défaut, on calcule une solution par contrainte, considérant que d'autres solutions numériques sont redondantes du point de vue de l'identification des comportements du système).

      La figure suivante montre les détails de l'architecture du noyau d'AGATHA:


    Applications d'AGATHA

     

  • MUTATION le projet implique le CEA-LIST, TAS (THALES Airborne System), TRT (THALES Research and Technology) et l'INRIA. Ce projet appartient au programme CARROLL. Le but de ce projet est d'accroître la productivité de la phase de validation du processus de développement. Dans ce contexte, nous utilisons AGATHA pour générer automatiquement des tests sur des modèles UML de TAS.

     

  • EDEN est un projet RNTL (Réseau National des Technologies Logicielles) projet qui a commencé en 2003. Le projet EDEN implique les partenaires suivants : SCHLUMBERGER (SEMA - CP8), TRUSTED-LOGIC, VERIMAG, CEA-CESTI, CEA-LIST. L'objectif du projet est d'offrir un environnement capable de faciliter le développement et la validation de systèmes embarqués en respectant les exigences des critères communs (domaine des cartes à puces)  au niveau formel. Dans ce contexte, AGATHA est utilisé pour générer des tests de conformité entre ces niveaux.
  • STACS est un projet qui implique CEA LIST, LaMI (Laboratoire de Méthodes Informatiques de l'Université d'Evry) THALES Communication et Ligeron SA. C'est un projet qui est soutenu par le RNRT (Réseaux National de Recherche en Télécommunication). L'objectif est de trouver une méthode de validation compositionnelle pour les systèmes de télécommunication en utilisant les techniques de test. Ces systèmes sont hétérogènes dans le sens où ils sont basés sur des modèles d'automates concurrents dans des formalismes différents tels SDL, UML ou Esterel.

     

  • AGATHA permet la génération de tests pour la validation de fonctionnalités de systèmes temps-réels construits à partir de la méthodologie Accord/UML .

     

  • AIT-WOODDES




    EAST-EEA http://www.east-eea.net


  • Equipe AGATHA

  • Publications de l'équipe AGATHA

  •    
     
     
    CEA LIST - Mise à jour le 29 Juillet 2005 . Mentions Légales © CEA 2004 - Tous droits réservés
       
    Recherche par mots clés
     

     
    link to the english version of this site
     
    cliquez ici afin d'envoyer un courriel au webmestre de ce site
     
     
     
    lien vers page lettre A lien vers page lettre B lien vers page lettre C lien vers page lettre D lien vers page lettre E lien vers page lettre F lien vers page lettre G lien vers page lettre H lien vers page lettre I lien vers page lettre J lien vers page lettre K lien vers page lettre L lien vers page lettre M lien vers page lettre N lien vers page lettre O lien vers page lettre P lien vers page lettre Q lien vers page lettre R lien vers page lettre S lien vers page lettre T lien vers page lettre U lien vers page lettre V lien vers page lettre W lien vers page lettre X lien vers page lettre Y lien vers page lettre Z