1 / 22

«  Validation Formelle de Systèmes Interactifs »

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

keala
Download Presentation

«  Validation Formelle de Systèmes Interactifs »

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. I - Introduction : Généralités 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.

  6. I - Introduction : Objectifs I - Introduction : 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 ?

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

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

  9. I - Introduction : Exemple « jouet »

  10. 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);} } JVM Traitement listener Méthode Modification du rendu de l’IU événement Click !

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

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

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

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

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

  16. 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);} }

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

  18. I - Validation Formelle

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

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

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

  22. QESTIONS ?

More Related