====== Hemis ====== ===== Aperçu Global ===== Le système HEMIS est basé sur un design pattern en couches, quatre couches ayant chacune son rôle bien défini, et trois d'entre elles sont reliées à une base de données permettant de récupérer et de mettre à jour les services proposé par le système. {{wiki:hemis_architecture.png}} La couche Matériel représente l'ensemble des objets connectés entre au système HEMIS. La couche API permet à l'utilisateur d'accéder aux services offert par le système et les objets qui le composent, et ainsi de lui donner des directives telles que: "fait en sorte que la température de la pièce soit toujours à 20°C.". La couche SMA Cognitif est la représentation logiciel des objets connectés formant la couche Matèriel. La couche SMA Cognitif charge la couche SMA Réactif d'agents liés aux actionneurs et capteurs des objets de la couche Matériel. C'est cette couche SMA Réactif qui implémente le système d'apprentissage et de prédiction. ===== Système d'apprentissage et de prédiction ===== L'agent cognitif, représentant un objet de la couche Matèriel, charge la couche SMA Réactif d'un certain nombre d'agents par capteur et actionneur de l'objet. Dans le modèle proposé par [Mazac et al., 2015], les agents chargés dans la couche SMA Réactif se divisent en deux rôles principaux: - Les agents "producteurs" qui, comme leurs noms l'indique, produisent des évènements. Ils se divisent en deux sous-rôles: - Les agents "découper" qui découpent les données brutes en des évènements identifiables. - Les agents "associer" qui associent des évènements qui paraissent et liés, et créé des évènements associés. - Les agents "Similarité" qui comparent les évènements récoltés pour évaluer la viabilité d'un motif. Les relations entre ces deux types d'agents sont décrits dans le diagramme Agent-Groupe-Rôle ci-dessous: {{wiki:hemis_organistation.png}} A partir de ces agents et de leurs intéractions, le système sera capable d'isoler des évènements récurrents. Les agents "découper" récupérant les variations des états des actionneurs et capteurs à partir des données brutes fournies, ensuite les agents "similarité" vont évaluer la similarité entre plusieurs variations récurrentes et créer des évènements correspond. {{wiki:hemis_exp.png}} Ces évènements fournis par les agents "similarité" sont ensuite récupéré en partie par les agents "associer" qui vont créer des motifs d'évènements récurrents qui semble lié entrer eux. Ces motifs seront alors traités par les agents "similarité" pour valider leur viabilité. {{wiki:hemis_interaction.png}} Ainsi des motifs d'évènements sont appris par le système et celui-ci est capable de prédire un évènement en fonction d'un autre le précédant. ====== Avatar Software Platform ====== ===== Aperçu Global ===== L'un des objectifs de ce projet est d'adapter le modèle d'apprentissage et de prédiction du système HEMIS à l'architecture des avatars proposé par [Mrissa et al., 2015]. {{wiki:avatar_architecture.png}} Un avatar est une représentation logiciel d'un objet connecté. C'est cet avatar qui gère la connection aux autres avatars et les services proposés à l'utilisateur. L'architecture d'un avatar est divisé en divers modules: - Application: Gère l'interface coté client. - Services: Gère la liste de services couramment proposés à l'utilisateur. - Communication: Gère les protocoles de communications de l'objet. - Interopérabilité: Gère les outils nécessaires à l'utilisation de l'objet. - Collaboration: Gère les échanges avec les autres avatars. - Core: Module central de l'avatar, il est lui-même divisé en divers composant. - Context Manager: Gère le stockage des données récoltés de l'environnement courant. - Reasoner: Gère la base de connaissances/règles de l'avatar. - Functionality Manager: Gère, en fonction du context et du reasoner, les fonctionnalités proposables par l'avatar. - Deployment Manager: Gère les déploiement des services proposés par l'avatar (décidés par le Functionality Manager). ===== Adaptation possible du système d'apprentissage ===== Une similarité peut déjà être faite entre la couche SMA Cognitif et l'idée même d'avatar. En effet les deux sont des représentations logiciels d'un objet connecté dans un système d'objets. Cependant, là où pour HEMIS le système est clairement implémenté, pour le WoT nous souhaitons que le système soit auto-généré, auto-organisé, émergent des intéractions entre les avatars. C'est la couche SMA Réactif qui doit être adapté à l'architecture de l'avatar. Celle-ci pourrait être implémenté par le composant Reasoner du Core module, ou bien dans un nouveau composant Learning Manager qui mettra à jour le composant Reasoner avec de nouveau motifs appris par le système, le Reasonner pouvant ainsi implémenter le système de prédiction. Cependant, si dans le système HEMIS la couche SMA Réactif est commune à tous les objets du système et donc c'est le système entier qui apprend, dans le contexte du Web des Objets l'avatar n'a accés qu'a ses capteurs et actionneurs pour déterminer des variations dans l'environnement et des relations entre ces évènements. Il faut donc prendre en compte la communication des avatars, ou plutôt leur collaboration, dans l'apprentissage de motifs récurrents. Une possibilité serait de permettre au Learning Manager d'utiliser le Collaboration Module afin de récupérer des motifs, des //memes//, des autres avatars du système, et leur communiquer les motifs récurrents découverts. Pour gérer le partage de connaissances, il serait possible soit que se soit les agents "similarité" qui se charge d'envoyer ou non les motifs via le Collaboration module (mais cela surchargerait les agents "similarité" de fonctions), soit d'implémenter un nouveau type d'agents "distributeur" qui s'occuperont de faire le lien entre les agents "similarité" et le Collaboration Module. ====== Références ====== [Mazac et al., 2015] Mazac, S., Armetta, F., and Hassas, S. (2015). //Approche décentralisée pour un apprentissage constructiviste en environnement continu : application à l'intelligence ambiante.// In Journées Francophones sur les Systèmes Multi-Agents (JFSMA), Rennes, France. [Mrissa et al., 2015] Mrissa, M., Medini, L., Jamont, J.-P., Le Sommer, N., and Laplace, J. (2015). //An avatar architecture for the web of things.// Internet Computing, IEEE, 19(2):30-38.