• Aucun résultat trouvé

3.8 Résultats de la validation et de la spécification de scénarios

3.8.4 Résultats de la spécification du scénario 4

Le scénario « errance nocturne » décrit le comportement d’une personne durant la nuit à qui on souhaiterait porter assistance durant des épisodes d’errances nocturnes pour en réduire l’impact sur elle et sur ses proches.

La démarche de conception nous permet de réduire le scénario d’errance nocturne à sa plus simple expression. La Figure3.15montre une représentation hiérarchique dans laquelle l’attention est tout de suite portée sur l’utilisateur. Elle décline le scénario en 2 axes majeurs : «satisfaire un besoin» et «relaxer la personne».

Le Tableau 3.5 décrit les résultats obtenus pour la vérification des spécifications.

3.9

Conclusion du chapitre

Dans un contexte d’habitat intelligent, la mécanique sous-jacente d’assistance doit être telle que la sûreté de fonctionnement doit être garantie et la sécurité des personnes assurée d’un point de vue des besoins utilisateurs. La mécanique de test des logiciels

Figure 3.15 – Représentation hiérarchique du scénario : «errance nocturne»

Tableau 3.5 – Résultats de la vérification des assertions pour le scénario 4 Assertion acyclique

Portée Variables Clauses Temps (ms) 3 32232 107 448 220

4 43013 143363 372

5 53806 179298 157

10 146148 423971 707 15 498400 1353240 1482

est incapable de mettre en évidence tous les cas de tests possibles. Cette lacune est fondamentalement liée à son paradigme. Nous proposons d’utiliser les modèles formels pour bâtir les scénarios nécessaires au bon fonctionnement des systèmes d’assistance ambiants.

Le modèle formel permet de capturer les propriétés d’un domaine pour que celui-ci reste cohérent et correct. Ainsi, il apporte une sémantique c’est-à-dire qu’il identifie les ambiguïtés qu’elles soient bonnes ou pas. Le modèle formel exprime les faits sous forme de règles. Les outils utilisés permettent de vérifier la conformité des spécifications en cherchant des contre-exemples dans une portée donnée, plutôt que de tester tous les cas possibles.

Ce chapitre présente la démarche menée pour spécifier de manière formelle les scénarios d’assistance. Il commence par définir les concepts qui oscillent autour des scénarios. Puis des exigences de la multidisciplinarité du sujet traité, il fait ressortir les caractéristiques et les attributs des scénarios. Il propose par la suite une organisa- tion hiérarchique de représentation et de modélisation des scénarios pour l’assistance ambiante. Il montre par des exemples comment construire un scénario en mettant l’accent sur les questions à se poser pour chaque méthode (ascendante, descendante, combinaison). Quatre scénarios sont décrits et sont utilisés pour tester le modèle et la spécification principale proposés. L’outil ALLOY est utilisé pour spécifier, vérifier et assure la cohérence des quatre scénarios proposés.

Certaines limites ont été identifiées durant la production des spécifications avec ALLOY. La première vient du fait que la sémantique que nous proposons peut ne pas être la meilleure vu que nous utilisons une structure hiérarchique. La seconde vient du fait que le code produit par la spécification est verbeux et difficile à lire pour toutes les parties prenantes. Pour prendre en considération le deuxième inconvénient, nous avons proposé une approche de conception itérative et incrémentale où les spéci- fications générées automatiquement sont directement vérifiées. La suite du document montre comment le modèle hiérarchique de scénarios est couplé avec d’autres entités intervenantes dans le processus d’assistance pour offrir plus de services sensibles au contexte de l’utilisateur. Les ontologies sont utilisées pour faciliter cette capacité.

Modèle Sémantique des Systèmes

Ambiants

Pour concevoir et mettre en place un système d’assistance ambiante DIY dédié à des personnes ayant peu ou pas de connaissances en informatique, nous proposons une ontologie de domaine et d’application. Cette ontologie structure et organise les connaissances du domaine de l’informatique ubiquitaire, de la sensibilité au contexte des capteurs et de l’environnement de la personne. Ceci permet aux agents logiciels de haut niveau de raisonner sur des faits plutôt que sur les données à l’aide des mo- teurs d’inférences ontologiques. Cette section présente la démarche, les contraintes, les conceptualisations et les résultats qui ont conduit à la définition d’un modèle sé- mantique d’assistance ambiante. La contribution proposée a directement été intégrée au projet principal NEARS.

