Title: Application PbdScript "Programmation par lexemple"
1 Application PbdScript"Programmation par
l exemple"
C. MARTIN LISI / ENSMA
2Introduction
3Introduction (1)
- Postulat de Allen Cypher (1993)
- "If a user knows how to perform a task on a
computer, that should be sufficient to create a
program to perfom the task"
4Introduction (2)
Les projets développés au LISI
- EBP
- générateur de géométrie paramétrée multi-formats.
- GIPSE
- ensemble de composants logiciels destiné à
faciliter et automatiser la conception
d'application graphiques interactives.
? Démarche développer des solutions permettant
d appliquer la programmation par l exemple sur
des domaines particuliers
5Introduction (3)
? Démarche développer une solutionsans
connaissance à priori ni du domaineni des
applications elles-mêmes
6Plan
- Description de PbdScript
- démarche utilisateur dans PbdScript
- en résumé
- État d avancement du projet
- exemple choisi
- structures implémentées
- fonctions disponibles
- tâches à suivre
7Description de PbdScript
8Description de PbdScript (1)
Démarche de l utilisateur dans PbdScript (1)
- Sélection de l application à piloter
9Description de PbdScript (2)
Démarche de l utilisateur dans PbdScript (2)
- Définition des interactions
10Description de PbdScript (3)
Démarche de l utilisateur dans PbdScript (3)
- Création d une hiérarchie de domaines
d application
11Description de PbdScript (4)
Démarche de l utilisateur dans PbdScript (4)
- Création de commandes par espionnage des
interactions - Modification éventuelle des commandes(à
discuter) - Utilisation d une commande dans plusieurs
domaines d application.
12Description de PbdScript (5)
- Pour chaque application à piloter, un
"dictionnaire" des interactions à prendre en
charge est défini par l utilisateur.
?Permettre à l utilisateur d introduire la
sémantique de l application. ?Lors des phases
d espionnage, ignorer les interactions non
référencées.
13Description de PbdScript (6)
En résumé (2)
- L utilisateur organise les commandes (ou
scripts) qu il a créées par domaines
d application.
? Permettre la création de commandes non
rattachées à une application. ?Permettre
l utilisation d une commande dans plusieurs
domaines d application.
14État d avancement du projet
15État d avancement du projet (1)
Exemple choisi
2 applications de type calculatrice
16État d avancement du projet (2)
Structures implémentées (1)
- Les domaines d application organisation
hiérarchique (arbre), à chaque domaine est
associé un ensemble de commandes.
17État d avancement du projet (3)
Structures implémentées (2)
- Les commandes elles désignent aussi bien les
interactions que les commandes de plus haut
niveau telles que les boucles.
18État d avancement du projet (4)
Structures implémentées (3)
- Classes représentant les composants swing de
l application à piloter
19État d avancement du projet (5)
Fonctions disponibles
- Gestion d un fichier d initialisation
- Chargement et exécution d applications
- Création des commandes interactives
- Affichage des domaines d applications
20État d avancement du projet (6)
- Gestion d un fichier d initialisation
- But sauvegarde et chargement des structures
créées lors de l utilisation de PbdScript. - Format fichier physique Express.
Exemple de fichier 1 VirtualDomain
("Calculatrice_2",(),()) 2 VirtualDomain
("Calculatrice_1",(),()) 3 VirtualDomain
("Logiciels de calcul",(2,1),())
21État d avancement du projet (7)
- Enregistrement d applications
- Déterminer le paquet et le nom de la classe de
l application à lancer et exécuter cette
application - Récupérer l arborescence des composants
graphiques dans la perspective de piloter ces
composants.
22État d avancement du projet (8)
- Création des commandes interactives
- Association d un composant graphique à une
commande qui représente une interaction de
l utilisateur (clic, etc, ...).
23État d avancement du projet (9)
- A court terme
- Développer les 2 applications java de type
calculatrice (très rapide) - Terminer la gestion de l enregistrement des
applications (certains points ne sont pas traités
comme le rechargement de l application) - Répondre à la question de la gestion des
paramètres (ex Entrer nombre) - Comment gérer la modification des commandes
édition interactive ou bien alors spécification
lors de l espionnage (exemple des boucles) ? - Réaliser une étude comparative avec des systèmes
tels que Eager et Aide.