Outils pour utilisateurs

Outils du site


recherche:masters:daiki_rhama

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
recherche:masters:daiki_rhama [2014/09/23 12:23]
daikhi [Prototype Logiciel]
recherche:masters:daiki_rhama [2014/10/14 09:05] (Version actuelle)
tigli
Ligne 1: Ligne 1:
-====== Raisonnement Sémantique pour la Composition Réactive de Services ====== 
  
-===== Sujet Rahma Daikhi =====+====== Sujet de stage de Recherche de Rahma Daikhi, en Master ​ ====== 
 + 
 +Le Master IFI de l'UNS a été obtenu en Septembre 2014 avec la mention "Assez Bien"​. 
 + 
 +Grâce à ces résultats, le sujet se prolonge avec le [[https://​www.tigli.fr/​doku.php?​id=recherche:​masters:​rocher_gerald|projet de recherche de Gérald Rocher]] en 2014-2015 ​  
 + 
 +====== Raisonnement Sémantique pour la Composition Réactive de Services ======
  
-Résumé :+=== Résumé : ===
 Dans l'​informatique ambiante, les applications logicielles nécessitent de s’adapter dynamiquement à leur contexte d’exécution face à la diversité des situations (évolution des services, changements de l’environnement physique). ​ Dans l'​informatique ambiante, les applications logicielles nécessitent de s’adapter dynamiquement à leur contexte d’exécution face à la diversité des situations (évolution des services, changements de l’environnement physique). ​
 Dans ce projet, nous souhaitons mettre en œuvre un mécanisme de sélection sémantique de services basé sur un ensemble de services annotés. Ce mécanisme se repose sur une comparaison sémantique de services. Il pourra ensuite être intégré au sein des schémas d’adaptation dynamique des applications logicielles. ​   ​ Dans ce projet, nous souhaitons mettre en œuvre un mécanisme de sélection sémantique de services basé sur un ensemble de services annotés. Ce mécanisme se repose sur une comparaison sémantique de services. Il pourra ensuite être intégré au sein des schémas d’adaptation dynamique des applications logicielles. ​   ​
Ligne 16: Ligne 21:
  
  
-===== Prototype Logiciel ===== +===== Prototype Logiciel ===== 
 === HowTo : Installation Complète === === HowTo : Installation Complète ===
  
-== Du prototype "​stable" ​en date du 18-09-14 : == +==  ​Prototype ​en date du 13-10-14 : ==
 Il s'agit du prototype de peuplement de la base de connaissance. Le prototype incluant la sélection sémantique de service n'est pas opérationnel. Il s'agit du prototype de peuplement de la base de connaissance. Le prototype incluant la sélection sémantique de service n'est pas opérationnel.
  
-  * Installation de WComp +  ​* ** Installation de WComp**
-   +
      * Installation de {{http://​www.icsharpcode.net/​opensource/​sd/​download/#​SharpDevelop3x|Sharpdevelop version 3.2}}       * Installation de {{http://​www.icsharpcode.net/​opensource/​sd/​download/#​SharpDevelop3x|Sharpdevelop version 3.2}} 
-     * Installer la distribution SharpWComp 3.2 (patch sur Sharpdevelop) (pas publique en date du 180914, à récupérer sur le svn : https://​trolen.polytech.unice.fr/​svn/​Wcomp)+     * Installer la distribution SharpWComp 3.2 (patch sur Sharpdevelop) (pas publique en date du 18-09-14, à récupérer sur le svn : https://​trolen.polytech.unice.fr/​svn/​Wcomp)
      * Récupérer le code développer (voir clef USB) reprenant toute l'​arborescence de SharpWcomp + AADesigner modifié, à compiler et exécuter sous Sharpdevelop. Sharpdevelop de Dev, lance alors Sharpdevelop/​WComp (SharpDevelop avec les sources WComp compilées déployées de SharpWcomp et de AADesigner). Reste alors à ouvrir les containers avec les bon assemblages .wcc pour les tests.      * Récupérer le code développer (voir clef USB) reprenant toute l'​arborescence de SharpWcomp + AADesigner modifié, à compiler et exécuter sous Sharpdevelop. Sharpdevelop de Dev, lance alors Sharpdevelop/​WComp (SharpDevelop avec les sources WComp compilées déployées de SharpWcomp et de AADesigner). Reste alors à ouvrir les containers avec les bon assemblages .wcc pour les tests.
  
-  * "​Installation"​ de Conquer +  ​* **"​Installation"​ de Conquer** 
- +     ​* ​Télécharger ​netbeans ​version JDK 7u67 with netbeans 8.0.1
-     ​* ​Installation de {{https://netbeans.org/​downloads/​7.1.2/​start.html?​platform=windows&​lang=en&​option=all|NetBeans IDE 7.1.2 }}+
      * Ouvrir la solution de conquer sous NetBeans (voir clef USB)      * Ouvrir la solution de conquer sous NetBeans (voir clef USB)
  
-  * Lancement application complète  +  ​* **Lancement application complète**  
-    - exécuter ​le projet WCompAddIn depuis SharpDevelop +    - Exécuter ​le projet WCompAddIn depuis SharpDevelop 
-    - dans le nouveau Sharpdevelop ouvrir 2 container (à binder avec respectivement les noms : Appli (port control : 3000, port functional 3001), Weaver (port control : 3100, port functional 3101) +    - Dans le nouveau Sharpdevelop ouvrir 2 container (à binder avec respectivement les noms : Appli (port control : 3000, port functional 3001), Weaver (port control : 3100, port functional 3101) 
-    - charger ​(import) weaver-bdc.wcc (SharpWcomp3\src\Beans\AADesigner-Vincent) +    - Charger ​(import) weaver-bdc.wcc (SharpWcomp3\src\Beans\AADesigner-Vincent) 
-    - lancer ​UPnP Wizard Designer connecté avec l'​Appli_structural_X +    - Lancer ​UPnP Wizard Designer connecté avec l'​Appli_structural_X 
-    - lancer ​AA Designer connecté avec l'​Appli_structural_X l'​Appli_functional_X Weaver_structural_X Weaver_functional_X+    - Lancer ​AA Designer connecté avec l'​Appli_structural_X l'​Appli_functional_X Weaver_structural_X Weaver_functional_X 
 +    - Tester la sélection des AA dans l'AA Designer en exécutant le fichier switch_light.aa (changer l'​extension) {{:​recherche:​masters:​switch_light.rar|}} 
 +  
 +* **__Remarques__ :**  
 +    - Il faut toujours s'​assurer que les composants soient connectés ​ (dans le container Appli et dans le container Weaver). On vérifie à l'aide de l'​outil device spy  en copiant l'​adresse uri du composant dans le device spy et le mettre dans l'uri du composant (voir "​propriétés"​ du composant). ​  
 +    - Pour le conquer, n'​oubliez pas de garder "/​desc.xml"​ à la fin de l'​adresse uri lors de modification.
  
-  ​Tester la sélection ​des AA dans l'AA Designer+**Scénario d'​illustration** 
 +      
 +     Notre idée pourra être trouvée dans plusieurs domaines tels que le domaine de santé, le domaine ​des habitats de futur, etc.  
 +     Afin d’illustrer notre solution, nous allons prendre comme exemple un scénario ​dans le domaine des habitats de futur.  
 +     Nous allons mettre en scène la personne « Bob ».   
 +     Dans ce scénario, ​ nous allons décrire comment notre application va répondre au besoin d’Alice. Cette application offre plusieurs services : activer le système du réveil, 
 +     ​allumer le téléviseur,​ ouvrir les volets de la chambre, activer le chauffage ou le climatiseur,​ déclencher la cafetière, etc. 
 +     Bob vit en colocation avec une autre personne. Il veut contrôler le système d’éclairage dans sa suite. Il utilise un interrupteur mobile qui peut éteindre ou allumer une lampe spécifique.  
 +     Par exemple, Bob veut allumer la lampe de sa chambre à coucher.  
 +     Dans ce cas, l’application active le système d’éclairage qui se trouve dans la chambre d’Bob en choisissant l’interrupteur de Bob et la lampe qui se trouve dans la chambre d’Bob.
  
-__Remarques__ ​: +== Démonstration 1Peuplement ​et enrichissement ​de la Base de connaissance==
-  * Il faut toujours vérifier que les composants soient connetectés ​ (dans le container Appli et dans le container Weaver). On vérifie à l'​aide ​de l'​outil device spy  en copiant l'​adresse uri du composant dans le device spy et le mettre dans l'uri du composant (voir "​propriétés"​ du composant). ​  +
-  * Pour le conquer, n'​oubliez pas de garder "/​desc.xml"​ à la fin de l'​adresse uri lors de modification.+
  
- 
-=== Démonstration 1: Peuplement et enrichissement de la Base de connaissance=== 
-{{:​recherche:​masters:​démo.avi}} 
   * Vérifier le peuplement de la base de connaissance lors l'​apparition des services pour dispositifs à travers le console du Netbeans dans lequel s'​affiche les triplets RDF qui viennent d'​être récupérer dans la base de connaissance sous forme de "​conquer add("​sujet_x","​prédicat_x","​objet_x"​)"​. ​     * Vérifier le peuplement de la base de connaissance lors l'​apparition des services pour dispositifs à travers le console du Netbeans dans lequel s'​affiche les triplets RDF qui viennent d'​être récupérer dans la base de connaissance sous forme de "​conquer add("​sujet_x","​prédicat_x","​objet_x"​)"​. ​  
-  * Vérifier l'​accroissement de l'​ontologie en exécutant des requêtes SPARQL dans l'​interface graphique conquer. Par exemple, sélectionner le Persets: "​Services"​ et appuier sur le boutton run {{:​recherche:​masters:​run.png?​200|}}  +  * Vérifier l'​accroissement de l'​ontologie en exécutant des requêtes SPARQL dans l'​interface graphique conquer. Par exemple, sélectionner le Persets: "​Services"​ et appuier sur le boutton run {{:​recherche:​masters:​run.png?​15|}}  
 +  * {{:​recherche:​masters:​démo.avi}} 
 +  ​
 === Démonstration 2 : Sélection sémantique de services dans le tisseur d'AA === === Démonstration 2 : Sélection sémantique de services dans le tisseur d'AA ===
 +
   * A partir d'un pointcut composé de requêtes SPARQL   * A partir d'un pointcut composé de requêtes SPARQL
   * Vers la Base de connaissance peuplée précédemment ​   * Vers la Base de connaissance peuplée précédemment ​
 +  * Lors de l'​apparition des services pour dispositifs dans l'​environnement d'​exécution,​ chaque dispositif découvert possède un bean proxy. Ces beans sont instanciés pour participer dans les schémas d'​adaptation. {{:​recherche:​masters:​demo_apparition_des_services_screen_stream.avi|}}
 +  * Les annotations de chaque dispositif découvert vont être récupérer dans la base de connaissance. Chaque annotation est insérée sous forme d'un triplet rdf{{:​recherche:​masters:​ajout_des_triplets_rdf.avi|}} ​
 +  * Si bob veut sélectionner la lampe qui se trouve dans la chambre à coucher, il suffit simplement d'​indiquer la localisation de la lampe à l'aide du langage SPARQL.les règles de selection de service vont interroger la base de connaissance sur les services pertinents et qui sont disponible. L'​interrogation de la base de connaissance se fait à l'aide des requêtes SPARQL. ​ {{:​recherche:​masters:​selection_de_service_screen_stream.avi|}}
  
 === Patch du code source (base SVN) === === Patch du code source (base SVN) ===
-{{:​recherche:​masters:​sharpwcomppatch.rar}}+  * SharpWCompSemantic:​{{:​recherche:​masters:​sharwcompsemanticlastupdate.rar|}} 
 +  * La solution Conquer :​[[https://​trolen.polytech.unice.fr/​svn/​UPnP/​Project_Continuum/​Conquer/​]] 
 + 
 +=== Présentation et Rapport final === 
 +  * Présentation finale :​{{:​recherche:​masters:​presentationfinale.pptx|}} 
 +  * Rapport final :​{{:​recherche:​masters:​rapportfinal.pdf|}}
  
  
recherche/masters/daiki_rhama.1411467832.txt.gz · Dernière modification: 2014/09/23 12:23 par daikhi