Manage Yourself

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

description

Manage Yourself. Logiciel de Mobile Device Management Soutenance de projet. 28 mai 2010. Etienne Alibert Florian Barbedette Pierre Chesneau Mathias Deshayes Sevan Hartunians Mathieu Poignet Encadrant : Laurence Rozé. Introduction. - PowerPoint PPT Presentation

Transcript of 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