«  vers une méthodologie de validation et de vérification formelle des interfaces...

17
« Vers une méthodologie de Validation et de Vérification formelle des Interfaces Utilisateurs. » CORTIER Alexandre Directeur : Bruno d’AUSBOURG (ONERA) Co-directeur : Yamine AIT-AMEUR (LISI- ENSMA)

Upload: haley-terrell

Post on 30-Dec-2015

41 views

Category:

Documents


3 download

DESCRIPTION

«  Vers une méthodologie de Validation et de Vérification formelle des Interfaces Utilisateurs.  ». CORTIER Alexandre. Directeur : Bruno d’AUSBOURG (ONERA) Co-directeur : Yamine AIT-AMEUR (LISI-ENSMA). SOMMAIRE. I- Contexte de l'étude : généralités II- Dévelopement des IU - PowerPoint PPT Presentation

TRANSCRIPT

«  Vers une méthodologie de Validation et de Vérification formelle des Interfaces Utilisateurs.  »

CORTIER Alexandre

Directeur : Bruno d’AUSBOURG (ONERA)Co-directeur : Yamine AIT-AMEUR (LISI-ENSMA)

I- Contexte de l'étude : généralités

II- Dévelopement des IU

III- Objectifs, Problématiques et Solutions

IV- Proposition méthodologique

V- Conclusion

SOMMAIRE

I- Contexte de l'étude : Généralités

Terminologie :

IHM = Domaine d'étude de l' Interaction Homme-Machine

IU = Interface UtilisateurSert de médiateur entre le noyau fonctionnel (NF) de

l'application et l'utilisateur

✗Système Interactif✗Utilisateur

IU NF

Complexification des interfaces :

Type d'interaction : les modalités

-Windows,Icons, Menus, Pointer,

- Manipulation directe, Voie, Toucher

Applications plus volumineuses et critiques :

- Contrôle de centrale, Cockpit de l'A380

- Téléphonie mobile

I- Contexte de l'étude : Généralités

Développement coûteux:

IHM = 80% de l'effort global de développement

Vérification par Tests > 50% du coût de développement

II- Le développement des IU : pluridisciplinaritéII.1 Approche expérimentale

Ergonomie et Psychologies expérimentale :

Modèles et/ou Notations permettant une meilleure compréhension du comportement de l'homme face à la machine. (Exemple : Modèle CTT (Concurr Task Tree))

>> [>

>> >> [] []

DAB

Autorisation Accès* Terminer Accès

InsérerCarte

Code PIN requis

Saisir CodePIN

Atout : Meilleure compréhension de l'utilisateur face à la machine=> Définition de critères d'évaluation

Inconvénient : Peu ou pas exploitable d'un point de vue développement informatique et validation (modèles semi-formels)

II- Le développement des IU : pluridisciplinaritéII.1 Approche expérimentale

A partir de ces modèles des critères d'évaluation ont été définis :

Propriétés comportementales : complétude, flexibilité de la présentation, atteignabilité, aspects ergonomiques

Propriétés de Robustesse : fiabilité du système, insistance, honnêteté, performances

II- Le développement des IU II.2 Approche formelle en ingénierie classique

ModèleFormel 1

Cahier des

Charges

ModèleFormel 2

ModèleFormel n

...

* Modèle Formel = Modèle à sémantique mathématique

- Model Checking : vérification exhaustive

-Theorem Proving : axiomes + règles de déduction

Génération de code

Raffinement

==>

==>

II- Le développement des IU II.3 Pragmatique Industrielle

Aucun encadrement méthodologique du processus n'estreconnu : codage from scratch ou par réutilisation !

Vérification : utilisation du TestLong, coûteux, fastidieux pour le développeur

III. Objectifs, Problématiques et Solutions proposées III.1 Objectifs

Permettre la Validation et la Vérification des IHM via un processus :

utilisant les Méthodes Formelles

utilisant les Modèles de spécification semi- formels ( CTT )

Principal objectif : Valider des scénarii d’interaction

(Adéquation implémentation / cahier des charges)

III. Objectifs, Problématiques et Solutions proposées III.2 Problématiques

Problématique technique :

- Hétérogénéité des modèles retenus * Approche expérimentale / formelle

- Validation des propriétés IHM délicates * Méthodologie de validation classique non applicable

Problématique contextuelle :

- Utilisation de MF dans le cadre du développement :* Nécessite un haut degré d'expertise de la part du développeur* Remise en cause du process de conception

S'inscrire dans les méthodes de travail des développeurs

=> Méthodologie appliquée pour la phase de Validation=> De quoi dispose t-on ?

- Du code source de l’application- Modèle d’architecture

Gérer l'hétérogénéité des modèles et valider les prop IHM

=> Choix d’utilisation de la technique formelle B

III. Objectifs, Problématiques et Solutions proposées III.3 Solutions Proposées

IV. Description de la Méthodologie proposée IV.1 Préliminaire : la méthode B-event Langage B : systèmes distribués, parallèles, réactifs et interactifs

sous forme de ST à commandes gardées

Modèle B-event = ensemble d'évènements atomiques décrit par des substitutions généralisées (Plus faible précondition de Dijkstra)MODEL ConvSETS /* Noms de type et noms d’ensemble */CONSTANTS /* Déclaration du nom des constantes */VARIABLES /* Déclaration du nom des variables*/INVARIANT /* Définition des propriétés statiques */ /* par des formules logiques */ASSERTIONS /* Définition de propriétés sur les variables et les constantes */INITIALISATION /* Description de l’état initial */EVENTS

Evt_Convert_Euros= SELECT P(X)THEN S(X)END

+ Principe de raffinement

- Ajout de nouvelles variables et/ou évènements

- Nécessite un invariant de collage

+ Système de preuve

- Theorem Prover

IV. Description de la Méthodologie proposée IV.2 Etapes de la méthodologie

Méthodologie en 3 temps :

1- Annotation du code source

* Prépare étape 2

2- Dérivation formelle du code source annoté

* Réalisation d'un Modèle B-event

3- Validation des propriétés IHM :

* Validation de scénarii de tâches * Coopération modèle CTT / modèle B

III. Méthodologie proposée III.3 Annotations JML

//@ requires e.getSource()=button1@ when JVM_event_button1=true@ assignable …@ ensures …@*/public void actionPerformed(ActionEvent e) { if (modif_francs==true) {

String vfs = valeur_francs.getText(); […]

valeur_euros.setText(ves); }

else { String ves = valeur_euros.getText();

[…]valeur_francs.setText(vfs);

} }

Annotations de spécifications :

- assertions localisées- pré- et post-conditions- définitions d'invariant de classes

+ Annotations de spécifications dédiées IHM

- But : Capturer le rôle d'animateur de classes joué par la JVM.

Annotations : Proche du langage Java=> Peut-être pris en charge par le développeur !

IV. Méthodologie proposée IV.4 Vue globale

CodeSource

+Annotations

Cahier des

Charges

Codage+

Annotation

Modèle B-Raff

Modèle B-Abs

Modèle B-Abs

Modèle CCT

Formalisation

Modèle B-Abs

Validation

TheoremProver

Preuves surModèle

Modèled’Architecture

V. Conclusions

Méthodologie proposée :

Repose sur les Méthodes Formels => limite l'utilisation de Tests

Permet la validation des propriétés dédiées IHM

Respecte le process de développement industriel

Travaux en cours

Etude de la dérivation du code source Java en B-event

Etude de cas issue du projet RNRT VERBATIM

Merci...