17
Validation de conceptions UML de logiciels embarqués : emprunts aux approches formelles Alain Le Guennec Jean-Marc Jézéquel Action Triskell [email protected] -- http://www.irisa.fr/triskell

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

  • Upload
    ksena

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: 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

[email protected] -- http://www.irisa.fr/triskell

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

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

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

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…

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

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

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

Schéma d’utilisation

Problem

Validation code

Test Cases

Test Results

TGV Graph API

UML Analysis Model

Implementation

UML Design ModelValidation Framework UMLAUT/Simulator

Validation ResultsSimulation

Model Checking

Test purpose

Intégration de la validationdans un cycle de vie OO

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

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

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

Cohérence entre diagrammes :Implémentation d’une opération

a:A b:B c:C

mb()

mc()

ma(b)

return c

a:A b:B

c:Cc

1:mb()

2:return c <<parameter>>

3:mc()

This association is a consequence ofthe dataflow coming as a result of the call to mb().But what kind of association is this?It is neither <<global>>, <<parameter>> nor <<local>>.Is it derived from the other two associations?

This association has a parameter as one of its association-end.But how exactly does the association-end relate tothe corresponding formal parameter of the represented operation?Is it just by name matching, or is a meta-association missing somewhere?

b:B

call to mb()

H

call to mc()

c:C

H

This ObjectFlowState stands for the formal parameter'b' of the represented operation.The "parameter" meta-association of thisObjectFlowState hence points to the parameter 'b'.

This ObjectFlowState is the result of the call to mb().Hence its "parameter" meta-association points tothe 'result' parameter of the mb operation.It subsequently serves as the target for the call to mc().

ma

ma(b:B) / (b->mb())->mc();

A in S1 A in S2

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

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

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

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

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

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

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

Vérification de propriétés

• Cas des assertions OCL classiques– Les pré et post-conditions des routines

ainsi 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 états

devraient pouvoir être écrites en OCL

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

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

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

Objectifs de test

• D’un Use-Case UML au IO/LTS pour TGV

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

Cas de test

TGV

UMLAUTSimulateur

TGV

UMLAUTEditeur d’objectifs

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

La boîte à outils UMLAUT

Commercial tool

Commercial tool

XMI /MDL

www.irisa.fr/UMLAUT

1 *

UML metamodel

Idle

Active

start stop

Java/Eiffel/C(++)

...Outil commercial GUI (Applet)

UMLAUTProtocol *

1

Application of

transformationrules

Semi-automatic or manual

Impl.

Contracts

Tests

Validation framework

Validation engines

UML/AS

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

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

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

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