EXTENSION D UN OUTIL DE VISUALISATION DE TRACES

Dimension: px
Commencer à balayer dès la page:

Download "EXTENSION D UN OUTIL DE VISUALISATION DE TRACES"

Transcription

1 ASR9 - Projet de Fin d Études EXTENSION D UN OUTIL DE VISUALISATION DE TRACES Encadré par: M. François TRAHAY Mayssem BOUZAZI Khalil JEBALI Octobre Janvier 2014

2 Remerciements Nous tenons à remercier sincèrement notre encadrant Mr François TRAHAY pour le temps qu il a consacré, son encadrement ainsi que ses précieux conseils. Nos remerciements s adressent aussi à tous les professeurs de la VAP d Architecte de Services informatiques en Réseaux pour l intérêt qu ils ont porté à notre travail. I

3 Résumé De nos jours, vu que son utilisation est de plus en plus fréquente, le calcul intensif ou HPC (pour High Performance Computing) nécessite la visualisation des traces d exécution afin d améliorer le plus possible les performances des applications développées. ViTE (Visual Trace Explorer), un outil à la fois fois simple et efficace, permet à l utilisateur de suivre l exécution d un programme afin d identifier rapidement les anomalies présentes et qui peuvent affecter son déroulement. Cependant, cet outil de visualisation permet de manipuler au plus un seul fichier à la fois qui est généralement en format Pajé et qui peut être lourd et illisible pour l utilisateur. C est pour cette raison qu il y a eu recours à un nouveau format de fichier (Pajé2) proche du format Pajé. ViTE étant incapable de visualiser un tel format et c est précisément là où se situe l objectif majeur de ce projet de fin d études : étendre ViTE pour pouvoir supporter ce format de traces. Mots Clés : HPC, ViTE, Traces d exécution, Pajé, Pajé 2, Parser. II

4 Table des matières 1 Visual Trace Explorer (ViTE) Formats de traces supportés OTF TAU Pajé Visualisation des traces avec ViTE Le Parser Le Render L interface Le projet Motivation Travail à effectuer Déroulement du projet Le format Pajé Gestion du multi-parsing Support des Patterns Optimisations de ViTE Difficultés rencontrées III

5 Table des figures 1.1 Exemple de trace d exécution visualisée sur ViTE Représentation simplifiée d une trace d exécution Interactions entre les différents modules de ViTE Algorithme du Parser Les différentes interactions du parser Schéma simplifié d une trace en format Pajé Schéma simplifié d une trace en format Pajé Structure d une PajéLine Structure d une Trace Fonctionnement du ParserPajé Exemple de trace au format Pajé Exemple de définition d un pattern en Pajé Exemple d appel de Pattern en Pajé Fonctionnement du ParserPajé modifié Structure d un Pattern Instanciation et sauvegarde d un pattern Sauvegarde des occurrences du pattern Parsing avec les valeurs moyennes Interactions Parser Render IV

6 Introduction Suite à l évolution de la demande en puissance de calcul pour diverses applications informatiques et l explosion en performance des nœuds de calcul qui l a accompagnée, le marché informatique du calcul intensif ou HPC (pour High Performance Computing) jouit d une croissance soutenue. Une ascension qui peut être expliquée par l évolution et la miniaturisation des composants électroniques et la baisse de leurs coûts. Une position encore fortifiée par l introduction des architectures parallèles qui permettent d amplifier la puissance de calcul tout en maintenant un bon rendement et en économisant de l énergie. C est pour cette raison que le calcul intensif est utilisé pour répondre à différents besoins dans divers domaines tels que la recherche académique, les projets gouvernementaux, la météorologie... De ce fait, les différentes architectures matérielles utilisées (processeurs multicœurs, GPU, grappes, nœuds de calcul...) qui sont devenues non seulement plus performantes mais aussi complexes ainsi que l utilisation de modèles de programmation hybrides compliquent les tâches d optimisation et d analyse des applications. Ce qui fait qu une simple inspection du code source n est plus suffisante pour mener une analyse intuitive de l exécution d une application, tâche qui s avère essentielle pour pouvoir améliorer ses performances. Ainsi, afin de faciliter la compréhension du comportement d une application, le développement des outils d analyse s est basé sur le suivi et l enregistrement des événements lors de l exécution à l aide d un type de fichiers en formats bien spécifiques qu on appelle les traces d exécution. EZTrace, un outil développé suite à une collaboration entre Télécom SudParis et Inria Bordeaux, permet de suivre l évolution des programmes en exécution et de générer des fichiers de traces sous forme textuelle que nous pouvons analyser. Cependant, plus les processus d exécution sont complexes, plus leurs traces d exécution deviennent lourdes, ce qui rend la tâche d analyse des traces générées sous forme textuelle difficile, voire impossible. Ce qui a mené à concevoir de nouveaux outils qui fournissent des résultats plus légers et plus lisibles pour l utilisateur et qui sont essentiellement sous forme graphique tel que ViTE (Visual Trace Explorer), un outil capable d interpréter certains formats de traces d exécution et de reproduire les données qu elles contiennent sous forme graphique. 1

7 Les travaux de recherche actuellement menés dans l équipe HP2 à Télécom SudParis visent à structurer différemment les traces d exécution afin d en réduire la taille et de consommer moins de mémoire RAM en les analysant. Néanmoins, ViTE ne permet de lire qu un certain nombre de formats de traces. C est précisément là où se situe l objectif de notre projet de fin d études : étendre ViTE pour pouvoir supporter de nouveaux formats. Le projet de fin d études, intitulé, s inscrit dans le cadre du module CSC5005 de la voie d approfondissement ASR. C est un projet qui s est étalé tout au long du semestre 9 de notre cursus sous l encadrement de Monsieur François TRAHAY, enseignant-chercheur à Télécom SudParis. 2

8 Chapitre 1 Visual Trace Explorer (ViTE) ViTE (Visual Trace Explorer), projet développé en OpenSource à l ENSEIRB sous licence CECILL-A, est un outil interactif de visualisation de traces d exécution pour une large variété d applications y compris les programmes parallèles et les applications distribuées. Il offre une interface graphique performante et facile à manipuler, permettant aux utilisateurs de l adapter à leurs besoins avec un ensemble de fonctionnalités et de plugins. Comme le montre la Figure 1.1, ViTE permet de représenter une trace sous forme de diagramme de GANTT représentant le déroulement de l application en fonction du temps. ViTE supporte essentiellement trois formats de fichiers de traces qui sont OTF, TAU et Pajé. Ces traces d exécution peuvent être générées en utilisant EZTrace (un projet de l INRIA qui permet la création des traces au format Pajé.) ou GTG (Generic Trace Generator : une bibliothèque qui offre une interface pour générer des traces dans le format Pajé). En plus de la reproduction graphique des données d exécution, chaque état du programme est établi avec sa propre couleur permettant ainsi à l utilisateur de trouver rapidement les goulots d étranglement, les états et les phases de repos qui peuvent être optimisés. Par ailleurs, ViTE assure l obtention rapide du rendu graphique. Et ce grâce à la bibliothèque OpenGL qui exploite l accélération du matériel graphique. L utilisateur peut ainsi explorer d énormes traces en très peu de temps. Tous les modules de ViTE sont écrits en C++. ViTE est supporté par plusieurs systèmes d exploitation tels que GNU / Linux, MacOS X ainsi que Windows et est aujourd hui à sa version Formats de traces supportés ViTE supporte trois formats de fichiers principaux : OTF, TAU et Pajé OTF Le format OTF ( Open Trace Format ) a été développé par TU Dresden. Il s agit d un format libre créé et utilisé par VampirTrace. Pourtant,ViTE ne peut pas supporter certaines caractéristiques du format OTF. Il supporte uniquement les états et les communications alors que certaines fonctionnalités restent manquantes. ViTE permet aussi de générer des 3

