25
Encadrants  : Stéphane Frénot Contact :  [email protected] Titre  : Système d'exploitation orienté cloud Contexte  : Cloud computing Le cloud computing est un nouveau paradigme considérant que l'information est disponible partout dans un nuage de serveur. La programmation orientée cloud consiste à fabriquer des applications orientées données à partir de sources d'informations éparses disponible à travers le réseau.  Nous souhaitons étendre ce paradigme au systèmes d'exploitations en considérant les composants applicatifs comme autant d'informations éparses fédérées à la volée dans une machine virtuelle. Sujet  Nous avons réalisé au CITI le prototype ROCS qui charge dynamique les classes d'une applications directement dans une machine virtuelle à partir du réseau. Cette architecture de système permet d'exécuter des applications sur un téléphone mobile sans avoir à déployer localement les composants de l'application. Un serveur distant fournit les code des classes à la volée en fonction des besoins des utilisateurs et en fonction de la disponibilité locale des applications. Ce prototype réalisé sous la pile OSGi/Java est entièrement dynamique. Nous souhaitons poursuivre cette étude pour le porter dans l'environnement Android de google. Déroulement La mise en place de ce projet se fera selon les étapes suivantes : Étude de l'architecture ROCS développée au CITI, Étude de l'environnement ciblé Android Portage et spécification de l'architecture equivalente sous Android Test comparatifs entre l'infrastructure OSGi/Java et l'architecture Android Document annexe : article de référence sur ROCS.

Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Encadrants  : Stéphane Frénot

Contact :  stephane.frenot@insa­lyon.fr

Titre  : Système d'exploitation orienté cloud

Contexte  : Cloud computing Le cloud computing est un nouveau paradigme considérant que l'information est disponible partout dans un nuage de serveur. La programmation orientée cloud consiste à fabriquer des applications orientées données à partir de sources d'informations éparses disponible à travers le réseau.  Nous souhaitons étendre ce paradigme au systèmes d'exploitations en considérant les composants applicatifs comme autant d'informations éparses fédérées à la volée dans une machine virtuelle.

Sujet  Nous avons réalisé au CITI le prototype ROCS qui charge dynamique les classes d'une applications directement dans une machine virtuelle à partir du réseau. Cette architecture de système permet d'exécuter des applications sur un téléphone mobile sans avoir à déployer localement les composants de l'application. Un serveur distant fournit les code des classes à la volée en fonction des besoins des utilisateurs et en fonction de la disponibilité locale des applications. Ce prototype réalisé sous la pile OSGi/Java est entièrement dynamique. Nous souhaitons poursuivre cette étude pour le porter dans l'environnement Android de google.

DéroulementLa mise en place de ce projet se fera selon les étapes suivantes :

– Étude de l'architecture ROCS développée au CITI,– Étude de l'environnement ciblé Android– Portage et spécification de l'architecture equivalente sous Android– Test comparatifs entre l'infrastructure OSGi/Java et l'architecture Android

Document annexe : article de référence sur ROCS.

Page 2: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Interface de manipulation d'interface graphique par le son

L'objectif du stage est d'intégrer un outil haute performance d'affichage graphique comme javaFX ou Flex à un outil de reconnaissance de la parole comme Sphinx afin de piloter des interfaces graphiques de centres publiques d'affichage. Nous avons déjà développé un prototype permettant d'actionner à la parole telle ou telle type de fonctionnalité et nous souhaiterions l'étendre de manière générique afin de piloter efficacement panneaux d'information.

Stéphane Fré[email protected]

Page 3: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Laboratoire CITI

Contrats architecturaux formels pour applicationorientées services

L. Morel @ AMAZONES-CITI

2009-2010

L’approche orientée service est de plus en plus populaire pour le développement d’applicationsréparties dynamiques. Elle repose sur la possibilité de charger et décharger à chaud (sur uneplateforme en cours d’exécution) des composants qui fournissent à leur environnement un en-semble de services. Le défi majeur de cette approche est qu’il faut pouvoir garantir un niveaude sûreté maximal, malgré le peu de connaissance qu’on a a priori des services qui doivents’exécuter.

La notion de contrat est aujourd’hui accepté dans le domaine du génie logiciel comme unebrique essentielle pour construire des applications sûres. Elle repose sur la spécification decouples de propriétés assume et guarantee qui indique de manière abstraite (formule logiqueou description de comportement) ce que le service suppose sur son environnement et ce qu’ilgarantie sur son exécution.

Les contrats peuvent concerner différents aspects du système considéré : des aspects pure-ment fonctionnels, de qualité de service, de sécurité.

Sujet : Le but de ce stage est d’étudier la mise en place d’une notion de contrat permet-tant d’exprimer des contraintes sur la dynamicité des services. On s’intéressera par exempleà des propriétés qui doivent être vérifiée quand un service et lancé ("tel autre service est déjàdisponible"). Cette notion de contrat n’a d’utilité que si l’on peut en faire quelque chose pourvalider l’architecture et l’interaction des services entre eux. Elle sera donc définie formellementet reposera sur des outillage de vérification automatique pratique.