4.1

De la donnée à la connaissance sémantique

multiniveaux

Les habitats deviennent intelligents quand ils sont capables de comprendre et trai- ter les informations issues des capteurs, de l’environnement et de l’écosystème qui en- toure l’habitat. Il faut donc mettre en place un processus rigoureux capable d’extraire l’information dans cet écosystème afin de le rendre disponible pour exploitation.

Les systèmes d’assistance ambiants n’utilisant pas les ontologies sont, pour la plupart, basés sur des règles pour offrir l’intelligence nécessaire à l’habitat. Concrè- tement, ces systèmes utilisent la logique de prédicat de premier ordre pour trouver la contrainte à satisfaire. Chaque contrainte sous forme de programme (script) plani- fié écoute les entrées-sorties, récupère la valeur ou la donnée postée puis la propage à l’ensemble de ses règles pour vérifier celles qui seront satisfaites. Pour bien com- prendre cela, reprenons l’exemple décrit plus haut dans la section sur la structuration des informations dans l’ontologie 1.3.1. Dans cet exemple, l’habitat intelligent sou- haite éclairer le couloir lorsque la personne âgée se lève pendant la nuit. Si le capteur de mouvement de la chambre à coucher indique "ON" il déclenche la règle permet- tant d’allumer les lumières de la chambre dès qu’un mouvement dans la chambre est détecté. Cette règle pour être efficace ajoute des informations temporelles afin de ne s’exécuter qu’après 18 h. Malgré cela, cette règle reste très inefficace, en ce sens qu’elle ignore tout du contexte dans lequel elle s’exécute. Aucune connaissance sur l’histo- rique du capteur n’est connue du système de règles, ce qui engendre une incapacité à établir des règles très précises. De plus, il n’est donné aucune information sur les interactions entre les règles existantes. Entrent-elles en conflit ? S’annulent-elles ? Le manque d’informations sur les autres entités qui interviennent dans le processus ne permet pas de rendre cette règle robuste ni de gérer les informations temporelles et spatiales.

La Figure 4.1 compare les raisonnements établis par les systèmes qui utilisent ou non les ontologies pour raisonner sur la détection de mouvement dans la chambre à coucher ou sur toutes autres activités. Les ontologies sont basées sur la logique de description et l’Internet des objets se construit mieux dans un environnement (do- maine) où la connaissance est ouverte. Cette construction facilite l’interopérabilité et la réutilisabilité des concepts, pour permettre un accès plus large à la connaissance ambiante. Les systèmes de raisonnement basés sur la programmation logique peuvent donc utiliser cette connaissance pour offrir une inférence à un niveau contextuel mieux enrichi par la connaissance ambiante. Dans l’exemple de la figure 4.1.a), le système n’utilise pas l’ontologie, du coup le raisonnement lié à la règle « mouvement dans la chambre » se restreint à cette information, sans inférer l’activité que réalise la per- sonne par manque d’informations contextuelles. Par contre, lorsque le raisonnement

Figure 4.1 – Intégration de la connaissance dans le raisonnement

est basé sur les ontologies, les différentes couches de connaissances sont impliquées. Ainsi, le système infère non seulement que la personne est dans la chambre, mais aussi peut inférer son activité, à savoir qu’elle est endormie, en ajoutant d’autres informations au contexte : l’heure, les états d’autres capteurs. (voir Figure 4.1.b)

Cette figure permet de comprendre le positionnement et justifie en même temps le choix des ontologies pour enrichir les systèmes de raisonnement basés sur les règles. Cependant à notre connaissance, aucune solution ontologique existante ne propose de solution complète basée sur l’approche DIY. Le développement de l’ontologie des habitats intelligents proposée est composé des étapes suivantes : conceptualisation, spécification sémantique et formalisation. Nous avons opté pour un cycle de déve- loppement itératif et incrémental, principalement à cause de la multidisciplinarité de notre équipe.

Figure 4.2 – Étape de développement de l’ontologie