9 couleurs aléatoires pour le format OTF la première fois que l utilisateur ouvre un fichier, car ils ne sont pas stockés dans le fichier lui-même. L utilisateur peut ensuite modifier les paramètres pour adapter les couleurs à ses choix TAU Le format TAU est le format de traces le plus récent ajouté au projet ViTE. Bien que quelques fonctionnalités n ont pas été complètement testées et débuggées, certaines caractéristiques de base sont tout de même prises en charge tels que les états, les événements et les communications Pajé Le format de trace Pajé est le premier format pris en charge par ViTE. Il s agit d un format auto-interprété c est à dire qu il comprend en même temps la déclaration de chaque événement qui peut être considéré comme un tableau composé de plusieurs champs nommés, les états présents dans la trace ainsi que les communications entre ces états. ViTE supporte la plupart des fonctionnalités du format Pajé : les événements, les communications, les états, les variables et les couleurs des états... De ce fait, le format Pajé est considéré comme le format le plus adapté pour ViTE vu que la majorité des fonctionnalités est supportée. Figure 1.1 Exemple de trace d exécution visualisée sur ViTE 1.2 Visualisation des traces avec ViTE Une trace est un fichier formé d événements qui peuvent chacun être considéré comme un tableau composé de plusieurs champs qu on appelle les "tokens" et qui disposent d un nom, d un type et d une valeur. Elle est formée essentiellement d un conteneur racine qui va accueillir un ensemble de conteneurs secondaires. Ces conteneurs secondaires sont 4

10 représentés dans la figure ci-dessous par les lettres allant de «A» à «G». Un conteneur représente l état d un thread, processus, etc... Comme son nom l indique, chaque conteneur va contenir les états et les événements déclarés dans le fichier de trace et qui sont représentés dans la figure ci-dessous par les rectangles en bleu ciel : Figure 1.2 Représentation simplifiée d une trace d exécution Comme évoqué précédemment, ViTE permet de visualiser des traces d exécution sous différents formats. Pour ce faire, il établit des interactions entre trois modules principaux pour donner le rendu correspondant. Ces trois modules sont le Parser, le Render et l Interface comme l indique la Figure 1.3. Figure 1.3 Interactions entre les différents modules de ViTE 5

11 1.2.1 Le Parser Le Parser ou analyseur est le module permettant d analyser le fichier de trace fourni ligne par ligne en segmentant le flux de caractères en entités élémentaires suivant un motif prédéfini dans le format que nous manipulons. De ce fait, le Parser est le module permettant de vérifier l existence et la cohérence des données présentes dans le fichier de trace et de manipuler les flux de ces données. Étant donné une entité, le Parser a pour but d envoyer les valeurs de cette entité à la structure de données correspondante pour les stocker. Le Parser lit donc un fichier de trace et envoie des messages à des instances de la classe «Trace» pour créer un rendu graphique. open the t r a c e f i l e ; I n s t a n c i a t e a ParserEventDecoder ; I n s t a n c i a t e a P a r s e r D e f i n i t i o n D e c o d e r ; while (! end_of_file ) { read the next e n t i t y ; try to r e c o g n i z e the e n t i t y type ; i f ( e n t i t y type i s a c c e p t a b l e ) { l i n k i t to the c u r r e n t e n t i t y ; c o n s i d e r i t as the c u r r e n t e n t i t y ; } } i f ( end_of_file ) { c l o s e the c u r r e n t element ; } Figure 1.4 Algorithme du Parser La Figure 1.5 illustre les interactions du Parser avec les différentes classes de ViTE. En déterminant le type de trace à l aide du Parser Factory, le parser instancie un ParserEvent- Decoder et un ParserDefinitionDecoder qui vont décoder les événements et les définitions composant le fichier de trace en question. 6

12 Figure 1.5 Les différentes interactions du parser Il est à noter que pour que le parsing soit possible, il faut que les informations présentes dans le fichier de trace soient valides, c est à dire que la syntaxe soit correcte au sens «reconnue et prévue» par le parser, sinon celui-là retournera des erreurs. Par ailleurs, en plus d être syntaxiquement correct, un Parser exige que la trace soit écrite selon un modèle prédéfini qui lui informe de ce qu il doit trouver : l ordre des informations, la nature des éléments introduits, le minimum d éléments qui doivent exister, les valeurs possibles de ces éléments Le Render Le Render ou Rendu est le module en charge de préparer et de fournir la représentation graphique des fichiers de trace. ViTE utilise la bibliothèque Qt pour sa fenêtre graphique et la bibliothèque OpenGL (Open Graphics Library) pour le rendu graphique des traces. Pour améliorer les performances de ViTE, les fonctions graphiques sont appelées par la structure 7

13 de données en parcourant l arborescence de la trace. Une autre caractéristique de ViTE consiste à permettre à l utilisateur de se déplacer librement dans le rendu graphique de la trace d exécution par l intermédiaire de deux primitives qui permettent un tel déplacement dans la trace : le défilement ou scrolling et la mise à l échelle ou scaling : Le défilement permet à l utilisateur de déplacer l image vers la gauche, la droite, le haut ou le fond dans la zone du rendu. La mise à l échelle permet à l utilisateur de redimensionner l image et d effectuer un zoom avant ou arrière sur zone particulière L interface Les différents modules de ViTE comme le Parser et le rendu graphique doivent disposer d un moyen simple d afficher un message que ce soit dans le terminal du système ou dans une fenêtre graphique. Une classe «Message» développée, ayant pour but de fournir un outil facile à utiliser pour afficher un message à l utilisateur n importe où dans le code source de ViTE. La classe Interface est la classe la plus critique du logiciel. Elle gère et connecte tous les modules de l application : à titre indicatif, elle analyse la ligne de commande, lance l interface de la fenêtre, crée un Parser et déclenche le remplissage de la structure de données. En outre, elle est utilisée pour diffuser des messages entre le rendu de la trace (OpenGL) et l interface graphique (Qt). 8

14 Chapitre 2 Le projet Étant l une des formes les plus répandues de suivi d exécution des applications, les traces nécessitent des outils de visualisation pour pouvoir les analyser et les interpréter graphiquement. Or, les performances de ces outils peuvent varier en fonction des caractéristiques des fichiers de traces : taille, emplacement, contenu, structure,... ce qui met en évidence des limites fonctionnelles pour les outils de visualisation des traces d exécution et pour ViTE en particulier. Dans ce chapitre, nous citons quelques limites qui ont représenté la problématique de notre projet et ce que nous avons présenté comme solution pour faire face à ces problèmes. 2.1 Motivation Bien que ce qu offre le Parser Pajé dans ViTE est plutôt satisfaisant, certaines limites proviennent du fait que les données relatives à la trace visualisée doivent se trouver en entier dans un même fichier, ce qui durcit éventuellement la tâche d analyse contextuelle des traces. D où l intérêt de modifier la façon avec laquelle le Parser les interprète et les analyse. La Figure 2.1 représente un schéma simplifié d une trace en format Pajé. Nous pouvons remarquer qu elle présente une suite régulière d événements qui peuvent se répéter à des instants différents. Figure 2.1 Schéma simplifié d une trace en format Pajé Ces suites peuvent être structurées en entités ou autrement dit en «patterns» auxquelles nous faisons appel en fonction de notre besoin tout en évitant de surcharger la trace. 9

