|
Proposition 1
|
|
| Titre : |
Etude et évolution de l'application Graph Matching Transformation Engine-UI. |
| Responsables : |
Isamail Bouassida |
| Contact : |
bouassida@redcad.org |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Dans ce sujet on s'intéresse à l’approche Abstract Component Graph
(ACG) qui traite de l’évolution dynamique des architectures
logicielles par la transformation de graphe (TG). Dans l'approche TG,
le graphe est constitué d’un ensemble de nœuds marqués, et d’un
ensemble d’arcs marqués et orientés qui relient une paire de nœuds.
Les nœuds du graphe représentent les composants logiciels, et les arcs
représentent les liens entre ces composants. La transformation de
l’architecture est spécifiée par une règle de coordination qui
conditionne cette évolution.
L’approche ACG est aussi employée pour simuler les différentes étapes
d’instanciation du composant, le changement de comportement pendant
l’exécution, la migration, et d’autres caractéristiques spécifiques
aux architectures logicielles des systèmes distribués.
Le sujet proposé se situe dans ce cadre, et le stagiaire sera amené à
- Compléter l’interface graphique permettant d’une part la
programmation des règles de coordination, et permettant de spécifier
le protocole qui régit leur application (ordre d’application des
règles, et des groupes de règles)
- Tester la génération des fichiers de description des graphes
(architecture) et des règles dans des langages standards (XML,
GraphXML)
- Expérimentater l’utilisabilité et les limites de cette approche pour
la gestion des architectures distribuées orientées composants.
- Tests des réalisations en utilisant le banc de tests Junit.
Cette interface graphique doit respecter les spécificités des approche
TG et ACG.
|
|
Proposition 2
|
|
| Titre : |
Développement d’un système publier/souscrire P2P basé sur la composition d’évènement |
| Responsables : |
Amina Chaâbane |
| Contact : |
amina.chaabane@laas.fr |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Dans ce sujet, on s’intéresse aux systèmes basés évènement dits encore
système publier/souscrire. Ces systèmes assurent une communication entre des
consommateurs (souscrits) et des producteurs à travers un service d’évènements.
Ce dernier est formé par des dispatchers connectés entre eux selon une architecture
distribuée. Ce service d’évènement est responsable au filtrage et routage des évènements
pour les acheminer selon les intérêts des consommateurs. Toutefois, les consommateurs
peuvent souscrire à des évènements composés selon des relations logiques et temporelles
complexes et variées. De ce fait, les dispatchers doivent être capables de router
correctement ces évènements. Ainsi, ils doivent assurer la cohérence des relations
entre les évènements atomiques/composés et les souscriptions composées des consommateurs.
Pour ceci, on propose un mécanisme d’indexation des évènements composés sur le DHT Pastry
sur lequel est structurée l’architecture du service d’évènements.
Le sujet proposé se situe dans ce cadre, et le stagiaire sera amené à :
- Définir les relations logiques et temporelles possibles entre les évènements pour différents scénarios
- Implémenter l’approche proposée et tester sa validité pour les scénarios trouvés
- Par expérimentation, évaluer la performance du système implémenté de point de vue scalabilité et temps d’exécution.
|
|
Proposition 3
|
|
| Titre : |
Développement d’un système publier/souscrire P2P basé sur des descriptions en RDF |
| Responsables : |
Amina Chaâbane |
| Contact : |
amina.chaabane@laas.fr |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Un système basé évènement nommé encore système publier/souscrire est
une extension du modèle requête/réponse. Il est distingué par la persistance
des requêtes, dites souscriptions, et le découplage fort entre les consommateurs
et les producteurs. Un grand intérêt a été porté à ces systèmes pour permettre
la propagation de l’information dans un système distribué appartenant à un réseau
à large échelle. La topologie P2P structurée sur les DHTs peut assurer plus de
scalabilté pour ces systèmes utilisés à large échelle tel que Internet. Ces
systèmes sont actuellement utilisés dans plusieurs contextes d’applications distribuées.
Dans certains domaines, l’expressivité des souscriptions est une exigence fondamentale
pour exprimer les intérêts et les besoins des clients. Cette expressivité peut être
assurée par des langages sémantiques tels que RDF. Le problème majeur des systèmes
basés contenus structurés sur DHT est le hachage des évènements qui limite leur
expressivité. Parmi les modèles requête/réponse utilisant des données décrites
en RDF et des requêtes en SPARQL, on trouve ATLAS qui permet de stocker des données
décrites en RDF d’une façon distribuée et de répondre aux requêtes SPARQL demandés
par les clients. Dans ce cadre, on propose d’étendre ce modèle requête/réponse
ATLAS à un système publier/souscrire et le stagiaire sera amené à :
- Modéliser les souscriptions en SPARQL avec un graphe RDF
- Adapter l’algorithme utilisé par ATLAS pour décomposer et stocker les souscriptions en RDF d’une manière distribuée sur DHT
- Définir un algorithme de matching distribué sur DHT pour retrouver les souscriptions mémorisés qui relient les publications reçues
- Implémenter et valider le nouveau système à travers des études expérimentales
|
|
Proposition 4
|
|
| Titre : |
Développement d’un outil de transformation d’une politique de sécurité syntaxique (écrite avec le standard WS-SecurityPolicy) en une politique de sécurité sémantique (écrite en une représentation ontologique) |
| Responsables : |
Monia Ben Brahim, Tarak Chaari, et Maher Ben Jemaa |
| Contact : |
monia.benbrahim@gmail.com |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
La technologie de services Web [1] représente l’implémentation la plus adoptée de l’architecture orientée services. De nos jours, la sécurité des messages des services Web constitue un besoin critique lorsqu’on utilise cette technologie. C’est pourquoi, outre les aspects fonctionnels, la sélection des services Web doit aussi tenir compte de la compatibilité de la politique sécuritaire (PS) du service avec celle du consommateur de ce service. Le standard WS-SecurityPolicy (WS-SP) [2] est parmi les standards les plus importants de sécurité de service Web. Il est aussi largement accepté dans l’industrie. WS-SecurityPolicy fournit un vocabulaire sécuritaire que les consommateurs et fournisseurs de services Web utilisent afin d’exprimer leurs exigences et aptitudes concernant la sécurité des messages.
Cependant, ce vocabulaire est purement syntaxique. Le fait de se baser seulement sur les aspects syntaxiques pour comparer les PSs du consommateur et fournisseur de service ne fournit pas des résultats suffisamment corrects et précis.
Afin de résoudre ce problème, nous avons défini une extension sémantique au standard WS-SecurityPolicy permettant un matching sémantique (et non pas syntaxique) des PSs. L’approche consiste à transformer WS-SecurityPolicy en une ontologie et à augmenter cette ontologie par de nouvelles relations sémantiques entre les concepts sécuritaires du consommateur et du fournisseur de service Web. L’ontologie est implémentée avec le langage OWL-DL [3].
Le sujet proposé se situe dans ce cadre, et le stagiaire sera amené à :
- Ecrire un programme java qui transforme un document ayant le format WS-SP (le format WS-SP est basé sur le format XML) en un document OWL-DL conforme à la représentation ontologique que nous avons définie (le format OWL-DL est aussi basé sur le format XML)
- Développer une interface graphique permettant d’utiliser le programme de transformation
[1] http://fr.wikipedia.org/wiki/Service_Web
[2] OASIS: WS-SecurityPolicy 1.3. Available at http://www.oasis-open.org/specs/
[3] W3C: OWL Web Ontology Language Guide. Available at http://www.w3.org/TR/owl-guide/
|
|
Proposition 5
|
|
| Titre : |
Extension d’une approche de matching sémantique de politiques de sécurité des services Web par un composant de génération d’un rapport de compatibilité. |
| Responsables : |
Monia Ben Brahim, Tarak Chaari, et Maher Ben Jemaa |
| Contact : |
monia.benbrahim@gmail.com |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
La technologie de services Web [1] représente l’implémentation la plus adoptée de l’architecture orientée services. De nos jours, la sécurité des messages des services Web constitue un besoin critique lorsqu’on utilise cette technologie. C’est pourquoi, outre les aspects fonctionnels, la sélection des services Web doit aussi tenir compte de la compatibilité de la politique sécuritaire (PS) du service avec celle du consommateur de ce service. Le standard WS-SecurityPolicy (WS-SP) [2] est parmi les standards les plus importants de sécurité de service Web. Il est aussi largement accepté dans l’industrie. WS-SecurityPolicy fournit un vocabulaire sécuritaire que les consommateurs et fournisseurs de services Web utilisent afin d’exprimer leurs exigences et aptitudes concernant la sécurité des messages.
Cependant, ce vocabulaire est purement syntaxique. Le fait de se baser seulement sur les aspects syntaxiques pour comparer les PSs du consommateur et fournisseur de service ne fournit pas des résultats suffisamment corrects et précis.
Afin de résoudre ce problème, nous avons défini une extension sémantique au standard WS-SecurityPolicy permettant un matching sémantique (et non pas syntaxique) des PSs. L’approche consiste à transformer WS-SecurityPolicy en une ontologie et à augmenter cette ontologie par de nouvelles relations sémantiques entre les concepts sécuritaires du consommateur et du fournisseur de service Web. L’ontologie est implémentée avec le langage OWL-DL [3].
Actuellement, le seul résultat de l’outil de matching est le degré de matching (perfect match, close match, possible match, ou no match) sans aucune justification de ce degré. Le sujet de PFE proposé se situe dans ce cadre, et consiste à compléter l’approche par la génération d’un rapport de matching qui : (i) en cas d’une compatibilité parfaite (perfect match) entre les PSs, précise les paires d’alternatives parfaitement compatibles, et (ii) en cas d’un degré de compatibilité inférieur à perfect match, il décrit en détails les raisons sémantiques de ce degré et éventuellement précise les alternatives les plus compatibles.
Ainsi, le stagiaire sera amené à :
- Concevoir et implémenter une interface graphique faisant appel au programme de matching de PSs (ce programme est déjà implémenté)
- Ecrire un programme qui transforme les relations sémantiques générées par le programme de matching (dans l’ontologie de matching) en un rapport de matching qui apparaît, à la demande de l’utilisateur, dans l’interface graphique
[1] http://fr.wikipedia.org/wiki/Service_Web
[2] OASIS: WS-SecurityPolicy 1.3. Available at http://www.oasis-open.org/specs/
[3] W3C: OWL Web Ontology Language Guide. Available at http://www.w3.org/TR/owl-guide/
|
|
Proposition 6
|
|
| Titre : |
Implémentation d’une plate-forme de monitoring pour les compositions de services Web |
| Responsable : |
Afef Jmal |
| Contact : |
jemal.afef@gmail.com |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
La composition de services Web consiste à utiliser plusieurs services Web dans le but de créer de nouveaux services à valeur ajoutée [1]. Cependant, le monitoring (surveillance) des communications entre ces différents services est une tâche importante car elle permet de collecter des informations pertinentes à ce propos.
Le but de ce PFE est d’implémenter une plate-forme de monitoring qui se base sur le principe de l’interception de messages échangés entre une composition quelconque et ses services Web partenaires. Ceci permet de détecter les instants d’envoi/réception des messages par la composition considérée ainsi que par chaque service partenaire. Par conséquent, il sera possible de calculer les durées d’émission de chaque message et de détecter ainsi la cause des retards de réception des messages (nœud ou réseau).
[1] http://www.emse.fr/~vercouter/cours/cws/WebService.pdf
|
|
Proposition 7
|
|
| Titre : |
Mise en œuvre d’une architecture de répartition de charge pour les compositions de services Web |
| Responsable : |
Moez Krichen and Afef Jmal |
| Contact : |
jemal.afef@gmail.com moez.krichen@gmail.com |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
En informatique, la répartition de charge (anglais load balancing) est la technique pour distribuer les tâches entre différents ordinateurs d'un groupe à l'insu de l'utilisateur. Cette technique permet d'acquérir des dispositifs très robustes. Elle est utilisée dans les grands serveurs Internet en vue de réduire les temps de réponse, augmenter la scalabilité et la disponibilité du serveur [1].
Ce PFE s’intéresse à l’implémentation d’une architecture de répartition de charge pour le cas des compositions de services Web. En effet, chaque serveur d’orchestration (composition) déploie différentes compositions de services Web à la fois. L’exécution simultanée de plusieurs instances de ces compositions charge davantage ces serveurs qui, par conséquent, ne seront plus capables de répondre convenablement à toutes ces instances. Plus clairement, chaque serveur d’orchestration possède un seuil correspondant au nombre maximal d’instances pouvant être exécutées simultanément. Ainsi, la répartition de charge sur plusieurs serveurs s’avère une solution intéressante pour répondre à une charge importante en termes d’instances de compositions de services Web.
[1] Hossein Bidgoli,The Internet encyclopedia, Volume 1, John Wiley and Sons - 2004, (ISBN 9780471222026).
|
|
Proposition 8
|
|
| Titre : |
Conception et intégration d’un module d’analyse au système publier/souscrire déployé sur un androïde |
| Responsable : |
Imene Lahyani |
| Contact : |
lahyani.imene@gmail.com |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Le déploiement des systèmes publier/souscrire [1] sur les réseaux ad hoc pose divers problèmes liés à la nature même du réseau. Toutefois, la mobilité des nœuds, la topologie dynamique, l’absence d’infrastructure engendrent des risques de dégradation des QdS [2]. Dans ce contexte, des mécanismes d’auto adaptabilité doivent être mis en place afin d’assurer la QdS de ces systèmes. Pour ce faire, le processus d’adaptation doit passer par quatre phases, à savoir, le monitoring, l’analyse et le diagnostic, la planification et l’exécution. Le monitoring vise à extraire certains paramètres de QdS du système. L’analyse [3] est la phase responsable de l’étude du comportement du système afin de détecter (ou prédire) si ce dernier a passé vers un état indésirable où une action de reconfiguration est nécessaire.
Le sujet proposé se situe dans ce cadre, et le stagiaire sera amené à :
- Intégrer le module monitoring et d’analyse, réalisé dans des études antérieures, sur le système publier/souscrire ‘SIENA’[1] déployé sur un androïde.
- Réaliser des expérimentations réelles mettant en place le système publier/souscrire précité déployé sur diverses entités mobiles (androïdes, pc, …) dans le but de tester l’efficacité du module développé et évaluer la qualité de service du système.
[1] A. Carzaniga, D. S. Rosenblum, and A. L. Wolf. Interfaces and algorithms for a wide-area event notification service. Technical report, University of Colorado, May 2000.
[2] Rfc, mobile ad hoc networking (manet) :routing protocol performance issues and evaluation considerations, 1999.
[3] I.Lahyani, N. Khabou and M.Jmaiel. QoS Monitoring and Analysis approach for publish/subscribe systems deployed on MANET. PDP 2012: 20 Euromicro International Conference on Parallel Distributed and Network-based Processing
|
|
Proposition 9
|
|
| Titre : |
Implémentation de trois mécanismes d’isolation de test pour les applications à base de composants dynamiquement adaptables |
| Responsables: |
Moez Krichen and Mariam Lahami |
| Contact : |
lahami.mariam@gmail.com |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Les applications à base de composants dynamiquement adaptables se caractérisent par des
changements structurels ou bien comportementaux dues à la variation de l’environnement
d’exécution, à des besoins utilisateurs, etc. Ces changements auront lieu sans arrêt du système d’où
l’aspect dynamique. De ce fait, il est primordial de vérifier et valider le bon fonctionnement et la
fiabilité de ces systèmes après chaque action d’adaptation. Comme technique de validation, nous
adoptons celle du test en cours d’exécution. Par définition elle est n’importe quelle méthode de test
prise en charge dans l’environnement d’exécution final d’un système. Cependant une telle technique
présente un grand nombre de défi à résoudre tels que le problème d’interférence des processus de
test avec les processus métier, la consommation de ressources, etc.
Dans ce projet de fin d’étude, nous intéressons à résoudre le problème d’interférence de test avec le
fonctionnement normal d’un système. Par ailleurs, nous visons à implémenter trois mécanismes
d’isolation de test connus dans la littérature :
- Le clonage : appliquer des tests sur le clone du composant sous test.
- Le blocage : bloquer le composant sous test pour un intervalle de temps afin d’effectuer les tests nécessaires.
- Ajout d’une interface de test au composant sous test
Ces trois mécanismes seront implémentés de deux manières : avec et sans la présence de l’oracle (une source utilisée pour déterminer les résultats attendus à comparer avec les résultats obtenus de l’application en cours de test).
Le modèle de composant adopté dans ce travail est le modèle Fractal [1]. Les tests seront écrits en
utilisant le Framework JUnit [2].
[1] : http://www.fractal.objectweb.org/
[2] : http://www.junit.org/
|
|
Proposition 10
|
|
| Titre : |
Implémentation d’une architecture de surveillance sémantique de services Web. |
| Responsables: |
Tarak CHAARI et Kaouthar FAKHFAKH |
| Contact : |
tarak.chaari@gmail.com |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Ce projet de fin d’études s’inscrit dans le cadre de la gestion du cycle de vie d’un SLA (Service Level Agreement) et plus précisément dans l’étape de surveillance des obligations des accords de qualité de service définis dans les SLA. Un outil de simulation de surveillance de SLA a été déjà développé. Cet outil prend en entrée une instance d’un contrat de QdS sous la forme de fichier XML et génère automatiquement des services web de surveillance des obligations spécifiées. Ces services se basent sur des mesures simulées (générées aléatoirement). Notre objectif est de récupérer des mesures réelles à fin de concrétiser tout le processus de surveillance. Ces mesures peuvent être obtenues grâce à des intercepteurs SOAP existants.
Travail demandé : Généralisation du code de surveillance existant en :
- Intégrant la mesure de la QdS à l’appel des services
- Optimiser le passage à l’échelle de la surveillance (plusieurs qualités de service à mesurer en même temps)
- Connectant les intercepteurs existants qui permettent de capturer les temps de départ et d’arrivé d’une requête et d’une réponse SOAP avec le code de surveillance optimisé
- Exploitant les mesures générées par les intercepteurs pour calculer des qualités de service globales
- Implémentation de l’interface graphique d’utilisation de l’API de surveillance
|
|
Proposition 11
|
|
| Titre : |
Optimisation d’une approche d’alignement sémantique d’objectifs de qualité de service |
| Responsables: |
Tarak CHAARI et Kaouthar FAKHFAKH |
| Contact : |
tarak.chaari@gmail.com |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Notre travail s’inscrit dans le cadre de la gestion du cycle de vie d’un SLA (Service Level Agreement) et plus précisément dans l’étape de négociation des contrats de qualité de services. Nous avons constaté que les approches existantes de négociation obligent les clients à choisir un sous-ensemble de clauses et de valeurs parmi des choix prédéfinis par le fournisseur. Le client peut ne pas comprendre ces choix dans le cas où il n’est pas expert du domaine. En conséquence, il n’a pas la possibilité d’exprimer ses exigences avec ses connaissances et son langage. Pour cela, nous avons proposé une approche de négociation basée sur un alignement sémantique d’objectifs de qualité de service pour l’élaboration de ces contrats. Cette phase d’alignement se termine par une génération complète d’un contrat de qualité de service en cas de compatibilité.
Travail demandé:
- Comprendre et améliorer le code d’alignement d’objectifs de qualité de services existant
- Améliorer le temps d’exécution de cette approche d’alignement en parallélisant les tâches indépendantes dans le code existant
- Tester l’approche dans le cas de passage à l’échelle (multiplier les fournisseurs)
- Tester l’approche sur des cas d’étude réels
|
|
Proposition 12
|
|
| Titre : |
Développement d'un Plugin eclipse pour Graph Matching Transformation Engine. |
| Responsable: |
Ismail Bouassida |
| Contact : |
bouassida@redcad.org |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Dans ce sujet on s'intéresse à l’approche Abstract Component Graph
(ACG) qui traite de l’évolution dynamique des architectures
logicielles par la transformation de graphe (TG). Dans l'approche TG,
le graphe est constitué d’un ensemble de nœuds marqués, et d’un
ensemble d’arcs marqués et orientés qui relient une paire de nœuds.
Les nœuds du graphe représentent les composants logiciels, et les arcs
représentent les liens entre ces composants. La transformation de
l’architecture est spécifiée par une règle de coordination qui
conditionne cette évolution.
L’approche ACG est aussi employée pour simuler les différentes étapes
d’instanciation du composant, le changement de comportement pendant
l’exécution, la migration, et d’autres caractéristiques spécifiques
aux architectures logicielles des systèmes distribués.
Le sujet proposé se situe dans ce cadre, et le stagiaire sera amené à:
- Développement du Plugin graphique permettant d’une part la programmation des règles de coordination, et permettant de spécifier le protocole qui régit leur application (ordre d’application des règles, et des groupes de règles)
- Tester la génération des fichiers de description des graphes (architecture) et des règles dans des langages standards (XML, GraphXML)
- Expérimentater l’utilisabilité et les limites de cette approche pour la gestion des architectures distribuées orientées composants.
- Tests des réalisations en utilisant le banc de tests Junit.
|
|
Proposition 13
|
|
| Titre : |
Système de gestion d'une unité (ou laboratoire) de recherche |
| Responsable: |
Bechir Zalila |
| Contact : |
bechir.zalila@enis.rnu.tn |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Les unités ou les laboratoires de recherche en Tunisie ont besoin
chaque année de fournir un dossier de renouvellement et de
réhabilitaion qui est très difficile et pénible à préparer.
L'objectif de ce projet de fin d'étude et de décentraliser la
préparation du dossier en faisant en sorte que chaque membre
puisse préparer la partie le concernant. La constitution du PDF
final du dossier sera faire automatiquement à partir des
contributions des membres.
Parmi les travaux à faire :
- Base de données des membres avec les différents statuts
- Formulaires à remplir
- Traduction des formulaire vers les format du ministère
- Apposition électronique de signatures
|
|
Proposition 14
|
|
| Titre : |
Une alternative Web libre à PHP Runner |
| Responsable: |
Bechir Zalila |
| Contact : |
bechir.zalila@enis.rnu.tn |
| Période : |
Janvier 2012 – June 2012 |
Résumé : |
Il s'agit de construire une alternative libre au programme PHP
Runner ( http://xlinesoft.com/phprunner ). PHPRunner construit une
interface web pour accéder d'une manière locale ou distante à une
base de données MySQL, MS Access, SQL Server et Oracle. Les
visiteur de cette interface Web seront en mesure de facilement
rechercher, ajouter, modifier, supprimer et exporter des données
dans la base de données correspondante. Des options de sécurité
avancées permettent de construire des pages accessibles
exclusivement par mot de passe.
L'application Web construite permettra de traiter des bases de
donnée MySQL et, si le temps le permet, PostgreSQL. Mais, il faut
que l'application construite doit être facilement extensible vers
d'autres SGBDs. Particulièrement les fonctionnalistés suivantes
doivent être présentes dans l'application:
- Interface d'utilisation facile sous la form d'un assistant
- Mode de recherche multiples
- Pages d'ajout, d'édition de copie et de suppression pour chaque table
- Interface en Francais et facilement extensible vers une autre langue
- Possibilité de protéger les pages créées par login/mdp avec différenciation possible entre les accès en lecture et en écriture
- Moyens simple pour créer un compte, se rappeler d'un mot de passe, modifier son mot de passe
|