• Aucun résultat trouvé

6.2 Evaluation de la pertinence de la méthodologie outillée

6.2.4 Analyse des résultats

L’une des questions de cette évaluation était de savoir si les participantes parviennent à envi-sager facilement la manière dont les technologies d’assistance peuvent les aider pour renforcer le support actuel apporté aux personnes déficientes. Nous avons donc accordé une importance par-ticulière à leur façon d’utiliser les objets pour accomplir les buts élémentaires. Nous détaillons ce point après avoir rapporté les stratégies de décomposition adoptées par chacune.

6.2.4.1 Stratégies de décomposition

Anne a choisi deux buts : le premier est “se lever” et le second est “faire sa toilette” ; Catherine a choisi le second but. Parmi les quatre buts proposés, toutes deux ont désigné l’activité de toilette comme la plus importante parmi celles nécessitant une assistance.

Anne a naturellement suivi la démarche de décomposition suggérée avant l’évaluation. Ca-therine s’est sentie plus à l’aise en effectuant une décomposition détaillée en buts élémentaires dès le premier pas de décomposition. Plus précisément, chaque but correspondait à des tâches élémentaires qu’une personne doit effectuer chronologiquement pour réaliser le but “faire sa toilette”. Bien qu’étant à un seul niveau, cette décomposition se restructurait naturellement en sous-buts. A l’issue de cette étape de l’évaluation, toutes deux ont indiqué que la méthodologie est indiscutablement proche de leur démarche habituelle pour élaborer des stratégies éducatives. 6.2.4.2 Objets élémentaires et applications d’assistance

Anne est familière avec les technologies de la domotique (capteurs, étiquettes RFID) et avec l’idée d’interaction à distance entre les entités, par exemple via Internet ; il lui a paru naturel de faire correspondre des buts à des objets. En revanche, Catherine était au départ perplexe lorsqu’il a fallu associer les sous-buts aux objets, car elle ne parvenait pas à se sentir à l’aise avec les concepts de domotique et d’interaction distante. Nous lui avons alors suggéré quelques applications basiques utilisant un détecteur de présence, des étiquettes électroniques et des scanneurs d’étiquettes, en soulignant la possibilité de les contrôler à distance pour les faire interagir. Un déclic s’est produit et elle est ensuite parvenue sans hésitation à connecter à chaque but élémentaire des objets appropriés.

Les deux éducatrices ont emprunté une démarche similaire pour faire cette connexion : après avoir sélectionné quelques objets, elles ont formulé des phrases décrivant la manière dont ceux-ci peuvent assister un but. Par exemple, pour le sous-but “se brosser les dents”, Anne a imaginé une salle de bain équipée d’un haut-parleur, d’un lavabo surmonté d’une tablette RFID (objet qu’elle a inventé), ainsi que des diodes de localisation pour chaque élément nécessaire à cette activité. Les étiquettes RFID, fixées sur la tablette, seraient capables de détecter si un élément (la brosse à dent, le gant et le verre de rinçage) est posé ou retiré. La description d’une application était dirigée par des suppositions sur le comportement de la personne : si la personne prend le verre avant la brosse à dent, la voix du haut-parleur lui rappelle de prendre la brosse à dent d’abord. Après l’activité de brossage, la diode associée au verre clignote pour indiquer la tâche de rinçage.

6.2 Evaluation de la pertinence de la méthodologie outillée

Nous avons également observé que les éducatrices ont substitué naturellement les objets aux supports d’assistance habituels : les diodes ont remplacé les images, le haut-parleur a tenu lieu de rappel oral par l’éducateur lorsque la personne oublie une tâche. Pour assister l’ordon-nancement des tâches, un prompteur de tâches était proposé dans la bibliothèque. Cet objet était omniprésent dans les applications proposées par les éducatrices. Par exemple, Catherine a utilisé le prompteur de tâches pour les activités de brossage dentaire et de toilette faciale. En supposant que les compétences de la personne déficiente le permettent, Catherine a proposé de lui laisser contrôler le prompteur.

6.2.4.3 Discussions sur Pantagruel