15 Après avoir défini cette nouvelle structure, nous remarquons qu une reproduction temporelle répétitive de patterns surcharge la fenêtre de visualisation de la trace et n offre qu une vision très étroite du comportement de l application analysée. Pour cela, cette reproduction peut être négligée ou mise en valeur proportionnellement au niveau de précision exigé par l utilisateur. 2.2 Travail à effectuer Ce que nous proposons en tant que solution aux problèmes de multi-parsing consiste dans une première étape à modifier le Parser du format Pajé dans ViTE pour qu il soit capable d analyser de grandes quantités de données de traces d exécution qui proviennent de différentes sources et générer par la suite, la représentation graphique associée. Les travaux de recherche récents portant sur EZTrace nécessitent de générer des traces d exécution dans un nouveau format de fichier (Pajé2) dérivé du format Pajé. Ce nouveau format peut être considéré comme une version améliorée du format Pajé supportant des nouvelles structures «les patterns d événements». Pour mieux comprendre ce concept, la Figure 2.2 représente un schéma simplifié de la même trace présentée par la Figure 2.1. Figure 2.2 Schéma simplifié d une trace en format Pajé 2 L ensemble des événements "event_a" et "event_b" ont été regroupés dans la structure du pattern_1. Au niveau du format Pajé 2, seuls les temps d exécution des différents événements constituant le pattern_1 seront reproduits. Il n est donc plus nécessaire de reprendre tous les détails des événements qui se répètent au cours du temps. EZTrace est d ors et déjà capable de générer des traces en utilisant ce format de fichier, mais ViTE ne peut pas les afficher. C est là où se situe notre projet de fin d études : il s agit 10

16 donc d étendre ViTE pour pouvoir supporter le nouveau format de fichier : Pajé2. Finalement, nous désirons modifier la façon avec laquelle réagit la représentation graphique des patterns présents dans la trace visualisée au niveau d agrandissement, en créant une dépendance entre la précision des valeurs affichées et le niveau d agrandissement demandé pour éviter de surcharger la fenêtre de visualisation. Toutes ces modifications permettent de réduire la consommation en mémoire RAM et d accélérer le chargement des traces. Cela nous mène donc à pouvoir afficher des traces beaucoup grandes en un temps plus faible. 11

17 Chapitre 3 Déroulement du projet Dans ce chapitre, nous discuterons des différentes tâches réalisées au sein de ce projet et nous détaillerons les phases d implémentation des différents modules tout en justifiant les choix retenus. Nous passerons par la suite à une présentation des difficultés rencontrées. Les travaux menés dans le cadre de ce projet ont porté essentiellement sur le format Pajé et sur l adaptation de l implémentation de son Parser dans ViTE aux exigences du format Pajé2. Généralement, le Parser Pajé admet deux grandes familles de composants : Les définitions d événements : ce sont des lignes commençant par «%» et qui sont contenues entre «%EventDef» et «%EndEventDef». Ces définitions annoncent les caractéristiques, appelées également «tokens», des différents événements qui seront utilisés dans la deuxième partie du fichier de trace. Parmi ces caractéristiques, pour chaque définition d un événement, on associe un identifiant que nous utiliserons comme référence à la définition correspondante. Par la suite, une définition d un événement dans le format Pajé est de la forme suivante : %EventDef PajeDefineEntityValue 5 % Type string % Name string % Color color % Alias string %EndEventDef L exemple ci-dessus illustre une description de l évènement «PajeDefineEntityValue», disposant de quatre champs qui vont être utilisés pour accueillir les tokens correspondants. Les événements : une ligne d événement commence impérativement par l identifiant qui lui a été associé dans sa définition au niveau de la première partie du fichier de trace, suivi des différents «tokens» séparés par des espaces dans le but d assurer la correspondance entre les valeurs d une ligne d événement et les champs qui figurent 12

18 dans sa définition. L exemple ci-dessous illustre un appel de l événement 5 ainsi que les différents tokens qui le composent. 5 "ST_Thread" "Sending" " " "STV_MPI_Send" "ST_Thread" correspond au Type, "Sending" à Name, " " à Color et "STV_MPI_Send" à Alias. En résumant, un fichier au format Pajé contient impérativement deux parties : une première où nous retrouvons les définitions des événements et une autre dans laquelle nous explicitons les événements générés par l exécution de l application analysée. Ces deux parties seront analysées par le ParserPajé implémenté dans ViTE. Dès qu un Parser de type Pajé est crée, ce dernier instancie deux entités : - une PajeLine : formée essentiellement de pointeurs, une PajéLine est la structure dans laquelle nous stockons la ligne courante. Les pointeurs qui la composent sont de 3 types : 1) _id : qui contiendra la numéro de ligne dans le fichier 2) _nbtks : qui renseigne sur le nombre de tokens présents sur la ligne 3) tout un ensemble de pointeurs vers les différents tokens de la ligne traitée. Ainsi, une PajéLine est structurée comme le montre la Figure 3.1 : Figure 3.1 Structure d une PajéLine - une Trace : après avoir déterminé les types et les valeurs respectives des tokens présents sur une PajéLine, ces données seront rangées selon leur nature dans les différentes structures de l instance Trace. Figure 3.2 Structure d une Trace 13

19 Le remplissage des structures de la trace commence par un test de la valeur du premier token de la ligne Pajé stockée : - si ce token correspond au caractère «%» : nous en déduisons qu il s agit d une définition. Le Parser utilise ainsi le DefinitionDecoder et plus particulièrement la méthode «store_definition» pour ajouter ces informations à la trace. - sinon, le Parser Pajé déduit que c est un événement et fait appel à la méthode «store_event» de l EventDecoder. En résumé, un Parser Pajé fonctionne comme le montre la Figure 3.3 : Figure 3.3 Fonctionnement du ParserPajé 3.1 Le format Pajé2 Le format Pajé2 est une version modifiée du format Pajé. Pajé2 propose d améliorer la lisibilité des traces lourdes qui peuvent s étaler sur des milliers de lignes en introduisant un mécanisme de subdivision qui permet de répartir le contenu d une même trace sur différents fichiers. Pajé2, assurant ainsi une lisibilité meilleure par rapport à Pajé, permet encore de réduire la taille des traces, de les afficher plus rapidement et de réduire la consommation mémoire Outre la subdivision des fichiers de traces, Pajé2 continue à supporter les différentes structures de l ancien format Pajé que nous avons détaillées, et introduit en plus une nouvelle structurée appelée «Patterns». Un pattern est une suite d événements qui se produit dans un fichier de trace à des intervalles de temps qui ne sont pas nécessairement égaux. Par exemple, dans la Figure 3.4, la suite d événements 10, 11, 12, 10 se retrouve à plusieurs endroits à des instants différents. La présence de ce pattern est signalée par 14

