projet de 4 année à l’insa eenne alibert séminaire dream

41
Projet de 4 ième année à l’INSA Séminaire DREAM 21 juin 2010 1 E"enne Alibert Florian Barbede1e Pierre Chesneau Mathias Deshayes Sevan Hartunians Mathieu Poignet Encadrant : Laurence Rozé

Upload: others

Post on 24-Jun-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Projet de 4ième année à l’INSA Séminaire DREAM 

21 juin 2010 

E"enne Alibert Florian Barbede1e Pierre Chesneau Mathias Deshayes Sevan Hartunians Mathieu Poignet 

Encadrant : Laurence Rozé 

Page 2: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Genèse du projet 

 Entreprise Telelogos   Spécialisée dans le middleware 

 Constat :    Augmentation des flottes d’appareils mobiles en entreprise 

  Applications critiques sur PDA   Problèmes de maintenance 

 Développement d’un logiciel concept   Contact avec DREAM pour l’aspect Diagnostic 

Page 3: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Objec"fs 

 Diagnostic embarqué   Effectuer une surveillance du système 

  Relever l’état du système (processus lancés, niveau de mémoire…)  

 Opérer un diagnostic et une réparation du système   Être transparent à l’utilisateur 

 Apprentissage de règles automatisé  Déduire de nouvelles règles    Insérer les règles déduites dans la partie diagnostic 

Page 4: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Projet ManageYourself  

Mise à jour du  système de diagnostic 

Situation non reconnue 

Surveillance en ligne 

Page 5: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

  Architecture Globale   Repor6ng   Système Expert 

  Démonstra6on 

Page 6: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Architecture Globale 

Serveur 

•   Apprentissage 

Client Mobile  

Surveillance du Système 

(Reporting) 

Diagnostic (Système Expert) 

Rapports de surveillance 

Mise à jour des règles  

Page 7: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Repor"ng 1/4 

Rapport  de fonctionnement 

Surveillance  continue du 

système  mobile 

Via  coredll.dll et la classe 

SystemState Rapport  de bug 

Utilisé par  apprentissage et système expert 

Utilisé par  apprentissage  

Page 8: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Repor"ng 2/4  Eléments surveillés (52 en tout) :  

  Périphériques (appareil photo, clavier…)   Appels (appels en cours, redirection d’appels…)   Batterie (batterie restante…)  Mémoire (mémoire vive restante…)   Réseaux (connexion wifi, puissance du signal…)   Carte SIM (présence d’une carte, mémoire pleine…)   Bluetooth (activation, nombre de connexions)   Liste des processus   Autres (Rotation, profil son, application courante…) 

Page 9: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Repor"ng 3/4 

 Exemple de rapport de fonctionnement 

 Exemple de rapport de bug  

ATTRIBUT BatteryLifeTime NUMERIC ATTRIBUT ACLineStatus NUMERIC ATTRIBUT CameraPresent {True,False} ATTRIBUT KeyboardPresent {True,False} ATTRIBUT Bug {True,False}

4294967295,1,True,True,False

4294967456,1,False,True,True

Page 10: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Repor"ng 4/4  Rapports codés en binaire 

 Gain de place mémoire   Ne prend pas beaucoup de place sur le téléphone   Permet des transferts plus rapide 

 Transferts plus sécurisés 

10 

Page 11: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Système Expert 1/2 

  Application de diagnostic = Système Expert   Simple Rule Engine   Psharp   Développement de leur propre système expert 

 Moteur d’inférence   Chainage avant   Première règle trouvée déclenchable est exécutée   Règles exécutées une et une seule fois 

  Actions    Déduction de nouveaux faits   Exécution d’actions correctives (.exe) 

11 

Page 12: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Système Expert 2/2 

 Grammaire des règles   Regle → SI condition (ET condition)* ALORS action FSI   Condition   → nomAttribut operateur partieDroite  Operateur → = | > | < | ≤ | ≥   partieDroite → nomAttribut | valeur   Action → APPEL nomProg | nomAttribut = partieDroite 

 Exemple de règles 

12 

SI memoireSaturee = true ET applicationA = true ALORS APPEL correctifA.exe FSI

Page 13: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Démonstra"on 

13 

Situation normale 

Génération de rapports de 

fonctionnement Diagnostic bon 

Règle présente dans le système expert :  

SI ACLineStatus = 0 ET iexplore.exe = 1 ALORS APPEL correctifA.exe FSI

Lancement de Internet Explorer 

Débranchement du chargeur 

Diagnostic d’une situation problématique 

Appel du correctif 

correspondant 

Page 14: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

14 

Page 15: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

  Architecture serveur   Communica6ons   Créa6on du .arff   Appren6ssage   Interface Administrateur 

  Compila6on .mrf ‐> .cs 

  Démonstra6on 

15 

Page 16: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Architecture Serveur 

16 

MediaContact 

Système Mobile 

Script Concaténation 

Apprentissage 

