« vers une méthodologie de validation et de vérification formelle des interfaces...
Post on 30-Dec-2015
41 Views
Preview:
DESCRIPTION
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
top related