20 un événement d identifiant 62. De la même façon, la fin de la définition d un pattern est marquée par la présence d un événement ayant comme l identifiant 63. Dans la Figure 3.5, on définit le pattern_4 comme étant la suite d événements 10, 11, 12, 10. Une fois un pattern devient reconnu par le Parser Pajé, il peut être utilisé par l intermédiaire de deux autres événements d identifiants 60 et 61 comme le montre la Figure 3.6. L exemple ci-dessous propose le même contenu d une trace d exécution en format Pajé puis en format Pajé2 : Format Pajé : Fichier : eztrace_output.trace Figure 3.4 Exemple de trace au format Pajé La trace en format Pajé, montre que la suite composée des événements 10,11,12,10 se produit à différents instants de la trace en changeant que les timestamps de ces événements. Format Pajé 2 : Fichier : eztrace_output_p#0_t# ept_pattern_4.ept Figure 3.5 Exemple de définition d un pattern en Pajé 2 Avec le format Pajé2, nous serons en mesure de créer un «pattern» à partir de la suite d événements 10,11,12,10, ce que montre le fichier : 15

21 «eztrace_output_p#0_t# ept_pattern_4.ept». Puis, nous modifions le «fichier racine» et introduisons le mot clé «Include» qui permettra non seulement d injecter le pattern mais encore de migrer sa définition du fichier de trace vers un autre sans altérer la cohérence des données présentées. Fichier : eztrace_output.trace Figure 3.6 Exemple d appel de Pattern en Pajé 2 Ainsi, nous pouvons affirmer qu un pattern possède les caractéristiques suivantes : Un Pattern peut se reproduire N fois dans une même trace. Un Pattern peut commencer et prendre fin irrégulièrement dans le temps. Un Pattern peut s étaler sur différentes durées. Un Pattern peut appartenir à différents containers. Un Pattern peut être composé d événements qui se produisent dans différents containers. Si nous regardons d avantage la définition du pattern_4, nous remarquons bien qu elle propose un ensemble de valeurs temporelles pour chaque événement. Ces valeurs, que appelons «valeurs exactes» par opposition aux «valeurs moyennes» qui figurent dans la partie déclarative, sont associées chacune à une occurrence de ce pattern dans la trace. Ces lignes servent à représenter les différentes occurrences du pattern avec les événements 60 et 61 dans la trace en se basant sur le token «key» qui figure tout au début de chaque ligne. 3.2 Gestion du multi-parsing Vu la façon avec laquelle le Parser Pajé a été conçu, ce module était incapable de manipuler plus qu un fichier à la fois, ce qui représentait notre première tâche. Pour pouvoir manipuler plusieurs fichiers à la fois, il suffit d ajouter une clause «% Include» contenant le nom du deuxième fichier à analyser comme suit : % Include "nom_fichier.ept" 16