LM IF-INSA Lyon 1

Page 4: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Département IF

Proof carrying code for service oriented systems

L. Morel & N. Stouls — AMAZONES @ CITI

2009-10

Contexte : L’approche orientée service est de plus en plus populaire pour le développementd’applications réparties dynamiques. Elle repose sur la possibilité de charger et décharger àchaud (sur une plateforme en cours d’exécution) des composants qui fournissent à leur envi-ronnement un ensemble de services. Un défi de cette approche est qu’il faut pouvoir garantirun niveau de sûreté maximal, malgré le peu de connaissance qu’on a a priori des services quidoivent s’exécuter.

La vérification automatique de comportement est une méthode qui permet de vérifier math-ématiquement la validité d’une ou plusieurs propriétés concernant le fonctionnement d’un pro-gramme, ou dans notre cas d’un service. Cette méthode est avant tout statique : une propriétéest vérifiée par le fournisseur du programme concerné, avant que celui-ci ne soit communiquéà son utilisateur. Rien ne garantit à celui-ci que le code satisfait réellement sa propriété. Laméthode de proof-carrying code repose sur l’idée qu’un programme n’est pas seulement accom-pagné de la propriété qu’il est sensé satisfaire, mais d’une preuve de cette propriété. Le systèmeutilisateur peut ainsi “re-jouer” la preuve pour s’assurer que le code qu’il s’apprête à chargersatisfait bien la propriété supposée.

Sujet: Cette notion de proof-carrying code a été développée pour des applications java sur uneplateforme particulière limitée en taille (JavaCard). Le travail proposé vise à étudier l’applicationde cette technique au domaine des applications orientées-services et à l’appliquer à un environ-nement basé sur OSGi.

JPB/LM/JS IF-INSA Lyon 1

Page 5: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Encadrant : Nicolas Stouls

Contact : nicolas.stouls@insa­lyon.fr

Titre : Encodage de propriétés dynamiques dans des assertions de logique du premier ordre

