« Validation Formelle de Systèmes Interactifs »

Slides:



Advertisements
Présentations similaires
Yassine Lakhnech Prof. UJF Verimag
Advertisements

Eléments de Génie Logiciel
Langage de modélisation objet unifié
Treuil IRD Abdelwahed FSSM-Marrakech
Algèbre de composants : une approche fonctionnelle à la sémantique de documents Bart Lamiroy LORIA/INPL QGar - École des Mines de Nancy.
Spécification et qualité du logiciel
Plate-forme Magicien d’Oz
Conception d’une interface pour ordinateur de plongée
1/22 Présentation Dechou & CO Développement dun programme de gestion dascenseurs Spécifications fonctionnelles générales.
1/22 Présentation Dechou & CO Développement dun programme de gestion dascenseurs Spécifications fonctionnelles générales.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Conception de Programmes Evolutifs Pré Soutenance de TER Année Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain.
Cours n° 8 Conception et Programmation à Objets
Régine Laleau Centre d'Étude et de Recherche en Informatique du CNAM
UML - Présentation.
POO / IHM Architecture Logicielle
- TUTORIAL MCIE - Méthode de Conception d’Interfaces Ergonomiques
Cours DESS Nantes 04 Décembre 2002
B événementiel Source : Présentation de J.R. Abrial (Janvier 2000) Le contrôleur du pont de l'île Le principe : le saut en parachute. Plus on s'approche.
UML (Unified Modeling Langage)
Laboratoire d’Interaction Collaborative, Téléformation, Téléactivités
Page de garde Introduction aux Design Patterns ISIA, Mars 2003
Introduction au Génie Logiciel
Les Systèmes Multi-Agents pour la Gestion de Production
Réalisée par :Samira RAHALI
Modèle, Méthode et Conception
Etude globale de système.
TILLARD Baptiste MANDYEV Andriy PESSION Julien MIRA Yoann
Projet de diplôme 2011 Miserez David
Présentation du mémoire
1 CSI3525: Concepts des Languages de Programmation Notes # 4: Description Semantique des Languages.
CSI3525: Concepts des Languages de Programmation
COTRE COmposants Temps REel
Partie II Sémantique.
Les étapes du cycle de développement du génie logiciel
Synchronisation Classique
Sensibilisation a la modelisation
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
Langage de modélisation graphique de systèmes
Raffinement de modèles JML Julien Groslambert LIFC Besançon Réunion GECCOO - 25 Octobre 2005 FRE 2661.
Spécification de Demoney en JML par raffinement Pierre-Alain Masson, Julien Groslambert LIFC Besançon Réunion GECCOO - 10 mars 2006 FRE 2661.
Paradigmes des Langages de Programmation
Outil de volumétrie pour Quadrige² 20 mars 2009 – O. CatryDUT Informatique.
EXIGE Un avenir dans le web....
Supports de formation au SQ Unifié
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Créer des packages.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Interfaces graphiques. Composants d'interface utilisateur graphique (GUI) 1 Bibliothèques Awt et Swing Procédures communes pour l'utilisation de ces clases.
Introduction au Génie Logiciel
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
Les réseaux de neurones à réservoir en traitement d’images
Initiation à la conception des systèmes d'informations
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
CORTIER Alexandre Directeur : Bruno d’AUSBOURG (ONERA)
Conception d’un langage pour l’algorithme évolutionniste M atthieu CHOUTEAU Y ohann HUBERT C hristophe PANNEAU E stelle FILMON Mr SAUBION – Décembre 2002.
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
La programmation par objets Principes et concepts Etude de Smalltalk.
Conception Formelle en PVS Master 2 ISC Chef de Projet: M. Pierre Castéran Présenté par: Roland Atoui Xavier Dumas Sébastien Jardel Laurent Vendredi.
Le diagramme de composants
2 Tracks Unified Process
IHM Modèle d’architecture et liens avec les outils de production d’interface IHM Dirrigé par : Catherine RECANATI Présenté par : Youssef OUDGHIRI YOUSFI.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
UML support à la COO 2ème année IUT Calais-Boulogne Bénédicte Talon
Du Cahier des Charges à la Spécification Formelle ?
Introduction aux Interfaces Homme-Machine
Modélisation des Actions Mécaniques Première sti2d
1 Monopalme Projet 4 Info Présentation finale LE LAY Olivier MAHE Jocelyn FORM Nicolas HENRY Gurvan BONNIN Thomas BASSAND Guillaume Décembre 2009 MONNIER.
1 Monopalme Projet 4 Info Présentation final LE LAY Olivier MAHE Jocelyn FORM Nicolas HENRY Gurvan BONNIN Thomas BASSAND Guillaume Décembre 2009 MONNIER.
Transcription de la présentation:

« Validation Formelle de Systèmes Interactifs » Alexandre Cortier (ONERA) Bruno d’Ausbourg (ONERA) Yamine Aït-Ameur (LISI-ENSMA)