22 Cela permet de stocker tous les événements d un container dans un fichier qui lui est propre. Nous amenons, dans une deuxième étape, le Parser Pajé à reconnaître le token «Include» et ce en ajoutant simplement une condition au moment de la détermination du type de la ligne en question. Enfin, il faut s assurer que si un sous fichier contient lui même un autre sous fichier, le même traitement sera appliqué. L algorithme que nous avons adopté est le suivant : parse ( char filename, bool f i n i s h _ t r a c e _ a f t e r _ p a r s i n g ) { while (! end_of_file ) { l i n e = c u r r e n t l i n e i f (1 s t token == % ) { i f ( 2nd token == Include ) { // a new f i l e needs to be parsed filename_2 = name o f the new f i l e ; parse ( filename_2, f a l s e ) ; } e l s e { // i t s a d e f i n i t i o n s t o r e _ d e f i n i t i o n ( l i n e ) ; } } e l s e { // i t s an event store_event ( l i n e ) ; } read the next l i n e ; } } Par conséquent, le ParserPajé modifié est maintenant capable : 1- d analyser des traces qui sont subdivisées et/ou réparties sur plusieurs fichiers. 2- d analyser des traces contenant des clauses pointant vers d autres fichiers qui peuvent pointer eux même vers d autres fichiers. 3- de créer un seul rendu graphique pour toutes les données qui se trouvent réparties. Le fonctionnement du Parser Pajé dans ViTE après les modifications qui ont eu lieu est illustré dans la Figure 3.7 : 17

23 Figure 3.7 Fonctionnement du ParserPajé modifié 3.3 Support des Patterns Dans cette deuxième tâche, nous avons eu besoin de déterminer tout d abord l approche à adopter pour définir les traitements qui seront menés par le Parser face à un pattern. A ce niveau, deux choix se sont présentés : soit nous modifions la façon avec laquelle le Parser Pajé agit à la rencontre d un pattern lors de l analyse d un fichier de trace au niveau de la méthode «parse». soit nous faisons migrer tous les traitements de sauvegarde et d extraction relatifs à un pattern rencontré vers la classe ParserEventPajé. Nous avons retenu la deuxième approche vu que la modification de la façon avec laquelle le Parser Pajé analyse un fichier de trace risque de le déséquilibrer et d endommager les 18

24 procédures d analyse qu il adopte. Par conséquent, l ajout de cette nouvelle entité dans ViTE a été réalisé sur quatre étapes : 1- Création d une structure qui servira au stockage des patterns retrouvés dans les traces : Figure 3.8 Structure d un Pattern 2- Modification de la classe ParserEventPajé : la classe ParserEventPajé a été formée essentiellement de la méthode «store_event» que nous appelons depuis le ParserPajé pour stocker les événements dans la structure Trace. Vu que la présence d un pattern dans une trace est marquée par un événement ( à savoir un événement d identifiant 62 ), nous pouvons utiliser cette même méthode afin d analyser les différents événements constituant les patterns. 3- Définition des structures de sauvegarde d informations analysées : _Patterns : une map qui va contenir les définitions de tous les patterns trouvés dans la trace. std::map<std::string,pattern> _Patterns; _Occurences : une multi-map contenant les occurrences que nous faisons correspondre à leurs patterns respectifs. std::multimap<std::string,pajeline> _Occurrences; La Figure 3.9 montre que la map _Patterns chargée d accueillir les différents patterns de la trace, enchaîne une nouvelle entité de cette structure à celles déjà présentes. Le Parser intervient ainsi pour remplir la liste d événements composant le pattern et s arrête à la rencontre de l évènement 63. Le Parser Pajé se retrouve, ensuite, dans la deuxième partie du fichier de définition du pattern et procède alors à la sauvegarde des temps d exécution exacts dans la map _Occurrences, ce qui est illustré par la figure

25 Figure 3.9 Instanciation et sauvegarde d un pattern Figure 3.10 Sauvegarde des occurrences du pattern 20

26 4- ajout de quatre nouveaux événements : Ceci revient à définir les quatre événements évoqués précédemment dans les structures dédiées aux définitions dans la classe PajeDefintion pour qu ils soient identifiables par le Parser Pajé lors du parsing. Le tableau ci-dessous résume les 4 nouveaux événements servant à la manipulation de la structure Pattern et de ses attributs : EventID Nom de l événement Fonction 62 _PajeDefinePattern -Créer un pattern -Remplir sa suite d événements 63 _PajeEndDefPattern -Remplir une map d occurrences 60 _PajeStartPattern -Sélectionner le pattern à utiliser 61 _PajeEndPattern -Sélectionner l occurrence du pattern -Ajouter le pattern avec l occurrence correspondante à la trace Par la suite, le Parser Pajé réagit comme suit face à un Pattern : switch ( eventid ) { case _PajeDefinePattern : { c r e a t e a new pattern i n s t a n c e ; f i l l the pattern s events l i s t ; } c a s e _PajeEndDefPattern : { f i l l the occurrences map ; } case _PajeStartPattern : { get the pattern s name ; p a t t e r n _ s e l e c=s e l e c t the pattern from the map ; } case _PajeEndPattern : { get the occurrence s key ; store_pattern ( p a t t e r n _ s e l e c ) ; } d e f a u l t : parse_event ( l i n e ) ; } 21

27 3.4 Optimisations de ViTE Après avoir introduit la notion de pattern dans ViTE et une fois que le Parser Pajé arrive à l identifier, nous avons commencé par l introduction d une procédure de parsing restreinte aux valeurs moyennes. Pour cela, nous calculons la proportion de chaque événenemnt du pattern par rapport à la durée moyenne du pattern qui correspond à la durée de l occurence 0. Puis, nous représentons les différents événements du pattern en tenant compte des proportions calculées. Par exemple, considérons la Figure 3.11, l événement 40 représente 35% de la durée moyenne du pattern. Nous représentons ce même événement et avec les mêmes proportions pour toutes les autres occurrences du pattern présentes dans la trace. Figure 3.11 Parsing avec les valeurs moyennes Puis, nous avons pu mener le Parser à utiliser les timestamps exacts pour chaque occurrence à part. Cependant, nous avons remarqué qu une utilisation excessive de patterns dans une même trace, peut encombrer l espace graphique, surcharger la fenêtre de visualisation et cacher certains détails. C est pour cette raison que nous proposons de rendre la trace affichée plus interactive en créant un lien entre le niveau de précision demandé par l utilisateur et ce que ViTE lui affiche en tant que rendu graphique. Les modifications apportées seront alors implémentées dans le module du Render qui prend la décision de : 22

28 créer le rendu graphique avec les valeurs moyennes des temps d exécution présentes dans les patterns si le niveau de précision exigé par l utilisateur est inférieur à un seuil prédéfini. Ou créer le rendu graphique avec les valeurs exactes, et mener par la suite un traitement supplémentaire dans le but de répondre aux exigences en précision. La première étape consistait alors à créer un flag «_use_exact_values» qui indique au Parser quel traitement à exécuter. Ce flag est positionné à «False» par défaut, ce qui fait que ViTE affichera les valeurs moyennes des temps d exécution des patterns que lorsque le niveau de zoom dépasse un certain seuil de précision, qui est calculé proportionnellement à la largeur de la zone sélectionnée par l utilisateur qu il désire agrandir. À la détection du dépassement du seuil, nous positionnons le flag à «True» ce qui envoie un signal de «re-parse» avec les valeurs exactes au Parser Pajé. De la même façon, une valeur d un zoom arrière allant au dessous de ce même seuil déclenche la procédure inverse, demandant au Parser Pajé de re-parser la trace avec les valeurs moyennes. Figure 3.12 Interactions Parser Render 23

29 3.5 Difficultés rencontrées Après avoir introduit les modifications citées ci-dessus, les tests que nous avons effectués ont révélé l existence de quelques bugs à l exécution. Le premier étant au niveau de la définition d un pattern qui accepte les PajéLines : - de définition des événements contenus dans le pattern - vides - contenant des événements 60 ou 61 d autres patterns à condition qu ils soient déclarés plus haut Or si la ligne contient une référence vers un autre fichier de trace qui doit être traité, le Parser n arrive pas à la traiter vu la façon avec laquelle nous avons prévu la création d un pattern, comme le montre l exemple suivant : D autre part, la modification du Render cause un dysfonctionnement du zoom de temps en temps, qui ignore ainsi les clics de l utilisateur et finit par rendre des vues aléatoires. Un "reload" de la vue résout provisoirement le problème. 24

Outils de visualisation de traces

Outils de visualisation de traces Outils de visualisation de traces Damien DOSIMONT 23 mars 2012 1/29 Sommaire 1 Introduction Complexité croissante des systèmes embarqués Visualisation de traces Thèse et travaux de Lucas Schnorr 2 Etat

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

Plus en détail

PG208, Projet n 2 : Dessin vectoriel

PG208, Projet n 2 : Dessin vectoriel PG208, Projet n 2 : Dessin vectoriel Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Un système d exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes responsables de la liaison entre les ressources matérielles d un ordinateur et les

Plus en détail

CAHIER DES SPECIFICATIONS FONCTIONNELLES

CAHIER DES SPECIFICATIONS FONCTIONNELLES 2010/2011 INSTITUT SUP GALILEE CAHIER DES SPECIFICATIONS FONCTIONNELLES IHM XML O.N.E.R.A. Institut Sup Galilée O.N.E.R.A. Page 2 Sommaire I. Description du sujet... 4 II. Outils utilisés... 4 III. Description

Plus en détail

Logiciels fondamentaux

Logiciels fondamentaux Logiciels fondamentaux Mac OS Mac OS est le système d exploitation des ordinateurs Macintosh (OS est l abrégé de Operating System). C est le logiciel incontournable qui gère l ordinateur du démarrage jusqu

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

AXIS Camera Station Guide d installation rapide

AXIS Camera Station Guide d installation rapide AXIS Camera Station Guide d installation rapide Copyright Axis Communications AB Avril 2005 Rev. 1.0 Référence 23793 1 Table des matières Informations importantes................................ 3 AXIS

Plus en détail

send2area - Guide d'utilisation

send2area - Guide d'utilisation send2area - Guide d'utilisation Version V1R0 du 07/06/2011 Auteur : send2area Copyright 2011 - send2area Historique du document Version Date Objet Auteur V0R1 03/06/2011 Version initiale draft document

Plus en détail

LA GESTION DE FICHIERS

LA GESTION DE FICHIERS CHAPITRE 6 : LA GESTION DE FICHIERS Objectifs spécifiques Connaître la notion de fichier, ses caractéristiques Connaître la notion de répertoires et partitions Connaître les différentes stratégies d allocation

Plus en détail

PG208, Projet n 1 : Gestion d une bibliothèque

PG208, Projet n 1 : Gestion d une bibliothèque PG208, Projet n 1 : Gestion d une bibliothèque Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L

Plus en détail

L interface utilisateur de Windows

L interface utilisateur de Windows Windows, développé par l éditeur américain Microsoft Corporation, est de loin le système d exploitation pour ordinateurs personnels le plus utilisé dans le monde. Il dépasse à lui seul 90 % du marché mondial

Plus en détail

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 Introduction : Initiation à la Micro- Informatique 1. Matériel 2. Périphériques a) Le clavier b) La souris c) L écran d) L unité centrale e) L imprimante

Plus en détail

Projet informatique UML-Cpp avec QT4

Projet informatique UML-Cpp avec QT4 Haute école spécialisée bernoise Haute école technique et informatique, HTI Section Electricité et système de communication Laboratoire de l informatique technique Projet informatique UML-Cpp avec QT4

Plus en détail

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian Gestion d une école FABRE Maxime 2015 Sommaire Introduction... 2 I. Présentation du projet... 3 1- Lancement de l application... 3 Fonctionnalités réalisées... 4 A. Le serveur... 4 1 - Le réseau... 4 2

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

KWISATZ MODULE PRESTASHOP

