logiciel de mobile device management soutenance de projet 1 etienne alibert florian barbedette...

42
Manage Yourself Logiciel de Mobile Device Management Soutenance de projet 1 Etienne Alibert Florian Barbedette Pierre Chesneau Mathias Deshayes Sevan Hartunians Mathieu Poignet Encadrant : Laurence Rozé 28 mai 2010

Upload: apolline-lacroix

Post on 03-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

  • Page 1
  • Logiciel de Mobile Device Management Soutenance de projet 1 Etienne Alibert Florian Barbedette Pierre Chesneau Mathias Deshayes Sevan Hartunians Mathieu Poignet Encadrant : Laurence Roz 28 mai 2010
  • Page 2
  • Introduction Ces dernires annes : forte augmentation du nombre de PDA et smartphone Surtout en milieu professionnel Nouveau march : les applications de mobile device management Gestion de flottes dappareils mobiles Manage Yourself : logiciel empchant les appareils mobiles de planter. 2
  • Page 3
  • Sommaire Prsentation du projet Acteurs Contexte Objectifs Cot embarqu Architecture Globale Reporting Systme Expert Dmonstration 3 Cot serveur Architecture serveur Communications Cration du fichier.arff Apprentissage Interface dadministration Compilation.mrf ->.cs Dmonstration Conclusion Organisation de travail Difficults rencontres Bilan
  • Page 4
  • Acteurs Contexte Objectifs 4
  • Page 5
  • Acteurs Equipe DREAM (IRISA) Equipe de recherche spcialise dans le diagnostic Entreprise Telelogos Spcialise dans le middleware Proposant des outils de gestion/synchronisation de flottes dordinateur, PC portables et PDA Mediacontact 5
  • Page 6
  • Contexte 6 Constat : Augmentation des flottes dappareils mobiles en entreprise Applications critiques sur PDA Problmes de maintenance Identification dun besoin Dveloppement dun logiciel concept Contraintes : Windows mobile 6.0.NET compact framework 3.5
  • Page 7
  • Objectifs 1/2 7 Diagnostic embarqu Effectuer une surveillance du systme Relever ltat du systme (processus lancs, niveau de mmoire) Oprer un diagnostic du systme tre transparent lutilisateur Apprentissage de rgles automatis (partie exploratoire) Dduire de nouvelles rgles Insrer les rgles dduites dans la partie diagnostic
  • Page 8
  • Objectifs 2/2 8 Abonnement Tlchargement Surveillance en ligne Situation non reconnue
  • Page 9
  • Architecture Globale Reporting Systme Expert Dmonstration 9
  • Page 10
  • Architecture Globale Serveur Apprentissage Serveur Apprentissage Client Mobile Surveillance du Systme (Reporting) Diagnostic (Systme Expert) Rapports de surveillance Mise jour des rgles 10
  • Page 11
  • Reporting 1/3 Rapport de fonctionnement Surveillance continue du systme mobile Via coredll.dll et la classe SystemState Surveillance continue du systme mobile Via coredll.dll et la classe SystemState Rapport de bug Vers apprentissage et systme expert Vers apprentissage uniquement 11
  • Page 12
  • Reporting 2/3 Elments surveills (52 en tout) : Priphriques (appareil photo, clavier) Appels (appels en cours, redirection dappels) Batterie (batterie restante) Mmoire (mmoire vive restante) Rseaux (connexion wifi, puissance du signal) Carte SIM (prsence dune carte, mmoire pleine) Bluetooth (activation, nombre de connexions) Liste des processus Autres (Rotation, profil son, application courante) 12
  • Page 13
  • Reporting 3/3 Rapports cods en binaire Gain de place mmoire Ne prend pas beaucoup de place sur le tlphone Permet des transferts plus rapide Transferts plus scuriss Ncessit de deux outils supplmentaires Encodage au niveau de lapplication de surveillance Dcodage dans le systme expert et sur le serveur 13
  • Page 14
  • Systme Expert 1/4 Application de diagnostic Systme Expert Systme constitu de : Base de faits Base de rgles Moteur dinfrence (chainage avant) Permet de dduire de nouveaux faits Permet de dclencher des actions correctives 14
  • Page 15
  • Systme Expert 2/4 Dfinition dune grammaire pour les rgles Grammaire LL(1) Exemple de rgle : 15 SI memoireSaturee = true ET applicationA = true ALORS APPEL correctifA.exe FSI
  • Page 16
  • Systme Expert 3/4 16 Diagramme de classe du systme expert premire partie
  • Page 17
  • Systme Expert 4/4 17 Diagramme de classe du systme expert deuxime partie
  • Page 18
  • Dmonstration 18 Situation normale Gnration de rapports de fonctionnement Diagnostic bon Rgle prsente dans le systme expert : SI ACLineStatus = 0 ET iexplore.exe = 1 ALORS APPEL correctifA.exe FSI Lancement de Internet Explorer Dbranchement du chargeur Diagnostic dune situation problmatique Appel du correctif correspondant 4294967295,1,True,True,1,False,68595220, Exemple de Rapport :
  • Page 19
  • 19
  • Page 20
  • Architecture serveur Communications Cration du.arff Apprentissage Interface Administrateur Compilation.mrf ->.cs Dmonstration 20
  • Page 21
  • Architecture Serveur 21 MediaContact Systme Mobile Script Concatnation Apprentissage Interface Administration Compilateur Mrf ->cs Compilateur Mrf ->cs Compil ateur C# InferenceEngi ne.dll Actions Base de rgles SE Report.bin Report.arff NewRules.appr NewRule.mrf RuleBase.cs RuleBase.exe Compilateur bin ->rep Report.rep
  • Page 22
  • Communications 1/3 22 MediaContact Systme Mobile Script Concatnation Apprentissage Interface Administration Compilateur Mrf ->cs Compilateur Mrf ->cs Compil ateur C# InferenceEngi ne.dll Actions Base de rgles SE Report.bin Report.arff NewRules.appr NewRule.mrf RuleBase.cs RuleBase.exe Compilateur bin ->rep Report.rep
  • Page 23
  • Communications 2/3 23 Console(s) dadministration PDA IP GPRS, EDGE, UMTS, HSDPA, Wi-Fi, xDSL, RNIS, RTC LAN Serveur(s) de communications Tablette Portable Systme point de vente Machine communicante Applications Messagerie Donnes SI CENTRAL Serveur : Windows 2000 / 2003 Client distant : Windows 2000 / 2003 / XP / Vista Windows CE / Mobile 5.0 - 6.0 Console(s) Web Gestion multi-rseau Fonctionnement de MediaContact
  • Page 24
  • Communications 3/3 Utilisation de Mediacontact Envoi rgulier de rapports de surveillance lapprentissage Appel de programme pour concatner des rapports Mise jour des rgles du systme expert 24
  • Page 25
  • Cration du fichier.arff 1/2 25 MediaContact Systme Mobile Script Concatnation Apprentissage Interface Administration Compilateur Mrf ->cs Compilateur Mrf ->cs Compil ateur C# InferenceEngi ne.dll Actions Base de rgles SE Report.bin Report.arff NewRules.appr NewRule.mrf RuleBase.cs RuleBase.exe Compilateur bin ->rep Report.rep
  • Page 26
  • Cration du fichier.arff 2/2 Dcodage des rapports binaires Cration dynamique de lentte : type des attributs Concatnation des rapports Une ligne par rapport 26 @ATTRIBUTE BatteryLifeTime NUMERIC @ATTRIBUTE ACLineStatus NUMERIC @ATTRIBUTE CameraPresent {True,False} @ATTRIBUTE KeyboardPresent {True,False} @ATTRIBUTE PhoneActiveCallCount NUMERIC @DATA 4294967295,1,True,True,1 4294967456,1,False,True,1
  • Page 27
  • Apprentissage 1/4 27 MediaContact Systme Mobile Script Concatnation Apprentissage Interface Administration Compilateur Mrf ->cs Compilateur Mrf ->cs Compil ateur C# InferenceEngi ne.dll Actions Base de rgles SE Report.bin Report.arff NewRules.appr NewRule.mrf RuleBase.cs RuleBase.exe Compilateur bin ->rep Report.rep
  • Page 28
  • Apprentissage 2/4 Objectif : dduire de nouvelles rgles partir des rapports de surveillance remonts Contexte : Apprentissage supervis (positif/ngatif) Pouvoir comprendre les rgles pour associer des actions Choix de lalgorithme : Arbres de dcision (C4.5) Possdent un grand pouvoir dexpression Travaillent sur des donnes bruites Sont lisible par un humain 28
  • Page 29
  • Apprentissage 3/4 Apprentissage darbres de dcisions 29 Nud variables Branches une valeur Feuilles catgorie Classification dune instance : parcours de larbre Peut tre traduit en rgles mmoire sature normale neg pos neg ApplicationA lance nonLance
  • Page 30
  • Apprentissage 4/4 30 ExMmoireAppliAtiq e1SatureLancePos e2SaturenonLanceneg e3Normalelanceneg e4NormalenonLanceneg Mmoire normale sature ExMmoireAppliAtiq e3Normalelanceneg e4NormalenonLanceneg ExMmoireAppliAtiq e1SatureLancePos e2SaturenonLanceneg Ngatif Positif Ngatif AppliA lance nonLance ExMmoireAppliAtiq e1SatureLancePos ExMmoireAppliAtiq e2SaturenonLanceneg Algorithme ID3
  • Page 31
  • Interface dadministration 1/3 31 MediaContact Systme Mobile Script Concatnation Apprentissage Interface Administration Compilateur Mrf ->cs Compilateur Mrf ->cs Compil ateur C# InferenceEngi ne.dll Actions Base de rgles SE Report.bin Report.arff NewRules.appr NewRule.mrf RuleBase.cs RuleBase.exe Compilateur bin ->rep Report.rep
  • Page 32
  • Interface dadministration 2/3 Seul maillon de la chaine non-automatique Permet de : Lister les rgles dj prsentes dans le systme expert Lister les rgles trouves par lapprentissage Entrer de nouvelles rgles manuellement Associer des actions aux rgles 32
  • Page 33
  • Interface dadministration 3/3 33 Panneau principal de linterface dadministration
  • Page 34
  • Compilation.mrf ->.cs 1/2 34 MediaContact Systme Mobile Script Concatnation Apprentissage Interface Administration Compilateur Mrf ->cs Compilateur Mrf ->cs Compil ateur C# InferenceEngi ne.dll Actions Base de rgles SE Report.bin Report.arff NewRules.appr NewRule.mrf RuleBase.cs RuleBase.exe Compilateur bin ->rep Report.rep
  • Page 35
  • Compilation.mrf ->.cs 2/2 Utilisation de javacc pour la cration du compilateur 35 #Declaration des attributs ATTRIBUT memoire NUMERIC ATTRIBUT memDiscret {normale,saturee,presqueSaturee} ATTRIBUT applicationC {lancee,nonLancee} #Declaration des rgles SI memDiscret = saturee ET applicationC=true ALORS APPEL viderMemoire.exe FSI SI memoire < 100 ALORS memDiscret = saturee FSI // beginning of a new rule. (ruleid : 0) List lConditions_0 = new List (); List lConsequences_0 = new List (); lConditions_0.Add(new Condition(Condition.operators.EQUAL,new LeftOperand(this.kb.registerFact("memDiscret")),new ValueOperand(new Symbol("saturee")))); lConditions_0.Add(new Condition(Condition.operators.EQUAL,new LeftOperand(this.kb.registerFact("applicationC")),new ValueOperand(new Symbol("true")))); //end of conditions for ruleid : 0 lConsequences_0.Add(new ExecuteMethod("viderMemoire.exe")); kb.addRule(new Rule(lConditions_0,lConsequences_0)); //End of rule. Ruleid :0.mrf.cs
  • Page 36
  • Dmonstration 36 Situation problmatique (Saturation de la RAM) Non-dtection du problme Plantage dune application Cration du rapport de bug Envoi des rapports Analyse des rapports par lapprentissage Gnration de nouvelles rgles Validation et ajout dun correctif Mise a jour du systme expert sur le mobile Situation problmatique (Saturation de la RAM) Dtection du problme Application du correctif appropri
  • Page 37
  • 37
  • Page 38
  • Organisation de travail Difficults rencontres Bilan 38
  • Page 39
  • Organisation de travail Travail en binme Partage du travail selon les modules Systme expert : Pierre et Florian Reporting : Etienne et Mathias Communications et Serveur: Sevan et Mathieu Un chef de projet par phase Pr-tude, spcifications, conception, planification, implmentation, tests 39
  • Page 40
  • Difficults rencontres Plus de difficults que prvu sur les couches basses du systme dues aux spcificits de Windows Mobile Problme de reconnaissance des chanes avec Javacc Lespace est utilis comme sparateur Problmes de connexion au wifi Dus aux paramtres du CRI Nous avons utilis la liaison USB 40
  • Page 41
  • Bilan Motivation due au partenariat avec Telelogos Projet Exploratoire Beaucoup de temps investi dans la pr-tude Longues phases de spcification et de conception Phase dimplmentation plus rapide Projet modulaire Plus facile de se rpartir les tches Beaucoup de travail dintgration Bonne ambiance, bon travail en quipe Au final : Un logiciel concept dont il nexiste pas dquivalent sur le march 41
  • Page 42
  • Questions ? 42 MediaContact Systme Mobile Report.bin RuleBase.cs Script Concatnation Apprentissage Interface Administration Compilateur Mrf ->cs Compilateur Mrf ->cs Compil ateur C# InferenceEngi ne.dll Actions Base de rgles SE Report.arff NewRules.appr NewRule.mrf RuleBase.exe Compilateur bin ->rep Report.rep Reporting Systme Expert Report.bin Infrence