slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
«  Validation Formelle de Systèmes Interactifs » PowerPoint Presentation
Download Presentation
«  Validation Formelle de Systèmes Interactifs »

Loading in 2 Seconds...

play fullscreen
1 / 22

«  Validation Formelle de Systèmes Interactifs » - PowerPoint PPT Presentation


  • 130 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

«  Validation Formelle de Systèmes Interactifs »

Alexandre Cortier (ONERA)

Bruno d’Ausbourg (ONERA)

Yamine Aït-Ameur (LISI-ENSMA)

sommaire
Sommaire

- Introduction

- Approche Proposée

- Extraction d'un modèle B

- Validation Formelle

- Conclusions

slide3

I - Introduction : Terminologie

  • Utilisateur

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

IU

NF

  • Système Interactif
slide4

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)
slide5

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.

slide6

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 ?

slide7

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
slide8

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

slide10

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 !

slide11

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

slide12

II - Approche Proposée

Vue globale de l'approche proposée :

slide13

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

slide14

III - Extraction d'un modèle B-Event

Techniques utilisées pour l'extraction du modèle comportemental :

Intervention de l'opérateur

slide15

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)

slide16

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

}

slide17

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

slide19

I - Validation Formelle

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

slide20

IV - Validation Formelle

Couplage des modèles Btask et BapplM par raffinement :

Couplage des modèles par raffinement

slide21

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)