KWISATZ MODULE PRESTASHOP Table des matières -1) KWISATZ - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) PRESTASHOP :...4-1.3.1.1) Les Web Services :...4-1.3.2) KWISATZ

Plus en détail

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008.

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008. 1 CONCEPT DE BASE 1.1 Visual Basic 6 1.1.1 Pour quoi faire? VB est un langage de type RAD : «Rapid Application Development». Il permet de créer des applications rapidement grâce à une conception simple

Plus en détail

TP Compilation Analyse lexicale

TP Compilation Analyse lexicale TP Compilation Analyse lexicale Eric Ramat ramat@lisic.univ-littoral.fr 9 mai 2014 Durée : 6 heures 1 Introduction Le but de cet TP est de vous donner les bases nécessaires afin de pouvoir écrire votre

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Morgan Beau Nicolas Courazier

Morgan Beau Nicolas Courazier EPSI - 2010 Rapport projet IA Conception et mise en œuvre d un générateur de systèmes experts Morgan Beau Sommaire Cahier des charges 3 Présentation générale 4 Analyse et modélisation 6 Le moteur d inférence

Plus en détail

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl. UFR IEEA Licence info et GMI documentation COMPIL 2007-2008 FIL Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.fr 1 raccourci pour Java-Based Constructor of Useful Parsers est un

Plus en détail

Composant GANTT. Compétences à mettre en œuvre

Composant GANTT. Compétences à mettre en œuvre Composant GANTT C# Compétences à mettre en œuvre C4.1.6.1 Mettre en place et exploiter un environnement de développement C4.1.6.2 Mettre en place et exploiter un environnement de test C4.1.7.1 Développer

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Classes et templates C++

Classes et templates C++ Classes et templates C++ Ce TP propose une application des classes, des templates et du polymorphisme au travers du design de classes permettant de gérer des courbes de Bézier. Contents 1 Bézier unidimensionnelle

Plus en détail

La nouvelle dimension de l analyse acoustique et vibratoire

La nouvelle dimension de l analyse acoustique et vibratoire La nouvelle dimension de l analyse acoustique et vibratoire HEAD Gallery Des fonctions innovantes intégrées dans une technologie de pointe ArtemiS suite est la solution logicielle intégrée de HEAD acoustics

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Service web de statistiques de lecture de textes Rapport de projet

Service web de statistiques de lecture de textes Rapport de projet Service web de statistiques de lecture de textes Salma LAMCHACHTI François LY 1 PRÉSENTATION GÉNÉRALE DU PROJET ET DES OUTILS NÉCESSAIRES A SA RÉALISATION «Scriffon» est un site communautaire de publication

Plus en détail

À LA DÉCOUVERTE d Excel 2010

À LA DÉCOUVERTE d Excel 2010 Vous venez d installer Excel 2010 sur votre ordinateur et vous avez eu raison de le faire car vous disposez maintenant d un outil d une puissance redoutable. Avec cette dernière version du tableur, vous

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Sauvegarde et restauration en environnement VMware avec Avamar 6.0

Sauvegarde et restauration en environnement VMware avec Avamar 6.0 Livre blanc Sauvegarde et restauration en environnement VMware avec Avamar 6.0 Analyse détaillée Résumé Dans les entreprises, les environnements virtuels sont de plus en plus déployés dans le cloud. La

Plus en détail

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO _TUTO_module_magento Table des matières -1) - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) MAGENTO :...4-1.3.1.1) Les Web Services :...4-1.3.1.2)

Plus en détail

Visual Paradigm Contraintes inter-associations

Visual Paradigm Contraintes inter-associations Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor

Plus en détail

Exemples d'activités sur les images numériques

Exemples d'activités sur les images numériques Annexe 1 1 Accès aux composantes RVB d un pixel dans GIMP Pour agrandir l image : touche Ctrl maintenue enfoncée tout en tournant la molette de la souris, ou bien menu Affichage > Zoom > 1600 % Dans la

Plus en détail

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle Besoin de concevoir des systèmes massivement répartis. Évaluation de systèmes répartis à large échelle Sergey Legtchenko Motivation : LIP6-INRIA Tolérance aux pannes Stockage de données critiques Coût

Plus en détail

Outils d analyse de performance pour le HPC

Outils d analyse de performance pour le HPC Outils d analyse de performance pour le HPC François Trahay Master MOPS Décembre 2013 Plan 1 Introduction.................................................................... 3 2 Outils de profiling..............................................................10

Plus en détail

Une ergonomie intuitive

Une ergonomie intuitive Une ergonomie intuitive Les solutions de la ligne PME offrent une interface de travail proche des usages quotidiens en informatique. Leur ergonomie intuitive facilite la prise en main du logiciel. Une

Plus en détail

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

Créer un premier document avec Pages

Créer un premier document avec Pages 1 Créer un premier document avec Pages Dans ce chapitre, vous aborderez les fonctions élémentaires de Pages par le biais de la rédaction d une lettre et de la réalisation d une carte d anniversaire à l

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

Tutoriel GMF Ou comment créer un éditeur graphique à partir d un modèle

Tutoriel GMF Ou comment créer un éditeur graphique à partir d un modèle Tutoriel GMF Ou comment créer un éditeur graphique à partir d un modèle Auteurs : Pierre-Emmanuel BERTRAND Kevin N GUESSAN-ZEKRE Date de création : 11/02/09 Introduction : Ce tutoriel à pour but de faire

Plus en détail

Quoi de neuf dans Optymo 5.0

Quoi de neuf dans Optymo 5.0 Quoi de neuf dans Optymo 5.0 Notes de lecture : dans ce document, les textes soulignés font référence aux libellés des fenêtres ou aux libellés associés à des boutons d Optymo, les textes en caractères

Plus en détail

Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8

Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8 Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant :

Plus en détail

Rapport projet TOP Test automatique de la plate-forme Grid 5000

Rapport projet TOP Test automatique de la plate-forme Grid 5000 Rapport projet TOP Test automatique de la plate-forme Grid 5000 Arthur Garnier Encadré par Lucas Nussbaum 1 er Juin 2015 Table des matières 1 Contexte 2 2 Description du problème 3 3 Présentation du travail

Plus en détail

Visual TOM 5.0 Fonctionnalités

Visual TOM 5.0 Fonctionnalités The job scheduling Company Visual TOM 5.0 Fonctionnalités 0 Interfaces existantes Xvision Mode multi-fenêtre Vision spécifique par écran Vision technique / hiérarchique Difficulté à faire évoluer 1 Interfaces

Plus en détail

Université Paris 1 Panthéon Sorbonne UFR 06. Fiche de TD VBA

Université Paris 1 Panthéon Sorbonne UFR 06. Fiche de TD VBA 1 / 13 Fiche de TD VBA L objectif de cette fiche est de faire un rappel (voire une présentation rapide) du langage de programmation VBA et de son usage sur des documents Excel et Access. Pour rappel, VBA

Plus en détail

Rapport de TER: Analyse de pointeur dans LLVM

Rapport de TER: Analyse de pointeur dans LLVM Rapport de TER: Analyse de pointeur dans LLVM Aurélien CHEMIER Janvier-Février 2014 Résumé Les optimisations réalisées à l intérieur d un compilateur, pour améliorer l efficacité du code généré, ont besoin

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

AUTOMATISER SES TÂCHES AVEC LES MACROS