Sommaire - Introduction - Approche Proposée - Extraction d'un modèle B - Validation Formelle - Conclusions

I - Introduction : Terminologie IHM = Domaine d'étude de l' Interaction Homme-Machine IU NF Utilisateur Système Interactif

I - Introduction : 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 Développement coûteux: IHM = 80% de l'effort global de développement Vérification = Tests (50% du coût de développement)

I - Introduction : Généralités Pragmatique : Peu de méthodologies de conception et de validation pour les IU qualifiées de critiques…(utilisation d’outils graphiques) Conséquence : code peu lisible et difficile à entretenir comportement final de l’application difficile à prévoir Proposition : Explorer la mise en œuvre de nouvelles méthodes pour assurer la CORRECTION de la partie interactive du système.

CTT (Concur Task Tree) JAVA I - Introduction : I - Introduction : Objectifs Modèle de Tâche CTT (Concur Task Tree) Code Source JAVA Spécification Abstraite du comportement de l'IHM. Comportement réel de l'application Validation Formelle L'implémentation respecte t-elle la spécification abstraite ?

I - Introduction : Modèle de Tâche CTT Structure hiérarchique de tâches - Différents types de tâche - Opérateurs temporels Définition en compréhension

I - Introduction : Méthode B-Event MODEL NameM VARIABLES x1,x2,... INVARIANT p(x1),p(x2),... INITIALISATION … EVENTS evt_1= SELECT G THEN S END; evt_2= ANY x WHERE p(x) THEN S2 ..... END B-event : - Adapté à la modélisation des Systèmes réactifs - Notion de raffinement - Obligations de Preuve

I - Introduction : Exemple « jouet »

I - Introduction : Exemple « jouet » public void actionPerformed(ActionEvent e) { output.setVisible(true); if (e.getSource()==EF){ EF.setEnabled(false); FE.setEnabled(true); ...} else { FE.setEnabled(false); EF.setEnabled(true); output.setText(result);} } listener Méthode JVM Traitement Modification du rendu de l’IU événement Click !

II - Approche Proposée Hypothèse de travail : - Prise en compte d'un sous-ensemble de Java - Pas de contraintes de synchronisation entre thread - Pas de création dynamique d'instances de widget pendant l'exécution

II - Approche Proposée Vue globale de l'approche proposée :

III - Extraction d'un modèle B-Event Extraire un modèle formel de l’application par Analyse Statique du code source. Ce modèle capture l’aspect comportemental de l’interface : - Abstraction totale du noyau fonctionnel : nécessite une bonne séparation du NF et de l’IU… - Extraction des éléments pertinents : widgets, listeners, méthodes listeners… Notamment : Clause INITIALIZATION : méthode main() Clause EVENTS : méthodes listeners ActionPerformed, KeyPressed

III - Extraction d'un modèle B-Event Techniques utilisées pour l'extraction du modèle comportemental : Intervention de l'opérateur

III - Extraction d'un modèle B-Event Modélisation de la bibliothèque Swing : MODEL BSwing SETS WIDGETS, LISTENERS, EVENT_TYPE={ActionPerformed, KeyPressed, KeyReleased,...} VARIABLES widgets, listeners, Jbutton, Jtextfield, ... widgets_att, Jbutton_att ,Jtextfield_att , UA INVARIANT widgets WIDGETS & listeners : LISTENERS & Jbutton widgets_att : widgets struct(enabled : BOOL, visible : BOOL, lists : P(listeners)) Jbutton_att : widgets ... Jtextfield_att : widgets ... UA : struct(source : widgets, Evt_type : EVENT_TYPE)

III - Extraction d'un modèle B-Event Taduction des méthodes listener : - In-lining des méthodes - Abstraction - Traduction des structures de contrôle (conditionnelle, séquencement,...) public void actionPerformed(ActionEvent e) { output.setVisible(true); if (e.getSource()==EF){ EF.setEnabled(false); FE.setEnabled(true); ...} else { FE.setEnabled(false); EF.setEnabled(true); output.setText(result);} }

IV - Validation Formelle Méthode : Montrer que le modèle du système est un raffinement correcte du modèle de tâche CTT. Réalisation en trois étape : 1. Concrétisation et Formalidation du modèle de tâche 2. Couplage du modèle BapplM avec Btask par raffinement 3. Obligations de preuves

I - Validation Formelle

I - Validation Formelle Etape 1 : Concrétisation et Formaisation du modèle de tâche

IV - Validation Formelle Couplage des modèles Btask et BapplM par raffinement : Couplage des modèles par raffinement

I - Conclusion Nous avons mis en place une approche permettant de valider un système interactif en terme d’utilisabilité. Pour cela nous avons utilisé : Un modèle de tâches : exigences du cahier des charges Code source de l’application Notre approche : Utilise un unique langage formel pour la validation A été utilisée avec succès sur une étude de cas simple Perspectives à court terme : Réalisation d’un outil permettant l’automatisation de la démarche Perspectives à long terme : Étendre la démarche (multimodalité, multi-threading)

QESTIONS ?