Contexte Preuve de programmeLa preuve de  programmes est  une  méthode de vérification  formelle  consistant  à  établir,  par   la preuve, que toute exécution d'un programme respecte une propriété donnée. Par exemple, la chaine d'outils   Frama­C/Jessie/Why1  permet   de   générer   des   obligations   de   preuves2  à   partir   d'un programme   C   contenant   des   propriétés   sous   la   forme   d'annotation   (décrite   avec   le   langage d'annotations ACSL). Classiquement, la preuve de programmes se limite aux propriétés invariantes. Cependant de récents travaux [TH02,Gro07,GS09] ont proposé différentes méthodes d'encodage de propriétés  dynamiques sous  la  forme d'invariants.  Bien que cette  traduction soit  nécessairement partielle,   nous   voulons   proposer   des   heuristiques   permettant   de   favoriser   la   faisabilité   et l'automaticité  des obligations de preuve générées.  Ce stage s'insère dans la réalisation de l'outil Aoraï [GS09], qui est un greffon de la plateforme Frama­C.

Sujet L'objectif de ce stage est dans un premier temps, d'étudier les différentes traductions proposées dans la littérature, avant de les comparer avec les choix effectués au sein de l'outil Aoraï. Ensuite, le candidat sera amené à proposer ses propres heuristiques et à les expérimenter manuellement sur différents exemples. Si ces tests sont concluants, alors il sera possible d'implanter ces propositions au sein de l'outil Aoraï avant la prochaine release de la plateforme Frama­C. Une réflexion pourra également être menée sur les extensions possibles du langage de spécification ACSL, pour y inclure des primitives comportementales.

Bibliographie[Gro07] J. Groslambert. Vérification de propriétés temporelles par génération d’annotations. PhD thesis, Université de Franche­Comté, 2007.

[GS09] Julien Groslambert et Nicolas Stouls, Vérification de propriétés LTL sur des programmes C par génération d'annotations, in AFADL'09. 

[TH02] K. Trentelman and M. Huisman. Extending JML Specifications with Temporal Logic. In AMAST’02, number 2422 in LNCS, pages 334–348.

1 http://www.frama­c.cea.fr/2 Une obligation de preuve est une formule logique dont on cherche à établir la verracité.

Page 6: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Encadrant : Nicolas Stouls

Contact : nicolas.stouls@insa­lyon.fr

Titre : Assistance à la vérification automatique de propriétés dynamiques sur du code C

Contexte : Preuve de programmeLa preuve de programmes est  une méthode de vérification formelle  consistant  à  établir,  par   la preuve, que toute exécution d'un programme respecte une propriété donnée. Par exemple, la chaine d'outils   Frama­C/Jessie/Why1  permet   de   générer   des   obligations   de   preuves2  à   partir   d'un programme   C   contenant   des   propriétés   sous   la   forme   d'annotations   (décrite   avec   le   langage d'annotations ACSL). Classiquement, la preuve de programmes se limite aux propriétés invariantes. Cependant de récents travaux [TH02,Gro07,GS09] ont proposé différentes méthodes d'encodage de propriétés dynamiques sous la  forme d'invariants.  Bien que cette   traduction soit  nécessairement partielle, nous proposons des heuristiques permettant de favoriser la faisabilité et l'automaticité des obligations de preuve générées. Ce stage s'insère dans la réalisation de l'outil Aoraï [GS09], qui est un greffon de la plateforme Frama­C pour la preuve de programmes C. Durant ce stage, l'étudiant pourra être amené à communiquer avec les développeurs de la chaine d'outils utilisée (CEA, INRIA) ou des utilisateurs du programme développé (Dassault aviation, Airbus, Atos Origin, ...)

Sujet L'objectif de ce stage est d'ajouter de nouvelles fonctionnalités au logiciel Aoraï. Plusieurs ont déjà été  demandées  pour   les  utilisateurs  potentiels  et  ce   sera  au  stagiaire  de  choisir   les  points  qu'il souhaite traiter en premier. Parmi les améliorations attendues, nous trouvons : 

• Mise à jour du langage de spécification• Ajout d'une heuristique considérant des automates déterministes• Amélioration de la lisibilité des spécifications générées• Implémentation des variables ghost• etc.

Dans   un   premier   temps,   le   candidat   manipulera   l'outil   Aoraï   pour   mieux   comprendre   son fonctionnement et les choix effectués. Ensuite, à partir du cahier des charges, le candidat sera amené à proposer ses propres solutions algorithmiques de mise à jour. Une réflexion pourra également être menée sur les extensions possibles du langage de spécification ACSL, pour y inclure des primitives comportementales.

Bibliographie[Gro07] J. Groslambert. Vérification de propriétés temporelles par génération d’annotations. PhD thesis, Université de Franche­Comté, 2007.

[GS09] Julien Groslambert et Nicolas Stouls, Vérification de propriétés LTL sur des programmes C par génération d'annotations, in AFADL'09. 

[TH02] K. Trentelman and M. Huisman. Extending JML Specifications with Temporal Logic. In AMAST’02, number 2422 in LNCS, pages 334–348.

1 http://www.frama­c.cea.fr/2 Une obligation de preuve est une formule logique dont on cherche à établir la verracité.

Page 7: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Stage recherche

Titre : extraction et analyse de comportements en présence de contraintes temporelle dans des plate-formes à services dynamiques.

Encadrant : Julien Ponge

Contact : [email protected]

Profil : équilibre entre méthodes formelles et ingénierie avancée.

ContexteLes architectures orientées-services sont de plus en plus populaires pour le dé-veloppement d’applications modulaires, distribuées et faiblement couplées. Après un succès certain dans le domaine de l’intégration d’applications d’en-treprise (SOAP, WS-*) et dans le “web 2.0” (REST, Ajax, JSON), ces approches trouvent désormais un terrain applicatif favorable dans les systèmes pervasifs (e.g., déploiement sur une plate-forme OSGi).

SujetL’objectif de ce stage sera dans un premier temps de proposer une abstraction permettant de capturer à la volée le comportement des services dans un modèle formel (e.g., automates, Petri nets) en tenant compte de contraintes temporelles quantitatives déduites des exécutions observées. Dans un second temps, il fau-dra proposer des approches permettant de tirer parti du comportement déduit à des fins multiples, incluant : détection de fraude, vérification de compatibilité lors d’un changement de service, aide à l’affinage des APIs ou encore identifi-cation de problèmes de performances en fonction des motifs d’interaction ob-servés avec les services.

Les modèles et approches proposées devront tenir compte des limitations maté-rielles (CPU, mémoire, stockage) des matériels utilisés (e.g., embarqué, télé-phones, ...). Le volet applicatif s’inscrira dans le cadre du projet LOGOS/LISE de l’équipe Amazones.

Laboratoire CITI / INRIA projet Amazones

Page 8: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Algorithme de cryptpression de logs

Amazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution d'applications Java orientées service. Le principe est d'enregistrer les caractéristiques de chaque appels de service. L'infrastructure tourne actuellement sur le framework OSGi.

Les logs ainsi enregistrés représentent l'intégralité faite de l'utilisation du système par un utilisateur. Le principe est de pouvoir fournir ces traces en cas de litige de fonctionnement du système (cf article icse en biblio). Comme l'intégralité de l'activité de l'utilisateur est potentiellement faite sur l'équipement , il est nécessaire de mettre en place un algorithme de crypto robuste et adapté.

Le frein que nous voulons lever est lié à la compression des logs. Le système enregistre les activités de l'utilisateur sur un environnement mobile style smartphone, et on ne peut pas se permettre de lui remplir son disque dur de traces d'activités. La compression est donc la solution directe, mais compresser un flux de log crypté est impossible, car antagonistes. La crypto cherche à étaler un maximum le dictionnaire des termes alors que la compression cherche à faire l'inverse.

Les objectifs du stage sont entre autre les suivants – Définition d'un algorithme offrant le meilleur compromis selon les

contraintes suivantes – temps de cryptage, – résistance aux attaques, – volume de compression, – temps de compression

– L'algorithme doit également intégrer les contraintes suivantes– Décryptage partiel : les entités concernées par une plainte ne

peuvent voir que leurs propres logs– Continuité : le système doit être stoppé en cas d'interférences dans

le système d'écriture des logs– Complétude : on doit toujours travailler sur l'intégralité des activités

Réalisation et pré-requisLe stage doit aboutir sur une maquette de démonstration intégrant

l'algorithme spécifié. Le développement se fera en Scala ou Java sous OSGi, sur l'architecture LOGOS développée dans l'équipe Amazones.

Page 9: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

BibliographieLiability in Software Engineering Overview of the LISE Approach and Illustration on a Case Study Le Métayer Daniel et Al. In ACM/IEEE 32nd International Conf. on Software Engineering (ICSE 2010), May. 2, 2010, Cape Town, South Africa, pp. 135-144

Contact : Laboratoire CITI, équipe AmazonesStéphane Fré[email protected]

Cédric [email protected]

Page 10: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Outil de manipulation de traces d'exécutionsAmazones a développé dans le cadre du projet ANR LISE (Liability Issues in Software Environment), un outil d'enregistrement des traces d'exécution d'applications Java orientées service. Le principe est d'enregistrer les caractéristiques de chaque appels de service ainsi que le retour associé. L'infrastructure tourne actuellement sur le framework OSGi et permet d'enregistrer n'importe quelle application à base de services.

Une fois les traces d'exécution obtenues, la seconde partie du projet consiste à reconstituer une vision de l'application à partir des traces ainsi collectées. La vision produite doit permettre de synthétiser les traces dans une spécification de l'application initiale. L'objectif étant qu'un expert analyste puisse, à partir de traces collectées, avoir une vision globale de l'application observée sans posséder ni les sources de l'application, ni l'application elle même. On veut alors trouver une pseudo équivalence entre les traces d'une application et sa spécification initiale.

Les objectifs du stage sont entre autre les suivants – Définition des opérateurs permettant le passage de traces à un

automate de comportement d'application orientée service– Définition des opérateurs de manipulation des automates permettant

les fonctions suivantes– Pliage dépliage d'une branche de l'automate pour remonter aux

traces initiales, ainsi qu'éventuellement au code source s'il est disponible.

– Comparaison entre automates générés à partir de plusieurs fenêtres de traces (similarités, différences, ajout de comportement)

– Intégration de méta-données de comportement, par exemple– temps de réponses des appels de fonction – coûts énergétiques des appels de service

Réalisation et pré-requisLe stage doit aboutir à une maquette de démonstration intégrant les

différents opérateur définis. Le développement se fera en Scala sous OSGi, sur l'architecture LOGOS développée dans l'équipe Amazones.

BibliographieLiability in Software Engineering Overview of the LISE Approach and Illustration on a Case Study Le Métayer Daniel et Al. In ACM/IEEE 32nd International Conf. on Software Engineering (ICSE 2010), May. 2, 2010, Cape Town, South Africa, pp. 135-144

Protocol Models from Imperfect Service Conversation Logs. Nezhad et Al, IEEE Trans. Knowl. Data Eng. 20(12): 1683-1698 (2008)

Page 11: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Contact : Laboratoire CITI, équipe AmazonesStéphane Fré[email protected]

Julien [email protected]

Page 12: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Stage Recherche M2R

Titre : Observation et évaluation de performances de machines virtuelles embarquées

Encadrant : Guillaume Salagnac – Laboratoire CITI

Contact : [email protected]

Contexte

Les architectures à base de machines virtuelles permettent de faciliter la reprogrammation dessystèmes embarqués, rendant ainsi leur maintenance plus aisée. Cependant, une machinevirtuelle est réputée moins efficace qu’un système d’exploitation natif, ce qui est problématiquepour une plate-forme aux ressources matérielles très limitées.

Des outils de profilage (e.g. WSim) existent qui permettent d’observer le comportement d’unprogramme en environnement simulé, et prennent en compte non seulement le logiciel maiségalement les interactions avec les différents composants matériels du système. Dans le casd’un OS basé sur une machine virtuelle (e.g. JITS) cette approche ne permet pas de distinguerl’activité due à l’application de celle propre à la machine virtuelle.

Sujet

Le but de ce stage est de proposer une approche permettant l’observation et l’évaluation dedifférents mécanismes de la machine virtuelle (e.g. ordonnanceur, garbage collector...) On s’inté-ressera par exemple à définir des mesures de performance pour ces différents mécanismes, defaçon à pouvoir les comparer.

Page 13: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Encadrants : Nicolas Stouls et Lionel Morel

Contact : nicolas.stouls@insa­lyon.fr

Titre : Informatique de confiance en réseau ambiant

Contexte Informatique de confiance : L'informatique de confiance est un projet visant à préserver certaines propriétés de confidentialité et d'intégrité dans un système informatique. Cette approche nécessite l'utilisation d'un chipset (le TPM ­­ Trusted Platform Module) et permet de garantir qu'un logiciel s'exécute dans un environnement sain (dépourvu de programmes malveillants). De nos jours, les TPM se généralisent et sont intégrés sur la quasi­totalité des cartes­mère à destination des systèmes informatiques (ordinateurs, PDA, etc). 

Réseaux ambiants : Les réseaux ambiants sont des réseaux composés de périphériques qui ne se connaissent pas nécessairement, mais qui doivent communiquer entre eux. Pour cela, ils doivent construire une relation de confiance avec leurs voisins. 

Sujet L'objectif de ce stage est d'étudier l'utilisation de l'informatique de confiance dans un réseau ambiant, dans lequel chaque noeud intégrerait un TPM. Le résultat attendu est d'une part un état de l'art des domaines cités, et d'autre part la proposition, soit d'une nouvelle méthode de gestion de la confiance dans les réseaux intégrant des TPM, soit d'un cahier des charges pour un TPM allégé, qui soit suffisant pour ce cas d'application. Dans tous les cas, il sera important de définir précisément les hypothèses effectuées et les propriétés vérifiées par l'approche proposée.

Page 14: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Titre : Extraction de métriques de sécurité par benchmarking de sécurité pour plates-formes Java

Encadrement : Stéphane Frénot et Pierre Parrend

Sujet : L'objectif scientifique est de déterminer un processus d'analyse de sécurité de plates-formes d'exécution type machine virtuelle basé sur des métriques, et de définir ces métriques. L'identification et le reporting de ces métriques formeront le cœur de la contribution scientifique du master. L'objectif technique est de développer un environnement de benchmarking de sécurité pour plates-formes Java dans l'environnement de développement Eclipse. Seront fournis: un ensemble de composants de test de sécurité et robustesse pour Java, et un cahier des charges précis afin de pallier aux difficultés de communications liées à l'encadrement à distance.

Page 15: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Outil de manipulation de traces d'exécutions

L'objectif du stage est de réaliser un outil graphique de manipulation de graphes. Les graphes sont générés à partir de fichiers d'enregistrement de l'activité d'un système. Nous avons développé dans l'équipe Amazones une série d'outils algorithmiques permettant l'extraction d'automates de comportements à partir de l'analyse de fichiers d'enregistrement (logs). C'est automates de comportement sont présentés à l'utilisateur selon différents niveau de détails. L'objectif de l'outil développé est d'obtenir un outils graphique permettant de naviguer dans les graphes. Des fonctions particulières de zoom et d'affichage de différences entre graphes devront être spécifiquement développées.

Stéphane Fré[email protected]

Page 16: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Laboratoire CITI / INRIA projet Amazones

Stage de master recherche

Titre : Déploiement automatique et orienté-utilisateur de services sur terminaux mobiles OSGi / Android

Encadrants : Frédéric Le Mouël ([email protected]), Amira Ben Hamida ([email protected])

Mots-clefs : intergiciel, programmation orienté-service, algorithmie des graphes, environnements contextuels et pervasifs

Contexte :

L'omniprésence des services dans les environnements pervasifs fournit aux utilisateurs la possibilité d'accéder à une panoplie de fonctionnalités. Cependant, bien que d'une grande utilité, les services posent certaines contraintes. En effet, utiliser un service sur son périphérique revient le plus souvent à en résoudre d'abord les dépendances en termes d'autres services, composants et d'éventuelles librairies et ensuite à les déployer et à les exécuter sur des dispositifs qui sont contraints. D'où le besoin de trouver un compromis entre les exigences de déploiement des services et les contraintes matérielles des plates-formes hôtes.

Sujet :

Au laboratoire CITI, nous avons défini AxSeL : A contextual Service Loader. Axsel est une architecture de chargement contextuel de services prenant en considération aussi bien les contraintes des plates-formes matérielles que les données liées au contexte. Elle se base sur une approche orientée graphe. Dans une première phase les dépendances des services et des composants sont extraites et synthétisées dans un graphe. Ensuite, dans une seconde phase nous appliquons à ce graphe un processus de coloriage, dans lequel nous attribuons aux noeuds du graphe trois couleurs distinctes symbolisant la décision de chargement à prendre localement. Enfin, un mécanisme d'adaptation dynamique est préconisé afin, de prendre en compte les éventuels changements du contexte.

Le but du stage de master est d'améliorer les algorithmes de coloriage de graphe de manière à y intégrer l'utilisateur. Ceci peut consister à définir un profil utilisateur avec des services requis ou préférés ou peut consister à inclure les statistiques d'utilisation des services avec un système de 'social ranking'. Ce model devra être utilisé pour le chargement et déploiement de services (déjà implanté) et devra être étudié pour le nettoyage automatique de services sur les terminaux ('garbage'). Les tests d'utilisation seront à effectuer sur le prototype actuel d'Axsel, implanté avec le langage de programmation Java / OSGi, et une éventuelle étude d'application à Google Android sera examinée.

Page 17: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Stage recherche

Titre : unification des interfaces applicatives par une approche REST et appli-cation à la composition dans Google Android.

Encadrant : Julien Ponge

Contact : [email protected]

Profil : conceptuel, software engineering, middleware, cloud computing.

ContexteLes architectures orientées-services sont de plus en plus populaires pour le dé-veloppement d’applications modulaires, distribuées et faiblement couplées. Après un succès certain dans le domaine de l’intégration d’applications d’en-treprise (SOAP, WS-*) et dans le “web 2.0” (REST, Ajax, JSON), ces approches trouvent désormais un terrain applicatif favorable dans les systèmes pervasifs (e.g., déploiement sur une plate-forme OSGi).

SujetL’approche de conception d’interfaces de services REST (REpresentational State of Transfer) a été popularisée par nombre d’applications “web 2.0” (e.g., FlickR, Twitter). Sa grande force réside dans l’emploi de la sémantique du protocole HTTP et des URIs qui exposent des ressources manipulées avec un vocabulaire restreint (les méthodes HTTP). Ceci qui permet d’interagir facilement avec ce type de service (un client HTTP est générique et léger, ce qui le rend facile à embarquer même dans des environnements aux ressources restreintes).

L’objectif est de proposer en premier lieu une approche pour unifier l’accès aux données et APIs (e.g.,calendriers, contacts, signets, événements, ...) offertes sur une plate-forme de téléphonie mobile par une approche REST (nous nous inté-resserons à Google Android pour le volet applicatif du travail). L’intérêt est de pouvoir manipuler uniformément des ressources locales et des services distants, ce qui permettra dans un deuxième temps de proposer une approche légère pour la composition d’applications, du mobile au cloud computing. Enfin, il faudra prendre en compte les critères de performances.

Laboratoire CITI / INRIA projet Amazones

Page 18: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Encadrants : Nicolas Stouls et Guillaume Salagnac

Contact : nicolas.stouls@insa­lyon.fr

Titre : Étude énergétique de logiciels embarqués sur capteurs

Contexte 

Ce   stage   s'insère   dans   la   proposition   de   projet   BQR   « Méthode de conception pour l'optimisation énergétique de réseaux de capteurs » réalisé en partenariat avec les laboratoires CETHIL  (Centre   thermique   de   Lyon)  et   LIRIS  (Laboratoire   d'analyse   en   image   et   systèmes  d'information).

Réseaux de capteursL'appellation   réseau   de   capteur   fait   généralement   référence   à   un   ensemble   de   périphériques autonomes hébergeant chacun un certain nombre de sondes. Ces périphériques sont reliés entre eux par réseau sans fil  de  telle sorte que les données mesurées puissent être acheminées  jusqu'à  un noeud particulier appelé « puis ». Le puis est en charge soit de stocker les données capturées, soit de les transmettre à plus longue distance. Les réseaux de capteurs ont de nombreux cas d'utilisation, y compris dans le domaine de la recherche en efficacité énergétique des bâtiments. Le problème des capteurs est que leur durée de vie est limitée par la durée de vie de leur batterie. La principale consommation   vient   des   communications   radio,   mais   le   logiciel   embarqué   peut   lui   aussi   être travaillé pour optimiser sa consommation énergétique. 

Sujet L'objectif de ce stage est d'étudier les méthodes d'évaluation du coût énergétique des logiciels et de croiser ces critères avec les informations récupérables sur les infrastructures matérielles de capteurs. Il existe des approches par simulation. Il serait intéressant d'étudier si d'autres approches permettant une analyse correcte de pire cas et de cas moyen existent. Le résultat attendu est une proposition théorique de méthode d'évaluation énergétique du coût d'un logiciel en fonction de la plateforme utilisée et du scénario d'utilisation. 

Page 19: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Ambient calculus for distributed, service oriented virtual machines

- ContextService oriented architectures are new ways of designing applications through components and service interactions. Applications are described using some Architecture Description Languages (ADL). A specific execution framework brings together pieces of this architecture, starts a main component and enables interactions between these components. We are considering ambient environments where components have complex life-cycles and where applications ADL are not stable. Old components can be dynamically substituted by more recent ones, components can be discarded if they consume too much resources or components can disappear if they are out of network range, etc.Most of the time the ADL is used to guarantee a good expression of the application, We want to extend this approach, to include various guarantees when the entire ADL is not always resolvable, ie when all components of the ADL are not immediately available.

Classical approaches use XML as a way of expression application ADL. We think that using formal models such as the ambient-calculus to express application ADL will help to control application characteristics. Such formal models can be used to control compatibility of a component evolution and its associations with other ones while the application changes during time.

- ApproachOur approach consist in first establishing an application ADL based on the ambient-calculus. Then, we intend to map this ambient-ADL to the run-time architecture (in particular a java service oriented framework). Finally we wish to apply calculus based on application behavior when changes occur and control that the overall application is still coherent.

• Expressing application ADL: The task here consists in establishing an ambiant-calculus expression of existing applications. Two approaches are possible: we can either start from an existing ADL to express desired properties, or we can try to build the expressions from running applications. We propose to analyze log information from running applications and find ambient-calculus expressions (abstractions) of their behavior.

• Ambient-calculus mapping to specific run-time: two architectures are targeted in our approach: webservices and OSGi. Webservice applications are mostly focused on data exchanges through service calls and are good candidates for ambient-calculus expressions, but they lack execution context integration. OSGi is not a distributed system but it is targetted at dynamic ambient environments and it follows a service-oriented programming paradigm. We propose to focus on the OSGi framework and find translations between ambient-calculus terms and OSGi service oriented paradigms.

• Ambient-calculus expression fixed point: ambient-calculus expressions must help us to analyze application stability over changes. For instance when new components are installed, it must control that newly observed behavior has the same ambient-calculus external representation as the previous one with regards to the application description. It can also control that if a new component arrives with specific constraints it is still compatible with the initial specification.

Next figure shows how ambient calculus could be used on a OSGi run-time.

Page 20: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Figure 1: Ambient-Calculus Expression extraction from run-time logs

The expressions are extracted from the OSGi log analysis. We use the calculus to find the simplest log expression and reuse it within the application to guarantee stability even-though components are changed.

- Thesis OrganizationThe phd candidate will have to study ambient-calculus and its variations, map this kind of expression to the service oriented programming world, and find expression controls that improve application stabilities over time.

OSGi Application

Run-Time Logs

P1.P2||(P3)n[m]P4

Ambient-Calculus Expression

Page 21: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

分布式,面向服务虚拟机的环境演算 - 背景面向服务的架构是设计应用的新方法,它通过组件和服务之间的交互来完成。应用通过

某些体系结构描述语言来描述。特定的执行框架把这种体系结构的各个部分结合起来,始于一个主组件,并能在这些组件间完成交互。考虑组件有复杂生命周期的环境,在这种环境下不适合使用 ADL。老的组件可以动态地被更新的组件替代,如果组件消耗了太多的资源,这些组件可以被丢弃,或者如果组件在网络范围之外,这些组件就自动消失了。大多数情况下ADL用于保证很好地描述应用。但当整个 ADL并不总是可解时,即 ADL的所有组件不能立即有效时,需要扩展这种方法来提供各种不同的保证。经典的方法是使用 XML来表示 ADL应用。使用形式模型,如环境演算,来表示 ADL应用,将有助于控制应用特性。当应用随着时间变化,这样的形式模型可以用于控制组件进化的兼容性及组件与其他组件的关系。

- 方法我们的方法是首先基于环境演算建立 ADL应用,接着,映射环境-ADL到运行体系结构(尤其是面向 Java服务的框架),最后,当发生变化时,应用演算并控制整个应用保持连贯性。•ADL应用表示:建立应用的环境演算表示。有两个可行方法:或者使用已有的ADL来描述需要的特性,或者从运行应用程序中建立这种描述。我们提出分析运行应用程序的日志信息的方法来建立应用程序行为的环境演算抽象表示。•环境演算:映射到运行环境,我们考虑两种结构,Web service和OSGi. Web service应用数据交换是通过服务调用,对于环境演算表示是一种好的选择,但缺少执行上下文集成。OSGi不是分布式系统,但它适于动态环境,而且它遵循面向服务编程范式。我们提出使用OSGi框架,并对环境演算表示和OSGi面向服务范式进行转换。•环境演算表示要点:环境演算表示必须能帮助我们分析应用在变化中的稳定性。例如,当安装了新的组件,环境演算必须能控制新观察到的行为要有与之前相同的环境演算外部表示。它也要保证如果带有特定约束的新组件加入,仍能和之前的规范兼容。

下图演示了环境演算如何用于OSGi运行环境,从OSGi日志分析中提取表示。我们使用演算来找到最简单的日志表示,并在应用中重利用来保证稳定性,即使组件发生变化。

Page 22: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

图 1:从运行日志中提取环境演算表示

- 论文组织博士生将研究环境演算及其变化,映射这种表示到面向服务编程的方法,提高应用随时

间推移的稳定性的表示控制方法

OSGi Application

Run-Time Logs

P1.P2||(P3)n[m]P4

Ambient-Calculus Expression

Page 23: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Modélisation et instrumentation de machinesvirtuelles pour l’observation

Antoine Fraboulet

2009 - 2010

Sujet de master M2• Encadrant: Antoine Fraboulet

• Contact: [email protected]

• Sujet:

Les machines virtuelles (Java ou .NET) sont conçues pour faire apparaître auprogramme un environnement sans contrainte matérielle et un mode d’exécution"Best Effort". Cette approche possède de nombreux avantages mais pose desproblèmes de contrôle de ressources pour les systèmes embarqués et les environ-nements contraints.

Des outils de profil sont déjà partiellement disponibles et proposés par desoutils. Ces outils se contentent souvent de regarder les temps d’exécution et lesconsommations d’espace mémoire des applications. Le sujet est ici de proposerune approche globale essayant de relier les différentes activités entre elles pourfaire émerger des comportements et des mesures utilisables pour l’application.

L’objectif de ce stage est d’identifier un modèle de remontée d’événementqui puisse se plaquer sur la structure logique d’une machine virtuelle pour enmesurer l’activité.

1

Page 24: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Proposition stage de PFE – réseaux de capteurs

Encadrement:

Laboratoire CITI : Guillaume Salagnac [email protected]: Atmin Aït-hamouda [email protected]

Contexte:

Les races rustiques ovines, en France, constituent environ 30% du cheptel national (soit 1 950 000 brebis). Ils'agit de brebis allaitantes (Par oposition aux brebis laitières) qui ne sont utilisées que pour la production deviande. Les Races ovines des Massifs représentent environ le quart de cet effectif.Les races rustiques sont caractérisées par leur forte adaptation à leur territoire d'origine difficile (Relief, cli-mat, etc...). Dans le Massif Central, elles sont notamment confrontées :

• A des étés secs, où l'herbe se fait rare : les brebis doivent utiliser leurs réserves corporelles et les re-constituer rapidement.

• A des hivers rigoureux nécessitant de maintenir les troupeaux en bâtiment plusieurs mois dans l'an-née, ce qui peut provoquer des problèmes sanitaires avec certaines races.

• A l'humidité dans le relief de la Chaîne des Puys à laquelle la laine mécheuse des races locales tellesque la Rava et la Limousine est adaptée.

• De plus ces races présentent des avantages en matière de : • Qualités maternelles : les brebis mettent généralement bas sans intervention de la part de l'éleveur. • Adaptation à la marche

http://fr.wikipedia.org/wiki/Elevage_extensifL’élevage extensif présente un grand intérêt pour la biodiversité, car les herbivores, ne surexploitent pas lemilieu, ne contribuent pas à l'eutrophiser et entretiennent des milieux ouverts, tout en joutant un rôle de"corridors biologiques ambulant" (en transportant de nombreuses propagules (graines, spores, larves, etc.)sous leurs sabots, dans leurs poils, dans leur tube digestif...).C'est à ce titre un des modes de gestion restauratoire utilisée pour l'entretien et la restauration de milieuxnaturels ou semi naturels.

Dans ce cadre d'élevage extensif, la localisation des troupeaux, ou la recherche d'animaux isolés, impliquentune activité humaine coûteuse en temps et en ressources. L'évaluation des déplacements du bétail passesouvent par une estimation subjective, ce qui est clairement approximatif et parfois insuffisant.L'informatisation de ces pratiques grâce à des réseaux de capteurs sans fil permettrait de gagnerconsidérablement en efficacité, et ouvrirait de nouvelles possibilités (analyse des déplacements...)

Objectif:L'objectif de ce stage est de mener une étude de faisabilité de cette informatisation, en se basant sur lestechnologies matérielles de pointe (réseaux de capteurs, batteries, technique radio low-power) et sur lestechniques logicielles (systèmes d'exploitation, protocoles de communication) de l'état de l'art scientifique.La problématique principale est celle de la consommation énergétique: pour être économiquement viable, unsystème de ce genre doit pouvoir fonctionner en autonomie pendant de longues périodes.L’étude intègrera également :

• l’analyse et les préconisations, en amont, de l’adaptation et/ou les modifications des usages.• La définition du « back office » Middleware , pour l’exploitation ainsi que la maintenance à distance

par des accès Web ( fixe et mobile)

Mots-clés:géolocalisation, réseaux ad-hoc, réseaux de capteurs, gestion d'énergie

Page 25: Amazones Web Site - Encadrants : Stéphane Frénotamazones.gforge.inria.fr/stages.pdfAmazones a développé dans le cadre du projet ANR Lise, un outil d'enregistrement des traces d'exécution

Titre : Analyse de code de composants Java: Analyse de flux de données pour la détection de vulnérabilités

Encadrants : Stéphane Frénot et Pierre Parrend

Sujet : L'objectif scientifique est d'identifier la possibilité de passage à l'échelle de la découverte de vulnérabilités par analyse statique de code en fonction des catégories de bugs connues, dans le cas des langages objets: des vulnérabilités simples peuvent être identifiées avec un haut niveau d'abstraction, et d'autres nécessitent une modélisation très fine du programme, ce qui rend l'analyse d'applications de grande taille (>10^6 lignes de code) impossibles. L'objectif technique est le développement d'un ensemble de plugins Eclipse permettant aux développeurs de réaliser eux-mêmes des revues de code automatiques.