Title: De la conception la construction dapplication sre
1De la conception à la construction dapplication
sûre
IHM 200214ème Conférence Francophonesur
linteraction Homme-Machine
Rencontre DoctoraleMardi 26 novembre 2002
2Problématique
- IHM présentes dans les systèmes critiques
- Nécessité de modèles
- Architecture
- Description de besoins utilisateurs
- Mise en uvre aujourdhui par
Les constructeursdinterfaces
Les Systèmes Basés sur Modèles
Les approches formelles
3Problématique
- Les constructeurs dinterfaces (exVisual C)
- Outils daide à la conception
- Absence darchitecture
- Absence de prise en compte des besoins de
lutilisateur
- Les Systèmes Basés sur Modèles (exMobi-D)
- Ensemble de modèles (modèle de tâches)
- Langages spécifiques à chaque modèle
- Les approches formelles (ex Langage B)
- Sémantique formelle
- Validation et vérification formelles de
propriétés
4La démarche proposée intégration
- Approche de conception
- Outils de conception interactifs et de
vérification - Prise en compte des besoins de lutilisateur
- Modèle architecture fixé
- Approche de vérification formelle
- Assure des propriétés ergonomiques
complémentaires - Support de validation
Approche de conception
Approche de vérification
Aucune Méthode Définie
5Plan de la présentation
- Approche de vérification formelle
- Conclusion - Perspectives
6Lapproche GenBUILD
Approche de conception
Noyau Fonctionnel
GenBUILD
Concepteur dinterface
Spécialiste de la programmation
- Caractéristiques de loutil GenBUILD
- Programmation visuelle, espionnage des
interactions - Saffranchit de lourdes phases de compilation
7Limitations de lapproche GenBUILD
Approche de conception
- L absence du point de vue de lutilisateur (Les
actions de l utilisateur) - Contraintes sur les précédences
- Le noyau fonctionnel sappuie sur une sémantique
non formelle - Propriétés du noyau fonctionnel
8Perfectionnement de l approche GenBUILD
Approche de conception
Modèle de tâches Point de vue de
lutilisateur
- Sémantique appropriée
- Outils de vérification
Approche SUIDT
- Sémantique formelle
- Outils de résolution de preuves
Utilisation dune abstractiondu NF
9Lapproche SUIDT
Approche de conception
- SUIDT Safe User Interface Development Tool
- Outil danimation de noyau fonctionnel formel
- Éditeur de modèle de tâches
- Outil de conception dinterfaces utilisateurs
(GUI-Builder) - Outil de vérification
Interface Utilisateur
Spécialiste de la programmation
Concepteur dinterface
Abstraction du Noyau Fonctionnel
Dialogue
10Noyau fonctionnel formel
Approche de conception
Spécialiste de la programmation
- Objectifs de la formalisation du NF
- Respect des propriétés fonctionnelles
- Respect des règles du génie logiciel
- Modèle sûr et validé
- Technique et outil
- Atelier B
- Preuve
Concepteur dinterface
Spécification
Utilisation, Compréhension, Test...
11Les besoins utilisateurs
Approche de conception
Comment décrire lapplication du point de vue de
lutilisateur ?
Par lintermédiaire dun Modèle de Tâches.
CTT ConcurTaskTrees
Sans modification de la sémantique de CTT
12Le formalisme CTT
Approche de conception
- Atouts de CTT
- Syntaxe graphique
- Diversité des tâches (utilisateur, application,
abstraite et interaction) - Opérateurs temporels issus de Lotos
- Limitations de CTT
- Faible description des objets manipulés par les
tâches - Faible niveau dinteraction
13Létude de cas Le convertisseur Franc/Euro
14Dialogue ltgt Modèle de tâche
Approche de conception
Contrôleur de dialogue
Interface utilisateur et boîte à outils
Noyau fonctionnel et interface application
15Décomposition du point de vue de lutilisateur
Approche de conception
Modèle de tâches abstrait
Modèle de tâches concret
Interface Utilisateur
Noyau Fonctionnel
Noyau Fonctionnel
Concrétisation
Résultat du point de vue utilisateur
Manipulation des objets
16Modèle de tâche abstrait
Approche de conception
- Définition dun modèle de tâches abstrait
- Aucun choix technique dinteraction nest
autorisé - Tâches de bas niveau sont associées aux objets
du NF
17L intérêt du modèle de tâche abstrait
Approche de conception
- La vérification permet
- Valider et proposer des scénarii dappels aux
objets du NF - Respecter les invariants du NF
- Une base solide
- Plusieurs vues possibles pour un même modèle de
tâches abstrait
?
18Modèle de tâche concret
Approche de conception
- Définition dun modèle de tâche concret
- Concrétiser dans une IHM les tâches du modèle de
tâches abstrait - Tâches concrètes sont associées aux objets du NF
et de la présentation
Tâche du modèle de tâches abstrait
Tâche concrète
Tâche concrète
Concrétisation
19Modèle de tâche concret
Approche de conception
20Lintérêt du modèle de tâche concret
Approche de conception
- Le modèle de tâche concret
- Déterministe, une vue unique de la présentation
- Gère le dialogue de lapplication interactive
- La vérification va permettre
- Garantir quune tâche utilisateur est
atteignable - Garantir que les appels aux objets du NF et de
la présentation sont respectés
21Une vérification complète ?
Approche de conception
- Démarche de conception
- Imposer une architecture logicielle
- Imposer le point de vue de lutilisateur
- Vérification
- Vérifier lapplication interactive par un
ensemble de test
- Solutions
- Test exhaustif
- Preuve
22Lapproche de vérification formelle
Approche de vérification
- Ce quon veut montrer
- Propriétés ergonomiques complémentaires
- Existant de la partie conception
- Modèle darchitecture
- Formalisme CTT
- Besoins
- Méthode formelle
- Modéliser lapplication suivant une architecture
- Représentation des tâches CTT
- Décomposition dune tâche en sous tâche
- Aspect temporel des tâches
- Pré/Post condition dune tâche
23Modélisation et validation formelles de
lapplication
Approche de vérification
- Choix de la méthode formelle le langage B
- Spécification du noyau fonctionnel de la partie
conception - Travaux du Post-It Notes
- Modélisation plus complexes (plusieurs widgets,
plusieurs périphériques dentrées) - Rétro-conception JAVA/Swing
24Modélisation et validation formelles de
lapplication
Approche de vérification
- Principe de B
- Notation à laide de machines abstraites
- Sémantique basée sur des substitutions
généralisées - Affaiblissement des pré-conditions
- Raffinement
- Définition de plus en plus précise de la
spécification
- Structuration
- Machines
- Importation
- Preuves
- Respect des invariants
25Modélisation et validation formelles de
lapplication
Approche de vérification
Décomposition de lapplication suivant ARCH
Clause EXTENDS
Non précisé
26Modélisation et validation formelles de
lapplication
Approche de vérification
MACHINE BEvent EXTENDS BControleur OPERATIONS o
p1(p_i) PRE p_i b_controleur_created
THEN / L'etat du keyboard est pushed
/ SELECT b_keyboard_state(get_b_keyboard(p_i))
pushed / Uniquement les chiffres
/ b_keyboard_currentkey(get_b_keyboard(p_i)) /
NO_TOUCH or b_keyboard_currentkey(get_b_keyboard(
p_i)) / ENTER) THEN keypress_intfield_ecritu
re(p_i) END END ...
En-Tête de la machine B
En-Tête d une opération
Prédicat de typage
Garde relative à lapplication
Appel dune opération de lapplication
27Modélisation et validation formelles du modèle de
tâche
Approche de vérification
- Décomposition dune tâche en sous tâche
- 1 niveau de raffinement gt 1 niveau de sous
tâches
REFINEMENT TM_T1_REF1EXTENDS Architecture,
Task_T11 op_T1 PRE THEN op_T11
op_a3 ENDEND
MACHINE TM_T1 op_T1 PRE THEN
ENDEND
REFINEMENT TM_T11_Ref1EXTENDS Architecture
op_T11 PRE THEN op_a1 op_a2 ENDEND
MACHINE TM_T11 op_T11 PRE THEN
ENDEND
28Modélisation et validation formelles du modèle de
tâche
Approche de vérification
- Aspect temporel des tâches
- Sémantique Entrelacement des tâches
Opérateur activation
Opérateur choix
op_T1 PRE THEN CHOICE S11
OR S12 ENDEND
op_T1 PRE THEN S11 S12
ENDEND
- Pré/Post condition dune tâche
- Pré-condition substitution select
- Post-condition opérations de lapplication
interactive
29Bilan de la modélisation
Approche de vérification
- Caractéristiques de la modélisation
- 17 machines de conception
- 1 machine et 2 raffinements pour le modèle de
tâche - 841 obligations de preuves à décharger
- 100 preuves automatiques grâce à lapproche
choisie
---------------------------------------------
-----------------------------------
COMPONENT TC POG Obv
nPO nUn Pr B0C C Ada C
--------------------------------------------
------------------------------------
BBoutonDown OK OK 147
47 0 100 -
BBoutonUp OK OK 147
47 0 100 -
BBoutonWidget OK OK 1
0 0 100 - BEvent
OK OK 204 34
0 100 - BFrame
OK OK 55 31 0
100 - BIntFieldEcriture
OK OK 238 69 0 100
- BIntFieldLecture
OK OK 134 51 0 100 -
BIntFieldWidget
OK OK 1 0 0 100 -
BInterface OK
OK 720 41 0 100 -
BInterface_With_Interaction OK OK
1186 75 0 100 -
BKeyboard OK OK
56 28 0 100 -
BMouse OK OK 89
53 0 100 -
BScreen OK OK 3
5 0 100 -
BWidget OK OK 1
0 0 100 -
Convert OK OK 48
5 0 100 -
TM_cfe_ref1 OK OK 207
34 0 100 -
TM_cfe_ref2 OK OK 11116
112 0 100 -
TM_cfe_ref3 OK OK 12697
209 0 100 -
--------------------------------------------
------------------------------------
TOTAL OK OK 27050
841 0 100 - OK OK OK
--------------------------------------------
------------------------------------
30Bilan de la modélisation
Approche de vérification
- 100 des obligations de preuves déchargées
- Vérifie les propriétés de lapplication
interactive - Vérifie les propriétés du modèle de tâches de
lutilisateur - Consistance La conversion ne peut seffectuer
à la fois en euro et en franc
Évite des phases de test
31Conclusion générale
- Démarche complète
- Approche de conception outillée par SUIDT
- Approche de vérification spécifiée par le
langage B
- Perspectives
- Coupler lAtelier B avec lapproche de
conception - Méthode
- Règle dutilisation des approches
- Techniques
- Réutilisabilité de tâches