«  validation formelle de systèmes interactifs »

Download «   Validation Formelle de Systèmes Interactifs  »

Post on 06-Jan-2016

33 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

«  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. - PowerPoint PPT Presentation

TRANSCRIPT

  • Alexandre Cortier (ONERA) Bruno dAusbourg (ONERA) Yamine At-Ameur (LISI-ENSMA)

  • Sommaire- Introduction

    - Approche Propose

    - Extraction d'un modle B

    - Validation Formelle

    - Conclusions

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

    Systme InteractifIUNF

    I - Introduction : Terminologie

  • I - Introduction : GnralitsComplexification des interfaces : Type d'interaction : les modalits -Windows,Icons, Menus, Pointer, - Manipulation directe, Voie, Toucher

    Applications plus volumineuses et critiques : - Contrle de centrale, Cockpit de l'A380Dveloppement coteux: IHM = 80% de l'effort global de dveloppement Vrification = Tests (50% du cot de dveloppement)

  • I - Introduction : Gnralits

    I - Introduction : Gnralits

  • I - Introduction : Objectifs

    I - Introduction : Code Source

    JAVAModle de Tche

    CTT (Concur Task Tree)Spcification Abstraitedu comportement de l'IHM.Comportement rel de l'applicationL'implmentation respecte t-elle la spcification abstraite ?Validation Formelle

  • I - Introduction : Modle de Tche CTT CTT :

    Structure hirarchique de tches- Diffrents types de tche

    - Oprateurs temporels

    Dfinition en comprhension

  • I - Introduction : Mthode B-Event MODELNameMVARIABLESx1,x2,...INVARIANTp(x1),p(x2),...INITIALISATIONEVENTS

    evt_1= SELECT GTHEN SEND;

    evt_2= ANY xWHERE p(x)THEN S2END;.....ENDB-event :

    - Adapt la modlisation des Systmesractifs

    - Notion de raffinement

    - Obligations de Preuve

  • I - Introduction : Exemple jouet

  • I - Introduction : Exemple jouetlistenerModification durendu de lIUMthodeClick !vnement

  • II - Approche Propose Hypothse de travail :

    - Prise en compte d'un sous-ensemble de Java

    - Pas de contraintes de synchronisation entre thread

    - Pas de cration dynamique d'instances de widget pendant l'excution

  • II - Approche Propose Vue globale de l'approche propose :

  • III - Extraction d'un modle B-EventExtraire un modle formel de lapplication par Analyse Statique du code source.

    Ce modle capture laspect comportemental de linterface :

    - Abstraction totale du noyau fonctionnel :ncessite une bonne sparation du NF et de lIU

    - Extraction des lments pertinents : widgets, listeners,mthodes listeners

    Notamment :

    Clause INITIALIZATION : mthode main()Clause EVENTS : mthodes listeners ActionPerformed, KeyPressed

  • III - Extraction d'un modle B-EventTechniques utilises pour l'extraction du modle comportemental :Intervention de l'oprateur

  • III - Extraction d'un modle B-EventModlisation de la bibliothque Swing :MODEL BSwingSETS

    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 modle B-EventTaduction des mthodes listener :- In-lining des mthodes- Abstraction- Traduction des structures de contrle (conditionnelle, squencement,...)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 FormelleMthode : Montrer que le modle du systme est un raffinement correctedu modle de tche CTT.

    Ralisation en trois tape :

    1. Concrtisation et Formalidation du modle de tche

    2. Couplage du modle BapplM avec Btask par raffinement

    3. Obligations de preuves

  • I - Validation Formelle

  • I - Validation FormelleEtape 1 : Concrtisation et Formaisation du modle de tche

  • IV - Validation FormelleCouplage des modles par raffinementCouplage des modles Btask et BapplM par raffinement :

  • I - ConclusionNous avons mis en place une approche permettant de validerun systme interactif en terme dutilisabilit.

    Pour cela nous avons utilis : Un modle de tches : exigences du cahier des charges Code source de lapplication

    Notre approche :Utilise un unique langage formel pour la validationA t utilise avec succs sur une tude de cas simple

    Perspectives court terme : Ralisation dun outil permettant lautomatisation de la dmarche

    Perspectives long terme : tendre la dmarche (multimodalit, multi-threading)

  • QESTIONS ?

Recommended

View more >