AUTOMATISER SES TÂCHES AVEC LES MACROS AUTOMATISER SES TÂCHES AVEC LES MACROS U ne macro est un ensemble de commandes qui s exécute autant de fois que nécessaire simplement en les appelant par son nom. Les macros permettent d automatiser les

Plus en détail

FORMATION sur le LOGICIEL de SCHEMAS ELECTRIQUES

FORMATION sur le LOGICIEL de SCHEMAS ELECTRIQUES FORMATION sur le LOGICIEL de SCHEMAS ELECTRIQUES Lycée Louis MARCHAL mis à jour par Lycée T. DECK Page 1/ 17 SOMMAIRE 1. ARCHIVAGE/DESARCHIVAGE... 3 1.1. DESARCHIVAGE :... 3 1.2. ARCHIVAGE :... 4 2. CREATION

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

L interface de Windows 7

L interface de Windows 7 chapitre L interface de Windows 7. Utiliser le menu Démarrer et la barre des tâches de Windows 7... 2.2 Profiter de l affichage Aero et de Windows Flip 3D... 30.3 Utiliser les thèmes... 33.4 Modifier la

Plus en détail

Table des matières. 2 Uses Cases 8. 3 Manuel de développement 9. 4 Code 10

Table des matières. 2 Uses Cases 8. 3 Manuel de développement 9. 4 Code 10 Table des matières 1 Choix techniques 2 1.1 Enregistrement au format XML......................... 2 1.1.1 Introduction............................... 2 1.1.2 De Java à XML..............................

Plus en détail

10 Etats rapides. Introduction

10 Etats rapides. Introduction 10 Etats rapides Introduction La génération d états récapitulatifs est l une des tâches les plus courantes et les plus élémentaires en matière de gestion de données. L éditeur d états rapides est l un

Plus en détail

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur Qu est ce que Visual Guard Authentification Vérifier l identité d un utilisateur Autorisation Qu est-ce qu un utilisateur peut faire dans l application Audits et rapports Fonctionnalités d Audit et de

Plus en détail

DOCUMENTATION UTILISATEUR

DOCUMENTATION UTILISATEUR DOCUMENTATION UTILISATEUR Septembre 2012 Documentation utilisateur du projet I Only Think I Only Think (IOT) est une interface neuronale directe permettant, à l aide d un casque électro-encéphalographique

Plus en détail

Personnaliser et adapter SPIP Développeur SPIP

Personnaliser et adapter SPIP Développeur SPIP Personnaliser et adapter SPIP Développeur SPIP En Théorie Le fonctionnement de SPIP Qu est ce que SPIP? SPIP (Système de Publication pour l Internet Partagé) est un logiciel libre destiné à la production

Plus en détail

A. Partitionnement, systèmes de fichiers et RAID :

A. Partitionnement, systèmes de fichiers et RAID : Introduction : Ce cours a pour but d expliquer les différentes étapes de la gestion des disques sous Windows 7 Client. Afin d être le plus exhaustif possible, nous avons décidé de commencer par aborder

Plus en détail

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 7 : Structures et Fichiers OBJECTIFS DE LA SÉANCE Deux notions abordées dans ce cours Celle

Plus en détail

Construire des plug-ins pour SAS Management Console SAS 9.1

Construire des plug-ins pour SAS Management Console SAS 9.1 Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION

Plus en détail

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de Guide de l utilisateur Faites connaissance avec la nouvelle plateforme interactive de Chenelière Éducation est fière de vous présenter sa nouvelle plateforme i+ Interactif. Conçue selon vos besoins, notre

Plus en détail

ENSI. Visual C++ Initiation

ENSI. Visual C++ Initiation ENSI Visual C++ Initiation Tables des matières 1. LES MFC (MICROSOFT FOUNDATION CLASSES)...3 1.1 DÉFINITION... 3 1.2 L ESPACE DE TRAVAIL... 3 2. CRÉER UN NOUVEAU PROJET...5 2.1 ETAPE 1 : CHOISIR LE TYPE

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Documentation Technique

Documentation Technique Documentation Technique EIP KOODATA Epitech 2014 Ce document a pour but de décrire tous les aspects techniques du projet Koodata. Koodata Documentation Technique page 0 1. Présentation du projet... 3 1.1.

Plus en détail

Une application de commerce électronique en utilisant CLAIM

Une application de commerce électronique en utilisant CLAIM Rapport du projet A4MA Une application de commerce électronique en utilisant CLAIM Étudiants : DINH Quang Ninh (dinhquangninh@gmail.com) PHAM Trong-Tôn (trongtonfr@yahoo.fr) Wiki : http://dev.deptrai.org/wiki/doku.php?id=projet_a4ma:start

Plus en détail

Petit guide d utilisation des Connaissance d une œuvre Bréal/00h00.com au format numérique (.pdf).

Petit guide d utilisation des Connaissance d une œuvre Bréal/00h00.com au format numérique (.pdf). Petit guide d utilisation des Connaissance d une œuvre Bréal/00h00.com au format numérique (.pdf). 00h00.com vous propose ici la version numérique d un texte critique autour de L Île des esclaves de Marivaux,

Plus en détail

Définition de syntaxes concrètes graphiques

Définition de syntaxes concrètes graphiques UTM M2 ICE INGÉNIERIE DIRIGÉE PAR LES MODÈLES BE 4 mai 2012 À l instar d une syntaxe concrète textuelle, une syntaxe concrète graphique fournit un moyen de pouvoir visualiser et/ou éditer plus agréablement

Plus en détail

Ingénerie du logiciel orienté objet. Les cas d utilisation

Ingénerie du logiciel orienté objet. Les cas d utilisation Ingénerie du logiciel orienté objet Répétition : Les cas d utilisation Cours d Ingénierie du Logiciel Orienté-Objet Examen écrit du mercredi 5 juin 2005 Livres fermés. Durée : 3 heures /2. Veuillez répondre

Plus en détail

Introduction. Python?

Introduction. Python? 1 Introduction Python - why settle for snake oil when you can have the whole snake? «Python - Pourquoi se contenter d huile de serpent quand on peut avoir le serpent tout entier?» Mark Jackson En guise

Plus en détail

Tutoriel. Votre site web en 30 minutes

Tutoriel. Votre site web en 30 minutes Tutoriel Votre site web en 30 minutes But du tutoriel Nous allons vous présenter comment réaliser rapidement votre site avec Web Creator Pro 6 en vous basant sur l utilisation des modèles fournis avec

Plus en détail

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas être considérés

Plus en détail

WebSpy Analyzer Premium 4.1 Guide de démarrage

WebSpy Analyzer Premium 4.1 Guide de démarrage WebSpy Analyzer Premium 4.1 Guide de démarrage Ce document aide à vous familiariser avec l utilisation de WebSpy Analyzer Premium. Pour des informations plus détaillées, consultez le guide utilisateur

Plus en détail

ESPACE COLLABORATIF SHAREPOINT

ESPACE COLLABORATIF SHAREPOINT Conseil de l Europe Service des Technologies de l Information ESPACE COLLABORATIF SHAREPOINT DOSSIER D UTILISATEUR 1/33 Sommaire 1. Présentation de SharePoint... 3 1.1. Connexion... 4 2. Les listes...

Plus en détail

WebPASH Guide utilisateur