Nous avons finalement fait une démonstration de Pantagruel pour programmer quelques unes des applications envisagées à l’étape précédente. Le propos de cette démonstration était de recueillir leurs impressions sur l’accessibilité de l’outil, et leurs attentes vis-à-vis d’un tel outil.

Bien que l’outil leur ait paru accessible en tant que non-programmeuses (Catherine a pu créer quelques règles cohérentes pour un des buts de l’évaluation), leur première impression est que l’outil n’est pas adapté à la démarche des éducatrices. En particulier, Anne a indiqué que “l’approche de développement de Pantagruel est centrée sur les objets, alors que celle de

l’éducateur spécialisé est centrée sur l’action à réaliser”. Pour améliorer l’outil, d’intéressantes

suggestions ont été formulées par les éducatrices, que nous rapportons maintenant.

Programmation par configuration ou modification Les deux éducatrices ont proposé un pro-cessus de programmation basé sur des modèles de règles d’orchestration prédéfinies selon un catalogue de buts usuels. L’idée est que l’éducateur choisisse un but du catalogue pour accéder à un modèle de règles, qu’il modifie ou configure pour l’adapter aux besoins d’un individu. Anne a ainsi proposé que, plutôt que de créer les règles en partant de zéro, l’on supprime des entités d’un programme Pantagruel prédéfini, ou l’on complète des règles existantes avec de nouvelles conditions ou actions, selon que la stratégie éducative doit être assouplie ou renfor-cée. Anne a notamment trouvé pratique l’idée que la suppression d’une entité entraîne celle de tous les éléments l’impliquant. Une technique de programmation similaire, basée sur la com-position et la modification, a été proposée par S. Carmien dans sa thèse sur les technologies d’assistance [Car02].

Pour une représentation visuelle adaptée L’éditeur de Pantagruel fournit une aide contex-tuelle à l’utilisateur ainsi qu’une représentation sommaire en langage naturel de chaque règle, centrée sur les entités (nous reviendrons sur cette représentation dans le chapitre 8, au moment de parler de l’accessibilité du langage). Cette représentation a inspiré les deux éducatrices qui ont alors suggéré une interprétation des règles centrée sur les actions à réaliser par la per-sonne. Par exemple, pour l’un des programmes présentés dans la démonstration (figure 6.3 de la page 90), Anne a proposé la traduction suivante : lorsqu’Henrick va sous la douche, la porte de la salle de bain doit être fermée et la douche réglée à la bonne température. Cette formulation masque les attributs des objets (par exemple, le statut de la porte), mais également

6 Orchestration d’entités guidée par la méthodologie

l’objet détecteur de présence placé sous la douche. Pour permettre une telle traduction, un tra-vail important est nécessaire concernant l’accessibilité de la taxonomie et son intégration totale dans un processus de développement orienté buts. Pour cela, les objets pourraient être mis à disposition par un moteur de recherche centré sur les buts plutôt que sur des familles d’objets. Ensuite, l’interprétation des règles pourrait reposer sur les informations de buts fournies par ce moteur de recherche en utilisant les techniques de représentation de connaissances basées sur les ontologies [ISM97]. Ce travail peut faire l’objet d’une nouvelle direction de recherche pour améliorer l’accessibilité de Pantagruel.

Pour un programme fiable Catherine et Anne ont signalé la nécessité de développer des programmes fiables. Notamment, au cours de la démonstration, toutes deux ont évoqué la question du conflit entre deux règles : par exemple, à propos des règles d’orchestration du mitigeur, Anne a posé la question : “que se passe-t-il lorsqu’une règle ferme le mitigeur et

qu’une autre l’ouvre au même moment ?”. Ces remarques nous ont poussé à implémenter la

vérification de quelques propriétés que nous exposons dans le chapitre 7.

Bilan