Interface Administration 

Compilateur Mrf ‐>cs 

Compilateur C# 

InferenceEngine.dll Actions 

Base de règles 

SE 

Report.bin 

Report.arff 

NewRules.appr 

NewRule.mrf RuleBase.cs 

RuleBase.exe 

Compilateur bin ‐>rep 

Report.rep 

Page 17: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Communica"ons 1/3 

17 

MediaContact 

Système Mobile 

Script Concaténation 

Apprentissage 

Interface Administration 

Compilateur Mrf ‐>cs 

Compilateur C# 

InferenceEngine.dll Actions 

Base de règles 

SE 

Report.bin 

Report.arff 

NewRules.appr 

NewRule.mrf RuleBase.cs 

RuleBase.exe 

Compilateur bin ‐>rep 

Report.rep 

Page 18: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Communica"ons 2/3 

18 

Console(s) d’administration

PDA

IP GPRS, EDGE,

UMTS, HSDPA, Wi-Fi, xDSL, RNIS, RTC

LAN

Serveur(s) de communications

Tablette

Portable

Système point de vente

Machine communicante

Applications

Messagerie

Données

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-réseau

Fonctionnement de MediaContact 

Page 19: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Communica"ons 3/3 

 Utilisation de Mediacontact 

  Envoi régulier de rapports de surveillance à l’apprentissage 

  Appel de programme pour concaténer des rapports 

 Mise à jour des règles du système expert 

19 

Page 20: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Créa"on du fichier .arff 1/2 

20 

MediaContact 

Système Mobile 

Script Concaténation 

Apprentissage 

Interface Administration 

Compilateur Mrf ‐>cs 

Compilateur C# 

InferenceEngine.dll Actions 

Base de règles 

SE 

Report.bin 

Report.arff 

NewRules.appr 

NewRule.mrf RuleBase.cs 

RuleBase.exe 

Compilateur bin ‐>rep 

Report.rep 

Page 21: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Créa"on du fichier .arff 2/2 

  Décodage des rapports binaires   Création dynamique de l’entête : type des attributs   Concaténation des rapports  

  Une ligne par rapport 

21 

@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 22: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 1/10 

22 

MediaContact 

Système Mobile 

Script Concaténation 

Apprentissage 

Interface Administration 

Compilateur Mrf ‐>cs 

Compilateur C# 

InferenceEngine.dll Actions 

Base de règles 

SE 

Report.bin 

Report.arff 

NewRules.appr 

NewRule.mrf RuleBase.cs 

RuleBase.exe 

Compilateur bin ‐>rep 

Report.rep 

Page 23: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 2/10 

 Objectif : déduire des règles à partir des rapports   Contexte : 

  Apprentissage supervisé, fonction cible discrète   Pouvoir comprendre les règles pour associer des actions 

 Choix de l’algorithme :   Arbres de décision (C4.5) 

  Possèdent un grand pouvoir d’expression    Données bruitées possibles   Sont lisibles par un humain 

 Choix d’une bibliothèque : Weka 23 

Page 24: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 3/10 

  Simulateur : Attributs   memoire      ∈ {normale,saturee,presqueSaturee }      applicationA     ∈ {lancee,nonLancee }      applicationB     ∈ {lancee,nonLancee }      applicationC     ∈ {lancee,nonLancee }      derniereVersionA ∈ {oui,non }      derniereVersionB  ∈ {oui,non }      derniereVersionC  ∈ {oui,non }      batterie        ∈ {normale,faible,vide }      plantage       ∈ {oui,non } 

24 

Page 25: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 4/10  

  Simulateur : entrées   SI memoire=saturee ET applicationC=lancee  ALORS plantage=oui FSI 

  SI memoire=presqueSaturee ET applicationC=lancee  ALORS plantage=oui FSI 

  SI memoire=saturee ET applicationA=lancee  ALORS plantage=oui FSI 

  SI applicationA=lancee ET applicationB=lancee  ALORS plantage=oui FSI 

25 

Page 26: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 5/10 

  Simulateur : sortie fichier arff @relation Smartphone1 @attribute memoire {normale,saturee,presqueSaturee} @attribute applicationA {lancee,nonLancee} @attribute applicationB {lancee,nonLancee} @attribute applicationC {lancee,nonLancee} @attribute derniereVersionA {oui,non} @attribute derniereVersionB {oui,non} @attribute derniereVersionC {oui,non} @attribute batterie {normale,faible,vide} @attribute plantage {oui,non} @data normale,lancee,nonLancee,lancee,non,non,oui,normale,non normale,nonLancee,lancee,lancee,oui,oui,non,vide,non presqueSaturee,lancee,nonLancee,lancee,non,non,oui,normale,oui saturee,lancee,nonLancee,nonLancee,oui,oui,non,vide,oui 

26 

Page 27: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 6/10 

27 

100% de reconnaissance des 1000 exemples 

Règles apprises  ⇔ règles simulateur 