WebPASH Guide utilisateur WebPASH Guide utilisateur SPGE Juin 2013 Sommaire 1 Accéder au Guichet... 3 1.1 Accès «grand public»... 3 1.2 Généralités... 3 1.3 Limites d utilisation... 3 1.4 Sources de données... 3 2 Fonctionnalités

Plus en détail

BE1 2 : Phase d analyse Gestion des prêts dans une médiathèque

BE1 2 : Phase d analyse Gestion des prêts dans une médiathèque Gestion des prêts dans une médiathèque Équipe enseignante Revision : 1302 CSC 4002 Télécom SudParis Octobre 2015 Première étape : mise au point de la solution, aspect statique L étape d analyse nécessite

Plus en détail

Les procédures stockées et les fonctions utilisateur

Les procédures stockées et les fonctions utilisateur Les procédures stockées et les fonctions utilisateur Z Grégory CASANOVA 2 Les procédures stockées et les fonctions utilisateur [08/07/09] Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les procédures

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Guide d utilisation Novaxel

Guide d utilisation Novaxel Guide d utilisation Novaxel 1 Objectifs Aucun Prérequis Type Guide explicatif 110 pages Objectifs de ce guide Comprendre les principes de la GED Savoir gérer de l arborescence de classement Ressources

Plus en détail

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Olivier Beaudoux 4 septembre 2008 1 Introduction 1.1 Propos Dans ce mini-projet, nous proposons de construire différentes briques logicielles

Plus en détail

GPS Action Replay Pro Module Régate (V 1.0 h et ultérieures)

GPS Action Replay Pro Module Régate (V 1.0 h et ultérieures) GPS Action Replay Pro Module Régate (V 1.0 h et ultérieures) Ce tutoriel a pour but d apprendre à réaliser une régate, et d appréhender les principales fonctionnalités de GPSAR Pro. Mise en place et utilisation

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

L espace de travail. Au cours de cette leçon, vous apprendrez à :

L espace de travail. Au cours de cette leçon, vous apprendrez à : L espace de travail 1 Au cours de cette leçon, vous apprendrez à : sélectionner des outils ; utiliser la barre d application et le panneau Contrôle ; gérer les fenêtres de document ; travailler avec les

Plus en détail

Microsoft Publisher. Notions de base. Versions Office 2007. Association Informatique Pour Tous - Vieillevigne - 1 - PUBLISHER 2007 NOTIONS DE BASE

Microsoft Publisher. Notions de base. Versions Office 2007. Association Informatique Pour Tous - Vieillevigne - 1 - PUBLISHER 2007 NOTIONS DE BASE Microsoft Publisher Notions de base Versions Office 2007 Gilbert Lecocq 1 2 SOMMAIRE Notions de base La fenêtre de travail page 3 Les modes de travail page 4 Les objets à insérer page 6 Insérer un texte

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

1 Partie A : administration d une base de donnée à travers PhpMyAdmin

1 Partie A : administration d une base de donnée à travers PhpMyAdmin Ce TP se compose en 2 sections : une section de prise en main (sur ordinateur) et une section d exercice (sur papier) concernant l algèbre relationnelle. 1 Partie A : administration d une base de donnée

Plus en détail

VISUAL PARADIGM. C. Présentation de Visual Paradigm For UML TRANSFORMATION DE MCD EN MLD ITÉRATIVE. Document version 1

VISUAL PARADIGM. C. Présentation de Visual Paradigm For UML TRANSFORMATION DE MCD EN MLD ITÉRATIVE. Document version 1 HEG Arc - Haute école Arc Gestion Travail de Bachelor d'informaticien de gestion VISUAL PARADIGM TRANSFORMATION DE MCD EN MLD ITÉRATIVE C. Document version 1 Créé le : 17.06.2012 Modifié le : 01.07.2012

Plus en détail

La base de données dans ArtemiS SUITE

La base de données dans ArtemiS SUITE 08/14 Vous préférez passer votre temps à analyser vos données plutôt qu à chercher un fichier? La base de données d ArtemiS SUITE vous permet d administrer et d organiser confortablement vos données et

Plus en détail

Langages et Frameworks

Langages et Frameworks 1/7 La description de module définit les conditions cadres du déroulement de l enseignement des matières du module. Filière(s) Orientation Public Informatique (INF) Développement Logiciel et Multimédia

Plus en détail

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants»

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants» Compte-Rendu SDL Auteurs : BOUTROUILLE Alexis BAILLEUL Pierre Tuteur : Ioan Marius Bilasco «Reprise de l application de gestion de listes de présences des alternants» Master MIAGE 1 Année 2012/2013 1 Remerciements

Plus en détail

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES Avant-propos Conçu par des pédagogues expérimentés, son originalité est d être à la fois un manuel de formation et un manuel de référence complet présentant les bonnes pratiques d utilisation. FICHES PRATIQUES

Plus en détail

SOMMAIRE. Comment se connecter?

SOMMAIRE. Comment se connecter? SOMMAIRE Comment se connecter? Présentation de l interface Notions sur l espace documentaire Création d un dossier Création d un document Modifier un document Copier ou déplacer des documents Exporter

Plus en détail

DECOUVRIR REVIT MEP. C.D. 07/2015 Formation BIM des professeurs 1 / 66

DECOUVRIR REVIT MEP. C.D. 07/2015 Formation BIM des professeurs 1 / 66 DECOUVRIR REVIT MEP Table des matières 1. Présentation de REVIT MEP... 2 1.1. Paramétrage pour l évaluation des besoins :... 2 1.2. Paramétrage du type de bâtiment... 2 1.3. Paramétrage des types d espace...

Plus en détail

Dossier de livraison PPE Gestion Commerciale

Dossier de livraison PPE Gestion Commerciale Dossier de livraison PPE Gestion Commerciale p. 1 Sommaire I. Guide utilisateur -------------------------------------------------------- p3 II. III. IV. Base de données ---------------------------------------------------------

Plus en détail

AIDE A L UTILISATION DU LOGICIEL. Aide AGENDOC 3.0 Copyright AMC2I 2007 Tous droits réservés 1/20

AIDE A L UTILISATION DU LOGICIEL. Aide AGENDOC 3.0 Copyright AMC2I 2007 Tous droits réservés 1/20 AIDE A L UTILISATION DU LOGICIEL Aide AGENDOC 3.0 Copyright AMC2I 2007 Tous droits réservés 1/20 Table des matières Introduction... 3 1. Accès au logiciel... 3 2. L agenda... 4 2.1. Présentation générale

Plus en détail

Base de connaissances

Base de connaissances Base de connaissances Page 1/14 Sommaire Administration du système... 3 Journalisation pour le débogage... 3 Intellipool Network Monitor requiert-il un serveur web externe?... 3 Comment sauvegarder la

Plus en détail

Mini-Projet : Tournoi de Dames

Mini-Projet : Tournoi de Dames Mini-Projet : Tournoi de Dames L objectif du projet est de programmer un jeu de dames de façon à ce que votre programme puisse jouer une partie de dames avec les programmes des autres étudiants. 1 Organisation

Plus en détail

Introduction à ADO.NET

Introduction à ADO.NET 1 Introduction à ADO.NET Introduction à ADO.NET Sommaire Introduction à ADO.NET... 1 1 Introduction... 2 1.1 Qu est ce que l ADO.NET?... 2 1.2 Les nouveautés d ADO.NET... 2 1.3 Les avantages d ADO.NET...

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail