« 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 III- Objectifs, Problématiques et Solutions IV- Proposition méthodologique V- Conclusion
I- Contexte de l'étude : Généralités Terminologie : IHM = Domaine d'étude de l' Interaction Homme-Machine IU = Interface Utilisateur Sert de médiateur entre le noyau fonctionnel (NF) de l'application et l'utilisateur IU NF Utilisateur Système Interactif
I- Contexte de l'étude : Généralités 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 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érer Carte Code PIN requis Saisir Code PIN
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 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 II.2 Approche formelle en ingénierie classique Cahier des Charges - Model Checking : vérification exhaustive -Theorem Proving : axiomes + règles de déduction ==> Modèle Formel 1 Raffinement Modèle Formel 2 ==> ... Modèle Formel n Génération de code * Modèle Formel = Modèle à sémantique mathématique
II- Le développement des IU II.3 Pragmatique Industrielle Aucun encadrement méthodologique du processus n'est reconnu : codage from scratch ou par réutilisation ! Vérification : utilisation du Test Long, coûteux, fastidieux pour le développeur
III. Objectifs, Problématiques et Solutions proposées 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
III. Objectifs, Problématiques et Solutions proposées III.3 Solutions Proposées 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
+ + 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 Conv SETS /* 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 Modèle CCT Cahier des Charges Formalisation Validation Modèle B-Abs Modèle d’Architecture Modèle B-Abs Codage + Annotation Modèle B-Abs Code Source + Annotations Theorem Prover Modèle B-Raff Preuves sur Modèle
Méthodologie proposée : 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...