Cette évaluation montre que l’étape d’analyse de notre méthodologie correspond à la dé-marche usuelle d’élaboration de stratégies éducatives. En particulier, elle montre l’importance de la décomposition pour assister une personne déficiente dans les tâches les plus élémentaires de ses activités quotidiennes. Bien que les éducatrices soient sceptiques quant à la représentation visuelle de Pantagruel, elles sont intéressées par l’intégration d’un tel outil dans leur démarche professionnelle. Toutefois, cet outil a aussi soulevé de nombreuses questions d’ordre éthique ou pratique, comme le risque d’obtenir un effet inverse à celui escompté, c’est-à-dire l’acquisi-tion par la personne déficiente d’une dépendance aux supports technologiques. Ces quesl’acquisi-tions ont également mis en évidence la nécessité de faciliter l’adaptation des applications par un expert-métier. En résumé, les discussions que nous avons eues avec les éducatrices spécialisées font entrevoir de nouvelles directions de recherche très intéressantes sur l’accessibilité de la programmation.

6.3 Synthèse

Dans le chapitre 4 nous avions présenté la méthodologie outillée et nous en avions illustré la phase d’analyse. Dans ce chapitre nous en avons illustré la phase de synthèse, montrant ainsi le processus complet de développement d’applications à l’aide de la méthodologie et de Pantagruel. Nous avons également évalué la pertinence de cette démarche auprès d’éducateurs spécialisés. Cette évaluation a montré que l’étape d’analyse est adaptée à la démarche des éducateurs spécialisés, qui se sont montrés particulièrement intéressés par notre méthodologie. Cependant, bien qu’étant a priori accessible à des utilisateurs finaux, Pantagruel reste un langage encore trop programmatique pour des experts-métiers.

Il reste plusieurs points à traiter dans la méthodologie. D’une part, la connexion entre la phase d’analyse et la phase de synthèse, consistant à modéliser les objets, est une activité

6.3 Synthèse

difficile. En pratique, elle requiert l’intervention d’un expert spécialisé dans les composants matériels et logiciels d’un champ d’applications afin de développer les bonnes interfaces pour accéder à ces composants. Pour cela, il est nécessaire de mettre en place une collaboration entre celui-ci et l’expert-métier. Dow et al. ont proposé des principes de conception d’applications ubiquitaires mettant en évidence la nécessité de faire collaborer les différents acteurs du cycle de développement d’une application [DSLL06].

Il y a également un travail important à continuer sur l’accessibilité de la programmation pour l’expert-métier. En particulier, Pantagruel impose une représentation visuelle qui, si elle est adaptée au prototypage d’applications, ne reflète pas forcément la manière dont un expert-métier formule une solution. Pantagruel pourrait néanmoins servir de représentation pivot, à partir de laquelle on dériverait différentes formulations selon le champ d’applications et le mode de pensée de l’expert-métier (par exemple, par une traduction centrée sur les actions pour l’éducateur spécialisé).

7 Vers une approche de programmation dirigée

par les vérifications

Contexte Une des caractéristiques du langage Pantagruel est de coupler une sous-couche lan-gage de taxonomie avec une sous-couche lanlan-gage d’orchestration paramétré par une taxonomie. Le développement d’applications d’orchestration est ainsi rigoureusement dirigé par les des-criptions d’entités, ce qui permet aux experts-métiers de définir des règles d’orchestration en utilisant les termes de son métier. Cependant, il reste à assurer à l’expert-métier que les appli-cations d’orchestration sont fiables et qu’elles se comportent conformément à ses attentes.

Contribution Ce chapitre propose une approche de programmation guidée par l’expression d’invariants sur des applications d’orchestration Pantagruel. Les invariants peuvent être expri-més dans le langage Pantagruel. Nous présentons également une définition de la propriété de non-interférence qui est un concept clé du langage d’orchestration. Ces propriétés sont fondées sur les concepts de Pantagruel formalisés par sa sémantique, ce qui permet alors de mettre en oeuvre des techniques de vérification. Ce travail est le résultat d’une collaboration avec Julien Mercadal.

Plan Dans la section 7.1 nous présentons la problématique liée à la vérification des programmes Pantagruel. Dans la section 7.2, nous proposons un angle d’attaque pour aborder cette problé-matique. Nous donnons ensuite dans la section 7.3 une définition de deux types d’invariants pouvant être exprimés sous forme de règles Pantagruel. Nous y formalisons également la notion de non-interférence. Enfin, la section 7.4 conclut ce chapitre.