Règles un peu plus compliqués que règles du simulateur 

Page 28: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 7/10   4 autres téléphones testés : 

 Mémoire : attribut numérique ∈[0 256]  Diminution du nombre d’exemples de plantages 

  Saturé ∈[240 256]   Probabilité de 1/10 d’avoir deux applications lancées 

  Introduction de données bruitées (1 sur 100)  Apprentissage très bon 

  98,8% de reconnaissance   Les exemples mal classés sont les exemples bruitées  Nombre de règles raisonnable 

28 

Page 29: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 8/10 

 Dernier téléphone testé : règle aléatoire :   SI memoire ∈[200,240] ET applicationC=lancee  ALORS plantage=ouiounon FSI 

 Une chance sur deux de planter 

  Permet de voir si l’apprentissage peut s’adapter à des situations plus floues 

29 

Page 30: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

30 

15 règles de plantage apprises ! 

Appartition des attributs : •  batterie •  derniereVersionB •  derniereVersionA 

Page 31: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 9/10 Minimum  %  

reco Nb règles  Variables parasites 

2  97,7  15  Batterie, derniereVersionA, derniereVersionB 

6  98  12  Batterie, derniereVersionB 

10  97,8  10  Batterie, derniereVersionB 

15  97,4  6  derniereVersionB 

30  97,2  3 

40  97,2  3 

50  96,9  3 

60  96,7  3 

100  92,6  1 

31 

Page 32: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Appren"ssage 10/10  Questions 

  Choisir critère sur taux reco / nombre var ?  Développer arbre jusqu’à une profondeur donnée ?   Regarder les algos du coté règles de classification ? 

32 

Page 33: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Interface d’administra"on 1/3 

33 

MediaContact 

Système Mobile 

Script Concaténation 

Apprentissage 

Interface Administration 

Compilateur Mrf ‐>cs 

Compilateur C# 

InferenceEngine.dll Actions 

Base de règles 

SE 

Report.bin 

Report.arff 

NewRules.appr 

NewRule.mrf RuleBase.cs 

RuleBase.exe 

Compilateur bin ‐>rep 

Report.rep 

Page 34: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Interface d’administra"on 2/3 

  Seul maillon de la chaine non‐automatique 

 Permet de :   Lister les règles déjà présentes dans le système expert   Lister les règles trouvées par l’apprentissage   Entrer de nouvelles règles manuellement   Associer des actions aux règles 

34 

Page 35: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Interface d’administra"on 3/3 

35 Panneau principal de l’interface d’administration 

Page 36: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Compila"on .mrf ‐> .cs 1/2 

36 

MediaContact 

Système Mobile 

Script Concaténation 

Apprentissage 

Interface Administration 

Compilateur Mrf ‐>cs 

Compilateur C# 

InferenceEngine.dll Actions 

Base de règles 

SE 

Report.bin 

Report.arff 

NewRules.appr 

NewRule.mrf RuleBase.cs 

RuleBase.exe 

Compilateur bin ‐>rep 

Report.rep 

Page 37: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Compila"on .mrf ‐> .cs 2/2   Utilisation de javacc pour la création du compilateur 

37 

#Declaration des attributs ATTRIBUT memoire NUMERIC ATTRIBUT memDiscret {normale,saturee,presqueSaturee} ATTRIBUT applicationC {lancee,nonLancee} 

#Declaration des règles 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<Condition> lConditions_0 = new List<Condition>(); List<InferenceEngine.Action> lConsequences_0 = new List<InferenceEngine.Action>(); 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 38: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Démonstra"on 

38 

Situation problématique (Saturation de la 

RAM) 

Non‐détection du problème 

Plantage d’une application 

Création du rapport de bug 

Envoi des rapports Analyse des rapports par l’apprentissage 

Génération de nouvelles règles 

Validation et ajout d’un correctif 

Mise a jour du système expert sur le mobile 

Situation problématique (Saturation de la 

RAM) 

Détection du problème 

Application du correctif approprié 

Page 39: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

39 

Page 40: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

  Très bon projet de 4ième année 

  Problème du test   Reste beaucoup de travail du coté appren6ssage 

  U"liser des algorithmes perme1ant de généraliser sur les a1ributs 

  Regarder du coté des règles de classifica"on ?   Introduire des no"ons de type d’appareil ? 

  Bourse Ciffre en perspec6ve 

40 

Page 41: Projet de 4 année à l’INSA Eenne Alibert Séminaire DREAM

Ques"ons ? 

41 

MediaContact 

Système Mobile Report.bin 

RuleBase.cs Script 

Concaténation 

Apprentissage 

Interface Administration 

Compilateur Mrf ‐>cs 

Compilateur C# 

InferenceEngine.dll Actions 

Base de règles 

SE 

Report.arff 

NewRules.appr 

NewRule.mrf 

RuleBase.exe 

Compilateur bin ‐>rep 

Report.rep 

Reporting  Système Expert Report.bin  Inférence