Objectif : intégration du code “raisonneur sémantique” et “functionality manager” sur le scénario GoPiGo.
L'objectif était de répartir les tâches d'intégration entre Mehdi T et Lionel T.
Lionel
Créé un “dummy” GoPiGo qui implémente les 3 fonctionnalités terminales pour servir de use case sans avoir le matériel.
Mettre à jour les descripteurs d'avatars pour l'initialisation des “gopigo” dans la demo contextadaptation.
Créer la fonctionnalité “Patrol” (interface + implem dummy)
FunctionalityManager
Ajouter les listeners en suivant un pattern “Whiteboard”
getAvailableFunctionalities: renvoie fonctionnalités composites (en plus des atomiques ?) après interrogation du reasonner
Gérer le statut “enabled” (=publiées) des fonctionnalités
Cycle de vie de l'avatar:
enrichir la conscience de l'avatar: il garde une liste de ses fonctionnalités atomiques et composites
Quand son statut passe à “READY” (=toutes ses fonctionnalités atomiques sont disponibles), il demande au functionalityManager la liste des available functionalities et si de nouvelles fonctionnalités sont dispo il les instancie (la fonctionnalité Patrol sera pré-déployée dans un premier temps).
Mehdi
Ajouter les attributs semanticType sur les annotations @Functionality dans les interfaces de domains/, en particulier pour les 3 interfaces du GoPiGo: Led, MotionController, Camera
Implémenter un FunctionalityManagerListener qui s'auto-publie (@Provides) pour suivre le pattern Whiteboard. et appel le semantic reasoner quand il est notifié des changements du functionalityManager
Maintenance
Faire du tri entre le bundles de Jackson pour vertx et Jena (éviter les doublons)