1 / 17

Validation de conceptions UML de logiciels embarqués : emprunts aux approches formelles

Validation de conceptions UML de logiciels embarqués : emprunts aux approches formelles. Alain Le Guennec Jean-Marc Jézéquel Action Triskell. jezequel@irisa.fr -- http://www.irisa.fr/triskell. UML : l’évolution en cours. Popularité croissante dans l’industrie

ksena
Download Presentation

Validation de conceptions UML de logiciels embarqués : emprunts aux approches formelles

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. Validation de conceptions UML de logiciels embarqués :emprunts aux approches formelles Alain Le Guennec Jean-Marc Jézéquel Action Triskell jezequel@irisa.fr -- http://www.irisa.fr/triskell

  2. UML : l’évolution en cours • Popularité croissante dans l’industrie • Support du développement OO pour A&D • Standard OMG, grand choix d’outils • Interopérabilité à terme, via le format XMI • Efforts soutenus de formalisation • Groupes pUML et « Action-Semantics » • Convergence des formalismes SDL et UML • SDL’2000, « profile » UML-RT

  3. L’approche Triskell • Construction fiable et efficace d’applications « télécom » par composants • Permettre l’utilisation de techniques formelles avec UML • Model checker basé sur la logique XTL • Simulation interactive ou intensive • Génération de tests (outil TGV) • Si tu ne vas pas à Lagardère…

  4. Dans les objectifs de Triskell • Donner une (famille de) sémantique à UML • préciser l’existant • agir au sein de l ’OMG sur le futur : • Action Semantics, UML-RT • Adapter des techniques formelles existantes • Identifier les problèmes spécifiques à UML • Prouver la faisabilité avec un prototype • UMLAUT

  5. Intégration de la validation dans un cycle de vie OO Simulation Validation Results Model Checking Validation code UML Analysis Model Validation Framework UMLAUT/Simulator UML Design Model Implementation Test Cases TGV Graph API Test Results Test purpose Schéma d’utilisation Problem

  6. Le simulateur UMLAUT • Compilation de la spécification • Objectif : « tisser » entre eux les différents aspects sémantiques d’un modèle UML en les projetant sur le sous-ensemble {statique + AS} • Stockage et comparaison d’états • Etat local pour chaque objet • Topologie du réseau d’objets • Autorise la création dynamique d’objets

  7. Cohérence entre diagrammes :Implémentation d’une opération ma(b:B) / (b->mb())->mc(); A in S1 A in S2

  8. Sémantique des diagrammes d’état • La notion de classe-état permetd’intégrer la notion d’état au typage • L’effet d’une transition associedes actions aux opérations

  9. Sémantique dynamique (1) • Sémantique de la concurrence : entrelacements • fondée sur les Labelled Transition Systems • Evolutions du système -> transitions du LTS • Evolutions dues aux actions exécutées • spontanément par les objets actifs dans le système • en réponse aux stimuli provenant de l’environnement

  10. Sémantique dynamique (2) • Evolutions du système spécifiées à l’aide d’un langage d’actions • pas encore de standard (« Action Semantics » WG) • remplacé par des fragments de programmes • nécessite des hypothèses sur l’atomicité • ceci permet de transposer sans les analyserles fragments de code représentant des actions directement depuis le domaine syntaxique vers le domaine sémantique

  11. Vérification de propriétés • Cas des assertions OCL classiques • Les pré et post-conditions des routinesainsi que les invariants de classessont compilés en transitions spéciales • Cas des propriétés exprimées à l’aided’une logique temporelle • XTL est trop éloignée de UML/OCL • Les propositions portant sur les étatsdevraient pouvoir être écrites en OCL

  12. Génération de tests • Repose sur le produit synchrone entre la spécification et un automate objectif de test • Un objectif de test permet de construire des cas de test en guidant l’exploration de la spécification selon certains critères • Objectifs et cas de test sont représentés en UML par des collaborations / interactions • Limitation : données traitées par énumération...

  13. Objectifs de test • D’un Use-Case UML au IO/LTS pour TGV

  14. Cas de test UMLAUT Simulateur TGV TGV UMLAUT Editeur d’objectifs

  15. Semi-automatic or manual UML/AS UML metamodel Impl. Tests Commercial tool 1 * Contracts XMI / MDL Commercial tool Application of transformation rules ... * Validation framework Java/Eiffel/C(++) GUI (Applet) 1 Outil commercial UMLAUT Protocol Validation engines La boîte à outils UMLAUT www.irisa.fr/UMLAUT

  16. Travaux de recherche • Conception par aspects, patterns & frameworks • UMLAUT=weaver UML, ASL, UMLAUT en UML • Composant Contractualisable • Générés par UMLAUT pour e.g. EJB, CCM, .NET • Composants auto-testables & analyse mutations • process, qualification des tests, mesures de fiabilité • Synthèse de tests à partir d’UML • combinant analyse statique (données) et dynamique

  17. Informations et contacts • Action Triskell • http://www.irisa.fr/triskell • Outil UMLAUT • http://www.irisa.fr/UMLAUT • Fonctionnalités : • Validation et génération de tests • Transformations de modèles UML • Interpréteur/Compilateur OCL/AS (niveaux modèle et méta) • Modélisation et utilisation de design patterns

More Related