Transcript of Logiciel de Mobile Device Management Soutenance de projet 1 Etienne Alibert Florian Barbedette...
- 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