Download - Manage Yourself
Manage Yourself
Manage YourselfLogiciel de Mobile Device ManagementSoutenance de projet
1Etienne AlibertFlorian BarbedettePierre ChesneauMathias DeshayesSevan HartuniansMathieu Poignet
Encadrant : Laurence Roz28 mai 20101IntroductionCes dernires annes : forte augmentation du nombre de PDA et smartphoneSurtout en milieu professionnel
Nouveau march : les applications de mobile device managementGestion de flottes dappareils mobiles
Manage Yourself : logiciel empchant les appareils mobiles de planter.
2SommairePrsentation du projetActeursContexteObjectifsCot embarquArchitecture GlobaleReportingSystme ExpertDmonstration
3Cot serveurArchitecture serveurCommunicationsCration du fichier .arffApprentissageInterface dadministrationCompilation .mrf -> .csDmonstrationConclusionOrganisation de travailDifficults rencontresBilan
Prsentation du projet Acteurs Contexte Objectifs
4ActeursEquipe DREAM (IRISA)Equipe de recherche spcialise dans le diagnostic
Entreprise TelelogosSpcialise dans le middlewareProposant des outils de gestion/synchronisation de flottes dordinateur, PC portables et PDAMediacontact
5Contexte6Constat : Augmentation des flottes dappareils mobiles en entrepriseApplications critiques sur PDAProblmes de maintenance
Identification dun besoin Dveloppement dun logiciel conceptContraintes : Windows mobile 6.0.NET compact framework 3.5
Objectifs 1/27Diagnostic embarquEffectuer une surveillance du systmeRelever ltat du systme (processus lancs, niveau de mmoire) Oprer un diagnostic du systmetre transparent lutilisateur
Apprentissage de rgles automatis (partie exploratoire)Dduire de nouvelles rgles Insrer les rgles dduites dans la partie diagnosticObjectifs 2/28
AbonnementTlchargementSurveillance en ligneSituation non reconnue
Cot Embarqu Architecture Globale Reporting Systme Expert Dmonstration
9Architecture GlobaleServeur
ApprentissageClient Mobile Surveillance du Systme(Reporting)Diagnostic(Systme Expert)Rapports de surveillanceMise jour des rgles 10Reporting 1/3Rapport de fonctionnementSurveillance continue du systme mobile
Via coredll.dll et la classe SystemState
Rapport de bugVers apprentissage et systme expertVers apprentissage uniquement11Reporting 2/3Elments 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 processusAutres (Rotation, profil son, application courante)
12Reporting 3/3Rapports cods en binaire
Gain de place mmoire Ne prend pas beaucoup de place sur le tlphonePermet des transferts plus rapide
Transferts plus scuriss
Ncessit de deux outils supplmentairesEncodage au niveau de lapplication de surveillanceDcodage dans le systme expert et sur le serveur13Systme Expert 1/4Application de diagnostic Systme Expert
Systme constitu de : Base de faitsBase de rglesMoteur dinfrence (chainage avant)
Permet de dduire de nouveaux faitsPermet de dclencher des actions correctives
14Exemple Socrate : Socrate est un hommeTous les hommes sont mortelsDonc Socrates est mortel14Systme Expert 2/4Dfinition dune grammaire pour les rglesGrammaire LL(1)
Exemple de rgle :
15SI memoireSaturee = true ET applicationA = true ALORS APPEL correctifA.exe FSISystme Expert 3/416
Diagramme de classe du systme expert premire partieSystme Expert 4/417
Diagramme de classe du systme expert deuxime partiePenser parler des oprateurs17Dmonstration18Rgle prsente dans le systme expert : SI ACLineStatus = 0 ET iexplore.exe = 1 ALORS APPEL correctifA.exe FSI4294967295,1,True,True,1,False,68595220,
Exemple de Rapport : 19
Cot Serveur Architecture serveur Communications Cration du .arff Apprentissage Interface Administrateur Compilation .mrf -> .cs Dmonstration
20Architecture Serveur21MediaContactSystme MobileScript ConcatnationApprentissageInterface AdministrationCompilateurMrf ->csCompilateur C#InferenceEngine.dllActionsBase de rglesSEReport.binReport.arffNewRules.apprNewRule.mrfRuleBase.csRuleBase.exeCompilateur bin ->repReport.repCommunications 1/322MediaContactSystme MobileScript ConcatnationApprentissageInterface AdministrationCompilateurMrf ->csCompilateur C#InferenceEngine.dllActionsBase de rglesSEReport.binReport.arffNewRules.apprNewRule.mrfRuleBase.csRuleBase.exeCompilateur bin ->repReport.repCommunications 2/323
Console(s)dadministrationPDA IPGPRS, EDGE,UMTS, HSDPA,Wi-Fi, xDSL,RNIS, RTCLANServeur(s) decommunicationsTablette PortableSystmepoint de vente MachinecommunicanteApplicationsMessagerieDonnes
SI CENTRALServeur :Windows 2000 / 2003 Client distant :Windows 2000 / 2003 / XP / VistaWindows CE / Mobile 5.0 - 6.0Console(s)Web
Gestion multi-rseau Fonctionnement de MediaContactCommunications 3/3Utilisation de Mediacontact
Envoi rgulier de rapports de surveillance lapprentissage
Appel de programme pour concatner des rapports
Mise jour des rgles du systme expert24Cration du fichier .arff 1/225MediaContactSystme MobileScript ConcatnationApprentissageInterface AdministrationCompilateurMrf ->csCompilateur C#InferenceEngine.dllActionsBase de rglesSEReport.binReport.arffNewRules.apprNewRule.mrfRuleBase.csRuleBase.exeCompilateur bin ->repReport.repCration du fichier .arff 2/2Dcodage des rapports binairesCration dynamique de lentte : type des attributsConcatnation des rapports Une ligne par rapport
26@ATTRIBUTE BatteryLifeTime NUMERIC @ATTRIBUTE ACLineStatus NUMERIC @ATTRIBUTE CameraPresent {True,False}@ATTRIBUTE KeyboardPresent {True,False} @ATTRIBUTE PhoneActiveCallCount NUMERIC
@DATA4294967295,1,True,True,14294967456,1,False,True,1Apprentissage 1/427MediaContactSystme MobileScript ConcatnationApprentissageInterface AdministrationCompilateurMrf ->csCompilateur C#InferenceEngine.dllActionsBase de rglesSEReport.binReport.arffNewRules.apprNewRule.mrfRuleBase.csRuleBase.exeCompilateur bin ->repReport.repApprentissage 2/4Objectif : dduire de nouvelles rgles partir des rapports de surveillance remontsContexte :Apprentissage supervis (positif/ngatif)Pouvoir comprendre les rgles pour associer des actionsChoix de lalgorithme :Arbres de dcision (C4.5)Possdent un grand pouvoir dexpressionTravaillent sur des donnes bruitesSont lisible par un humain
28Apprentissage 3/4Apprentissage darbres de dcisions29Nud variablesBranches une valeurFeuilles catgorie Classification dune instance : parcours de larbre Peut tre traduit en rglesmmoiresaturenormalenegposnegApplicationAlancenonLance29Apprentissage 4/430ExMmoireAppliAtiqe1SatureLancePose2SaturenonLancenege3Normalelancenege4NormalenonLancenegMmoirenormalesatureExMmoireAppliAtiqe3Normalelancenege4NormalenonLancenegExMmoireAppliAtiqe1SatureLancePose2SaturenonLancenegNgatifPositifNgatifAppliAlancenonLanceExMmoireAppliAtiqe1SatureLancePosExMmoireAppliAtiqe2SaturenonLancenegAlgorithme ID3Interface dadministration 1/331MediaContactSystme MobileScript ConcatnationApprentissageInterface AdministrationCompilateurMrf ->csCompilateur C#InferenceEngine.dllActionsBase de rglesSEReport.binReport.arffNewRules.apprNewRule.mrfRuleBase.csRuleBase.exeCompilateur bin ->repReport.repInterface dadministration 2/3Seul maillon de la chaine non-automatique
Permet de :Lister les rgles dj prsentes dans le systme expertLister les rgles trouves par lapprentissageEntrer de nouvelles rgles manuellementAssocier des actions aux rgles32Interface dadministration 3/333
Panneau principal de linterface dadministrationCompilation .mrf -> .cs 1/234MediaContactSystme MobileScript ConcatnationApprentissageInterface AdministrationCompilateurMrf ->csCompilateur C#InferenceEngine.dllActionsBase de rglesSEReport.binReport.arffNewRules.apprNewRule.mrfRuleBase.csRuleBase.exeCompilateur bin ->repReport.repCompilation .mrf -> .cs 2/2Utilisation de javacc pour la cration du compilateur
35#Declaration des attributsATTRIBUT memoire NUMERICATTRIBUT memDiscret {normale,saturee,presqueSaturee}ATTRIBUT applicationC {lancee,nonLancee} #Declaration des rglesSI memDiscret = saturee ET applicationC=true ALORS APPEL viderMemoire.exe FSISI 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 : 0lConsequences_0.Add(new ExecuteMethod("viderMemoire.exe"));kb.addRule(new Rule(lConditions_0,lConsequences_0));//End of rule . Ruleid :0.mrf.csDmonstration3637
Conclusion Organisation de travail Difficults rencontres Bilan38Organisation de travailTravail en binmePartage du travail selon les modulesSystme expert : Pierre et FlorianReporting : Etienne et MathiasCommunications et Serveur: Sevan et Mathieu
Un chef de projet par phasePr-tude, spcifications, conception, planification, implmentation, tests
39Difficults rencontresPlus de difficults que prvu sur les couches basses du systme dues aux spcificits de Windows Mobile
Problme de reconnaissance des chanes avec JavaccLespace est utilis comme sparateur
Problmes de connexion au wifiDus aux paramtres du CRINous avons utilis la liaison USB
40
BilanMotivation due au partenariat avec Telelogos
Projet ExploratoireBeaucoup de temps investi dans la pr-tude
Longues phases de spcification et de conceptionPhase dimplmentation plus rapide
Projet modulairePlus facile de se rpartir les tchesBeaucoup de travail dintgration
Bonne ambiance, bon travail en quipe
Au final : Un logiciel concept dont il nexiste pas dquivalent sur le march
41Questions ?42MediaContactSystme MobileReport.binRuleBase.csScript ConcatnationApprentissageInterface AdministrationCompilateurMrf ->csCompilateur C#InferenceEngine.dllActionsBase de rglesSEReport.arffNewRules.apprNewRule.mrfRuleBase.exeCompilateur bin ->repReport.repReportingSystme ExpertReport.binInfrence