Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

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

Download "Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration"

Transcription

1 Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration Pluquet Frédéric July, 3rd 2012

2 Etude de techniques efficaces de versionnement d objets pour les langages orientés objet du modèle à l intégration au langage Pluquet Frédéric ULB, 3 juillet 2012

3 Comment avoir le passé d un programme Facilement, sans prendre trop de place et sans que l ordinateur ne ralentisse? Pluquet Frédéric ULB, 3 juillet 2012

4 6 versions 4

5 6 versions Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! 4

6 6 versions Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! 4

7 6 versions Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Annuler (CTRL+Z) 4

8 6 versions Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! 4

9 6 versions Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! 4

10 6 versions Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! 4

11 6 versions Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Rétablir (SHIFT+CTRL+Z) 4

12 6 versions Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! Un bon exemple de versioning! 4

13 Versioning 5

14 Versioning 5

15 Versioning 6

16 Versioning 7

17 Versioning 8

18 Versioning 8

19 Versioning 8

20 Versioning 8

21 Linear Versioning 1 9

22 Linear Versioning

23 Versioning 10

24 Backtracking Versioning 1 11

25 Backtracking Versioning

26 Backtracking Versioning

27 Backtracking Versioning

28 Backtracking Versioning

29 Versioning 12

30 Versioning B p A C D 12

31 Versioning B p A C D 12

32 Branching versioning 1 13

33 Branching versioning

34 Branching versioning

35 Branching versioning

36 Côté Développement 14

37 Côté Développement Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc 14

38 Côté Développement Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Est-il possible d alléger le travail des développeurs? 14

39 Côté Développement Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Solution ad hoc Bibliothèque commune pour le versioning Est-il possible d alléger le travail des développeurs? 14

40 Besoins 15

41 Besoins Générale pour être utilisée dans toute application 15

42 Besoins Générale pour être utilisée dans toute application Efficace en temps et en espace 15

43 Besoins Générale pour être utilisée dans toute application Efficace en temps et en espace Facile à utiliser pour les développeurs 15

44 Besoins Read-Only Linear versioning Branching 16

45 Besoins Read-Only Confluent Linear versioning Branching Backtracking Read-Only Backtracking versioning A B p C D Branching Branching versioning 16

46 Domaines Algorithmes Langages 17

47 Domaines Algorithmes Langages 17

48 Notre contribution Une étude complète du versioning d objets dans la RAM pour les langages orientés objet 18

49 Notre contribution Une étude complète du versioning d objets dans la RAM pour les langages orientés objet Modèle d enregistrement et de retour dans le passé [ REC] [ FWD] 18

50 Notre contribution Une étude complète du versioning d objets dans la RAM pour les langages orientés objet Modèle d enregistrement et de retour dans le passé Structures efficaces [ REC] [ FWD] 18

51 Notre contribution Une étude complète du versioning d objets dans la RAM pour les langages orientés objet Modèle d enregistrement et de retour dans le passé Structures efficaces Intégration aux langages [ REC] [ FWD] 18

52 Notre contribution Une étude complète du versioning d objets dans la RAM pour les langages orientés objet Modèle d enregistrement et de retour dans le passé Structures efficaces Intégration aux langages Implémentations efficaces Hist OO ry [ REC] [ FWD] 18

53 Modèle d enregistrement et de retour dans le passé [ REC] [ FWD]

54 [ REC] 20

55 [ REC] time t0 Objects abook::book title state borrower client1::client name id "1985" "clean" "John" 1 20

56 [ REC] time t0 Objects abook::book title state borrower client1::client name id "1985" "clean" "John" 1 20

57 [ REC] time t0 Objects abook::book title state borrower client1::client name id "1985" "clean" "John" 1 20

58 [ REC] time t0 t1 Snapshots Objects s1 abook::book title state borrower client1::client name id abook::book state borrower client1::client "1985" "clean" "John" 1 "clean" 20

59 [ REC] time t0 t1 abook::book title "1985" abook::book title "1985" Snapshots Objects s1 state borrower client1::client name id abook::book state borrower client1::client "clean" "John" 1 "clean" state borrower client1::client name id "dirty" "John" 1 20

60 [ REC] t0 t1 t2 time abook::book title "1985" abook::book title "1985" Objects state borrower "clean" state borrower "dirty" client1::client name id "John" 1 client1::client name id "John" 1 s1 s2 abook::book abook::book Snapshots state borrower client1::client "clean" state borrower "dirty" 20

61 [ REC] t0 t1 t2 time abook::book title "1985" abook::book title "1985" abook::book title "1984" Objects state borrower "clean" state borrower "dirty" state borrower "dirty" client1::client name id "John" 1 client1::client name id "John" 1 client1::client name id "John" 1 s1 s2 abook::book abook::book Snapshots state borrower client1::client "clean" state borrower "dirty" 20

62 [ REC] time t0 t1 t2 t3 Objects abook::book title state borrower client1::client name id "1985" "clean" "John" 1 abook::book title state borrower client1::client name id "1985" "dirty" "John" 1 abook::book title "1984" state "dirty" borrower client1::client name id "John" 1 s1 s2 s3 abook::book abook::book abook::book Snapshots state borrower client1::client "clean" state borrower "dirty" state borrower client1::client "dirty" 20

63 [ FWD] time t0 t1 t2 t3 Objects abook::book title state borrower client1::client name id "1985" "clean" "John" 1 abook::book title state borrower client1::client name id "1985" "dirty" "John" 1 abook::book title "1984" state "dirty" borrower client1::client name id "John" 1 s1 s2 s3 abook::book abook::book abook::book Snapshots state borrower client1::client "clean" state borrower "dirty" state borrower client1::client "dirty" 20

64 [ FWD] time t0 t1 t2 t3 Objects abook::book title state borrower client1::client name id "1985" "clean" "John" 1 abook::book title state borrower client1::client name id "1985" "dirty" "John" 1 abook::book title "1984" state "dirty" borrower client1::client name id "John" 1 s1 s2 s3 abook::book abook::book abook::book Snapshots state borrower client1::client "clean" state borrower "dirty" state borrower client1::client "dirty" 20

65 [ FWD] time t0 t1 t2 t3 Objects abook::book title state borrower client1::client name id "1985" "clean" "John" 1 abook::book title state borrower client1::client name id "1985" "dirty" "John" 1 abook::book title state borrower client1::client name id "1984" "dirty" "John" 1 s1 s2 s3 Snapshots abook::book title "1984" state borrower client1::client "clean" abook::book state borrower "dirty" abook::book state borrower client1::client "dirty" name id "John" 1 20

66 [ FWD] time t0 t1 t2 t3 abook::book title "1985" abook::book title "1985" abook::book title "1984" Objects state borrower "clean" state borrower "dirty" state borrower "dirty" client1::client name id "John" 1 client1::client name id "John" 1 client1::client name id "John" 1 s1 s2 s3 abook::book abook::book abook::book title "1984" Snapshots state borrower client1::client "clean" state borrower "dirty" state borrower client1::client "dirty" name id "John" 1 20

67 [ FWD] time t0 t1 t2 t3 Objects abook::book title state borrower client1::client name id "1985" "clean" "John" 1 abook::book title state borrower client1::client name id "1985" "dirty" "John" 1 abook::book title state borrower client1::client name id "1984" "dirty" "John" 1 s1 s2 s3 Snapshots abook::book state borrower client1::client "clean" abook::book state borrower "dirty" abook::book title "1984" state "dirty" borrower client1::client name id "John" 1 20

68 Attributs sélectionnés ou non 21

69 Attributs sélectionnés ou non 21

70 Attributs sélectionnés ou non 21

71 Attributs sélectionnés ou non Tous les objets d une même classe 22

72 Attributs sélectionnés ou non Tous les objets d une même classe Sélection basée sur un attribut d un objet 22

73 Attributs sélectionnés ou non Ex: la classe Vector en Java Sélection basée sur un attribut d un objet 22

74 Attributs sélectionnés ou non Ex: la classe Vector en Java Objets de notre application Sélection basée sur un attribut d un objet 22

75 Attributs sélectionnés ou non Ex: la classe Vector en Java Objets utilisés par les autres libraries Objets de notre application Sélection basée sur un attribut d un objet 22

76 Sélection automatique Mécanisme de Sélection Automatique profondeurs de sélection configuration locale pour chaque objet 23

77 Sélection automatique Mécanisme de Sélection Automatique profondeurs de sélection configuration locale pour chaque objet 23

78 Sélection automatique Mécanisme de Sélection Automatique profondeurs de sélection configuration locale pour chaque objet 23

79 Sélection automatique Mécanisme de Sélection Automatique profondeurs de sélection configuration locale pour chaque objet 23

80 Comment être efficace Théoriquement?

81 Premières Idées 25

82 Premières Idées Copie du système à chaque snapshot 25

83 Premières Idées Copie du système à chaque snapshot long et prend de la place 25

84 Premières Idées Copie du système à chaque snapshot long et prend de la place Lister les actions et ne garder que la dernière version 25

85 Premières Idées Copie du système à chaque snapshot long et prend de la place Lister les actions et ne garder que la dernière version rapide dans le présent long dans le passé 25

86 Premières Idées Copie du système à chaque snapshot long et prend de la place Lister les actions et ne garder que la dernière version rapide dans le présent long dans le passé Lister n actions puis copier le système 25

87 Premières Idées Copie du système à chaque snapshot long et prend de la place Lister les actions et ne garder que la dernière version rapide dans le présent long dans le passé Lister n actions puis copier le système toujours trop lent toujours trop de place 25

88 Structures de données efficaces Basées sur la Fat Node Method [Driscoll et al,1986]. Pas de contrainte sur le graphe d objets Les différentes valeurs d un attribut sont stockées comme valeur de cet attribut abook::book client1::client title state borrower "1984" t1 t2 "dirty" name id "John" 1 "clean" t1 t2 t3 26

89 Chained Arrays (a) 1 element (b) 2 elements (b) 6 elements (b) 8 elements Ajouter une valeur Lire la dernière valeur Rechercher une valeur O(1) O(1) O(log(#values)) 27

90 Efficacité en Temps Linear versioning Read-Only Prendre un snapshot Complexities O(1) Accéder à un attribut non sélectionné Branching Éditer un attribut sélectionné Lire la dernière valeur d un attr. sél. Rechercher une valeur d un attr. sél. O(1) O(1) O(1) O(log #états) 28

91 Efficacité en Temps Confluent Backtracking versioning Backtracking Prendre un snapshot Backtrack Accéder à un attribut non sélectionné Éditer un attribut sélectionné Lire la dernière valeur d un attr. sél. Rechercher une valeur d un attr. sél. Complexities O(1) O(1)* O(1) O(1)* O(1)* O(log #états) * temps amorti 29

92 Efficacité en Temps Read-Only Branching versioning Branching Complexities Prendre un snapshot Créer une branche Accéder à un attribut non sélectionné Éditer un attribut sélectionné Lire la dernière valeur d un attr. sél. Rechercher une valeur d un attr. sél. * temps amorti O(1)* O(1)* O(1) O(log #états) O(log #états) O(log #états) 30

93 Pour chaque type de versioning Accéder à un attribut non sélectionné O(1) 31

94 Pour chaque type de versioning Accéder à un attribut non sélectionné O(1) Si le versioning n est pas utilisé, le système garde les mêmes performances. 31

95 Règles et Outils pour l intégration aux langages

96 Intégration aux langages 3 primitives principales sélectionner les attributs prendre un snapshot exécuter du code au travers d un snapshot configuration locale par surcharge de méthodes 33

97 Intégration aux langages Pas de transparence pour le développeur code source Book>>getBorrower! ^borrower 34

98 Intégration aux langages Pas de transparence pour le développeur code source Book>>getBorrower! ^borrower abook::book title state borrower "1984" t1 t2 "dirty" "clean" client1::client name id "John" 1 t1 t2 t3 34

99 Intégration aux langages Pas de transparence pour le développeur code source Book>>getBorrower! ^borrower abook::book title state borrower "1984" t1 t2 "dirty" "clean" client1::client name id "John" 1 t1 t2 t3 code source Book>>getBorrower! ^(borrower isstatesdatastructure!! iftrue: [borrower getvalueatsnapshot: Snapshot activesnapshot]!! iffalse: [borrower]) 34

100 Instrumentation de bytecodes (Smalltalk) 35

101 Instrumentation de bytecodes (Smalltalk) Book new selectfields 35

102 Instrumentation de bytecodes (Smalltalk) code source Book>>getBorrower! ^borrower Book new selectfields 35

103 Instrumentation de bytecodes (Smalltalk) code source Book>>getBorrower! ^borrower Book new selectfields bytecodes <00> push the first field of the receiver (self) <7C> return top of stack 35

104 Instrumentation de bytecodes (Smalltalk) code source Book>>getBorrower! ^borrower Book new selectfields bytecodes <00> push the first field of the receiver (self) <7C> return top of stack <00> push the first field of the receiver (self) <7C> return top of the stack 35

105 Instrumentation de bytecodes (Smalltalk) code source Book>>getBorrower! ^borrower Book new selectfields bytecodes <00> push the first field of the receiver (self) <7C> return top of stack <00> push the first field of the receiver (self) <D1> send isstatesdatastructure <9A> if false: jump 5 instructions <00> push the first field of the receiver <42> push class Snapshot <D1> send: activesnapshot <D0> send: getvalueatsnapshot: <7C> jump 1 instruction <00> push the first field of the receiver <7C> return top of the stack 35

106 Instrumentation de bytecodes (Smalltalk) Book new selectfields code source Book>>getBorrower! ^borrower Book>>getBorrower! ^(borrower isstatesdatastructure!! iftrue: [borrower getvalueatsnapshot: Snapshot activesnapshot]!! iffalse: [borrower]) bytecodes <00> push the first field of the receiver (self) <7C> return top of stack <00> push the first field of the receiver (self) <D1> send isstatesdatastructure <9A> if false: jump 5 instructions <00> push the first field of the receiver <42> push class Snapshot <D1> send: activesnapshot <D0> send: getvalueatsnapshot: <7C> jump 1 instruction <00> push the first field of the receiver <7C> return top of the stack 35

107 Implementations Hist OO ry

108 Implementations Hist OO ry Première version en Java Version stable en Smalltalk Une libraire standard chargeable dans n importe quelle application le code existant n a pas besoin d être changé (instrumentation de bytecodes) 37

109 Implémentation en Smalltalk Démonstration Hist OO ry 38

110 Hist OO ry Performance Editer un attribut Temps moyen (ms) pour sauver un état Average Time (ms) to save one state Branching at end Branching at root Backtracking Linear Instrumented, not selected Ephemeral # Nb states d états saved sauvés in the versioned dans l attribut field Slowdown factor 39

111 Hist OO ry Performance Editer un attribut Temps moyen (ms) pour sauver un état Average Time (ms) to save one state Branching at end Branching at root Backtracking Linear Instrumented, not selected Ephemeral # Nb states d états saved sauvés in the versioned dans l attribut field Slowdown factor 39

112 Hist OO ry Performance Editer un attribut Temps moyen (ms) pour sauver un état Average Time (ms) to save one state Branching at end Branching at root Backtracking Linear Instrumented, not selected Ephemeral # Nb states d états saved sauvés in the versioned dans l attribut field Slowdown factor 39

113 Hist OO ry Performance Editer un attribut Temps moyen (ms) pour sauver un état Average Time (ms) to save one state Branching at end Branching at root Backtracking Linear Instrumented, not selected Ephemeral # Nb states d états saved sauvés in the versioned dans l attribut field Slowdown factor 39

114 Hist OO ry Performance Editer un attribut Temps moyen (ms) pour sauver un état Average Time (ms) to save one state Branching at end Branching at root Backtracking Linear Instrumented, not selected Ephemeral # Nb states d états saved sauvés in the versioned dans l attribut field Slowdown factor 39

115 Hist OO ry Performance Lire un attribut Temps moyen (ms) pour retrouver un état Average time (ms) to retrieve one state Branching at root Branching at end Backtracking - any state Backtracking - last state Linear - any state Linear - last state Hist OO 0 Nb # states d états saved sauvés in a versioned dans l attribut field Slowdown factor Instrumented, Not selected Synthetic worst case update 7 Ephemeral Real cases update 1.3 to 2 ry Slowdown factor 40

116 Hist OO ry Performance Lire un attribut Temps moyen (ms) pour retrouver un état Average time (ms) to retrieve one state Branching at root Branching at end Backtracking - any state Backtracking - last state Linear - any state Linear - last state Hist OO 0 Nb # states d états saved sauvés in a versioned dans l attribut field Slowdown factor Instrumented, Not selected Synthetic worst case update 7 Ephemeral Real cases update 1.3 to 2 ry Slowdown factor 40

117 Hist OO ry Performance Lire un attribut Temps moyen (ms) pour retrouver un état Average time (ms) to retrieve one state Branching at root Branching at end Backtracking - any state Backtracking - last state Linear - any state Linear - last state Hist OO 0 Nb # states d états saved sauvés in a versioned dans l attribut field Slowdown factor Instrumented, Not selected Synthetic worst case update 7 Ephemeral Real cases update 1.3 to 2 ry Slowdown factor 40

118 Hist OO ry Performance Lire un attribut Temps moyen (ms) pour retrouver un état Average time (ms) to retrieve one state Branching at root Branching at end Backtracking - any state Backtracking - last state Linear - any state Linear - last state Hist OO 0 Nb # states d états saved sauvés in a versioned dans l attribut field Slowdown factor Instrumented, Not selected Synthetic worst case update 7 Ephemeral Real cases update 1.3 to 2 ry Slowdown factor 40

119 Hist OO ry Performance Lire un attribut Temps moyen (ms) pour retrouver un état Average time (ms) to retrieve one state Branching at root Branching at end Backtracking - any state Backtracking - last state Linear - any state Linear - last state Hist OO 0 Nb # states d états saved sauvés in a versioned dans l attribut field Slowdown factor Instrumented, Not selected Synthetic worst case update 7 Ephemeral Real cases update 1.3 to 2 ry Slowdown factor 40

120 Hist OO ry Performance Lire un attribut Temps moyen (ms) pour retrouver un état Average time (ms) to retrieve one state Branching at root Branching at end Backtracking - any state Backtracking - last state Linear - any state Linear - last state Hist OO 0 Nb # states d états saved sauvés in a versioned dans l attribut field Slowdown factor Instrumented, Not selected Synthetic worst case update 7 Ephemeral Real cases update 1.3 to 2 ry Slowdown factor 40

121 Hist OO ry Performance Lire un attribut Temps moyen (ms) pour retrouver un état Average time (ms) to retrieve one state Branching at root Branching at end Backtracking - any state Backtracking - last state Linear - any state Linear - last state Hist OO 0 Nb # states d états saved sauvés in a versioned dans l attribut field Slowdown factor Instrumented, Not selected Synthetic worst case update 7 Ephemeral Real cases update 1.3 to 2 ry Slowdown factor 40

122 Hist OO ry Performance Ajout dans un Random Treap Temps moyen (ms) par ajout Average time (ms) per insertion Branching Backtracking Linear - all states Linear - consistent states Linear - no states Instrumented, not selected Ephemeral Nb d ajouts # insertions dans in a le random random treap treap 41

123 Hist OO ry Performance Ajout dans un Random Treap Temps moyen (ms) par ajout Average time (ms) per insertion Branching Backtracking Linear - all states Linear - consistent states Linear - no states Instrumented, not selected Ephemeral 3x Nb d ajouts # insertions dans in a le random random treap treap 41

124 Hist OO ry Performance Ajout dans un Random Treap Temps moyen (ms) par ajout Average time (ms) per insertion Branching Backtracking Linear - all states Linear - consistent states Linear - no states Instrumented, not selected Ephemeral 5x 3x Nb d ajouts # insertions dans in a le random random treap treap 41

125 Travaux Préexistants Liu Parrish Reiss Guéheneuc Warth Dans la RAM Transparent Général Sél. des sujets Sél. des états Efficacité Liu, Zhiqing A persistent runtime system using persistent data structures. Pages of: SAC 96: Proceedings of the 1996 ACM symposium on Applied Computing. New York, NY, USA: ACM Press. 42

126 Travaux Préexistants Liu Parrish Reiss Guéheneuc Warth Dans la RAM Transparent Général Sél. des sujets Sél. des états Efficacité Liu, Zhiqing A persistent runtime system using persistent data structures. Pages of: SAC 96: Proceedings of the 1996 ACM symposium on Applied Computing. New York, NY, USA: ACM Press. Parrish, Allen, Dixon, Brandon, Cordes, David, Vrbsky, Susan, & Lusth, John Implementing persistent data structures using C++. Softw. Pract. Exper., 28(15), Reiss, Steven P., & Renieris, Manos Encoding Program Executions. Pages of: Proceedings of the 23rd International Conference on Software Engineering. Toronto, Ontario, Canada: IEEE. Guéhéneuc, Y.-G., Douence, R., & Jussien, N (September). No Java without Caffeine A Tool for Dynamic Analysis of Java Programs. In: Proceedings of ASE 2002 : 17th International IEEE Conference on Automated Software Engineering. Warth, A., Ohshima Y., Kaehler, T. & Kay, Alan Worlds: Controlling the scope of side effects. Tech. rept. 42

127 Travaux Préexistants Liu Parrish Reiss Guéheneuc Warth Dans la RAM Transparent Général Sél. des sujets Sél. des états Efficacité Liu, Zhiqing A persistent runtime system using persistent data structures. Pages of: SAC 96: Proceedings of the 1996 ACM symposium on Applied Computing. New York, NY, USA: ACM Press. Parrish, Allen, Dixon, Brandon, Cordes, David, Vrbsky, Susan, & Lusth, John Implementing persistent data structures using C++. Softw. Pract. Exper., 28(15), Reiss, Steven P., & Renieris, Manos Encoding Program Executions. Pages of: Proceedings of the 23rd International Conference on Software Engineering. Toronto, Ontario, Canada: IEEE. Guéhéneuc, Y.-G., Douence, R., & Jussien, N (September). No Java without Caffeine A Tool for Dynamic Analysis of Java Programs. In: Proceedings of ASE 2002 : 17th International IEEE Conference on Automated Software Engineering. Warth, A., Ohshima Y., Kaehler, T. & Kay, Alan Worlds: Controlling the scope of side effects. Tech. rept. 42

128 Conclusions Un modèle général et facile à utiliser pour l object versioning adapté aux langages orientés objet Algorithmes théoriques avec un point de vue d implémentation Règles et outils orientés développeurs pour l intégration aux langages Implémenté et testé en Smalltalk 3 sortes de versioning Librarie transparente Efficace en temps et en espace 43

129 Merci! Executing code in the past: Efficient in-memory object graph versioning, F. Pluquet, S. Langerman, and R. Wuyts, In Proceedings of the 2009 ACM SIGPLAN Conference on Object- Oriented Programming Systems, Languages, and Applications (OOPSLA'09). Implementing Partial Persistence In Object-Oriented Languages, F. Pluquet. S. Langerman, A. Marot and R. Wuyts, In Proceedings of ALENEX 08,

Mesure et modélisation de l énergie logicielle

Mesure et modélisation de l énergie logicielle Mesure et modélisation de l énergie logicielle Adel Noureddine, Romain Rouvoy, Lionel Seinturier Green Days @ Lille 29 novembre 2013 Plan Contexte! Problèmes et limitations! Mesure énergétique des logiciels

Plus en détail

Une méthodologie de conception des systèmes distribués basée sur UML

Une méthodologie de conception des systèmes distribués basée sur UML Une méthodologie de conception des systèmes distribués basée sur UML Nouvelles Technologies de la Répartition (NOTERE 2005) 1 er septembre 2005 Ludovic Apvrille Pierre de Saqui-Sannes Axelle Apvrille Page

Plus en détail

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

Plus en détail

Introduction à la Recherche en Laboratoire

Introduction à la Recherche en Laboratoire Introduction à la Recherche en Laboratoire Transferts de données pour le vol de travail Tristan Darricau tristan.darricau@ensimag.grenoble-inp.fr 26 mai 2014 Grenoble INP - ENSIMAG Ecadrement Frédéric

Plus en détail

Laboratoire 4 Développement d un système intelligent

Laboratoire 4 Développement d un système intelligent DÉPARTEMENT DE GÉNIE LOGICIEL ET DES TI LOG770 - SYSTÈMES INTELLIGENTS ÉTÉ 2012 Laboratoire 4 Développement d un système intelligent 1 Introduction Ce quatrième et dernier laboratoire porte sur le développement

Plus en détail

The Current State and Future of Search Based Software Engineering

The Current State and Future of Search Based Software Engineering The Current State and Future of Search Based Software Engineering Mark Harman 1 IEEE International Conference on Software Engineering FoSE 07: Future of Software Engineering 1 King's College, LONDON, UK

Plus en détail

Récupération automatique de la

Récupération automatique de la Récupération automatique de la mémoire 1 Plan 1. La gestion du tas. 2. Marquage et balayage. 3. Comptage de références. 4. Récupération par copie. 5. Compléments. 2 Problématique Le code exécutable généré

Plus en détail

Global patent index EP 2384082 A1

Global patent index EP 2384082 A1 Global patent index EP 2384082 A1 Title (en) Method and device for configuring a network of removed wireless sensors Title (de) Verfahren und Vorrichtung zur Konfiguration eines Sensornetzes ohne verlegte

Plus en détail

SeaSide: Des applications web complexes trés simplement...

SeaSide: Des applications web complexes trés simplement... SeaSide: Des applications web complexes trés simplement... Stéphane Ducasse www.iam.unibe.ch/~ducasse/ SeaSide est un puissant framework pour developper des applications web complexes. La fonctionalité

Plus en détail

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE THÈSE N O 3302 (2005) PRÉSENTÉE À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS Institut d'informatique fondamentale SECTION D'INFORMATIQUE ÉCOLE POLYTECHNIQUE

Plus en détail

APSS Application Form for the University year 2016-2017 Formulaire de candidature au PEASS pour l année universitaire 2016-2017

APSS Application Form for the University year 2016-2017 Formulaire de candidature au PEASS pour l année universitaire 2016-2017 APSS Application Form for the University year 2016-2017 Formulaire de candidature au PEASS pour l année universitaire 2016-2017 This application form may be submitted by email at candidater.peass@egerabat.com

Plus en détail

Pour des architectures logicielles ouvertes et adaptables. La réflexion : pourquoi et comment?

Pour des architectures logicielles ouvertes et adaptables. La réflexion : pourquoi et comment? Pour des architectures logicielles ouvertes et adaptables. La réflexion : pourquoi et comment? P. Cointe et T. Ledoux pour l'équipe OCM (Objets, Composants, Modèles) de l'emn Contexte Aujourd'hui, la complexité

Plus en détail

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation Clues from other disciplines (from E. Gamma) Patrons de conception («Design Patterns») ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Inspiré

Plus en détail

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 ARCHITECTURE REST & WEB SERVICES Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 1 Introduction Présentation de Rest Serveur Java JAX-RS Démonstration 2 Introduction Présentation de Rest

Plus en détail

4 Exemples de problèmes MapReduce incrémentaux

4 Exemples de problèmes MapReduce incrémentaux 4 Exemples de problèmes MapReduce incrémentaux 1 / 32 Calcul des plus courtes distances à un noeud d un graphe Calcul des plus courts chemins entre toutes les paires de noeuds d un graphe Algorithme PageRank

Plus en détail

Groupe de travail COSMAL 27 janvier 2009

Groupe de travail COSMAL 27 janvier 2009 Des modèles aux programmes à base de composants Besoin de langages à composants Luc Fabresse École des mines de Douai Unité de Recherche Informatique et Automatique http://vst.ensm-douai.fr/research/ Groupe

Plus en détail

Certificate of Incorporation Certificat de constitution

Certificate of Incorporation Certificat de constitution Request ID: 017562932 Province of Ontario Date Report Produced: 2015/04/27 Demande n o : Province de l Ontario Document produit le: Transaction ID: 057430690 Ministry of Government Services Time Report

Plus en détail

Liste de conférences et revues Thème Com A

Liste de conférences et revues Thème Com A Liste de conférences et revues Thème Com A April 11th, 2007 Ci-dessous, la synthèse des listes de publications fournies par les projets. Il faut noter que ACES/CEPAGE/OASIS/ n ont pas répondu et ne sont

Plus en détail

APSS Application Form/ Intermediate level Formulaire de candidature au PEASS/ Niveau intermédiaire

APSS Application Form/ Intermediate level Formulaire de candidature au PEASS/ Niveau intermédiaire APSS Application Form/ Intermediate level Formulaire de candidature au PEASS/ Niveau intermédiaire This application form may be submitted by email at candidater.peass@egerabat.com or sent by mail to the

Plus en détail

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne Online Applications Tutorial 1/4 Pour postuler aux Appels d Offres de l ENP, vous devez aller sur la plateforme : calls.parisneuroscience.fr.

Plus en détail

TP10 Modélisation, simulation et vérification du «Priority Inheritance Protocol» en Kind2

TP10 Modélisation, simulation et vérification du «Priority Inheritance Protocol» en Kind2 École normale supérieure Année 2014-2015 Systèmes et réseaux TP10 Modélisation, simulation et vérification du «Priority Inheritance Protocol» en Kind2 1 Plan En suivant l exemple de Jahier, Halbwachs et

Plus en détail

NCTS INFORMATION QUANT AUX NOUVEAUTES POUR 2010

NCTS INFORMATION QUANT AUX NOUVEAUTES POUR 2010 NCTS INFORMATION QUANT AUX NOUVEAUTES POUR 2010 Sur pied des nouveaux articles 365, paragraphe 4 (NCTS) et 455bis, paragraphe 4 (NCTS-TIR) du Code Communautaire d'application 1, le principal obligé doit

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming THÈSE N O 5007 (2011) PRÉSENTÉE le 20 mai 2011 À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS LABORATOIRE DE MÉTHODES DE PROGRAMMATION

Plus en détail

Introduction aux Machines Virtuelles avec VMKit

Introduction aux Machines Virtuelles avec VMKit Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime

Plus en détail

Standards Objets OMG - ODMG ODL - OQL. Plan. Introduction à l'odmg: Object Definition Language (ODL) Object Query Language (OQ)

Standards Objets OMG - ODMG ODL - OQL. Plan. Introduction à l'odmg: Object Definition Language (ODL) Object Query Language (OQ) Plan Standards Objets OMG - ODMG ODL - OQL Introduction à l'odmg: Contenu de la proposition; Architecture d'un SGBDO; Object Definition Language (ODL) Object Query Language (OQ) 1 2 Tirés des documents

Plus en détail

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011 1 / 56 Développement Web Le modèle MVC Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer 24 janvier 2011 2 / 56 Objectif Objectif du cours Se familiariser avec

Plus en détail

Utilisation de la brique LEGO EV3 avec Automgen. Using EV3 brick with Automgen (C)2014 IRAI. Lego EV3, Automgen

Utilisation de la brique LEGO EV3 avec Automgen. Using EV3 brick with Automgen (C)2014 IRAI. Lego EV3, Automgen Utilisation de la brique LEGO EV3 avec Automgen Using EV3 brick with Automgen (C)2014 IRAI 1 Ce manuel décrit l'utilisation de la brique LEGO Ev3 avec Automgen. This manual describes the use of EV3 LEGO

Plus en détail

WEB 555 AIDE A L INSTALLATION

WEB 555 AIDE A L INSTALLATION WEB 555 WEB 555 AIDE A L INSTALLATION version 1.0 Page 1 CABLAGE Le WEB 555 est une passerelle WEB permettant de connecter des régulateurs de la gamme MicroNet ou des régulateurs de la gamme SatchNet.

Plus en détail

EndNote. Professeurs / Doctorants. Configuration utilisée : EndNote X2 Windows XP professionnel Word 2007

EndNote. Professeurs / Doctorants. Configuration utilisée : EndNote X2 Windows XP professionnel Word 2007 EndNote Configuration utilisée : EndNote X2 Windows XP professionnel Word 2007 Professeurs / Doctorants Réalisé : juin 2009 Dernière mise à jour : octobre 2010 Valérie Anne Mange Bibliothèque HEC Paris

Plus en détail

Export et Import de modèles ICAR sous Trnsys 17

Export et Import de modèles ICAR sous Trnsys 17 Export et Import de modèles ICAR sous Trnsys 17 Export de modèles Trnsys 17 vers ICAR Une fonction permettant d exporter des modèles Trnsys vers des composants ICAR a été implémentée sous Simulation Studio.

Plus en détail

VISUALISATION DE NUAGES DE POINTS

VISUALISATION DE NUAGES DE POINTS ARNAUD BLETTERER MULTI-RÉSOLUTION 1/16 VISUALISATION DE NUAGES DE POINTS MULTI-RÉSOLUTION AU TRAVERS DE CARTES DE PROFONDEUR Arnaud Bletterer Université de Nice Sophia Antipolis Laboratoire I3S - Cintoo

Plus en détail

Votre premier projet Android

Votre premier projet Android 3 Votre premier projet Android Maintenant que le SDK Android est installé, il est temps de créer votre premier projet. La bonne nouvelle est qu il n exige aucune ligne de code les outils Android créent

Plus en détail

Outil SANTE: Détection d erreurs par analyse statique et test structurel des programmes C

Outil SANTE: Détection d erreurs par analyse statique et test structurel des programmes C Outil SANTE: Détection d erreurs par analyse statique et test structurel des programmes C Omar Chebaro LIFC, Université de Franche-Comté, 25030 Besançon France CEA, LIST, Laboratoire Sûreté des Logiciels,

Plus en détail

Sybase 12.5.3a et MQ Series

Sybase 12.5.3a et MQ Series Sybase 12.5.3a et MQ Series Sybase ASE 12.5.3a sera prêt à dialoguer directement avec Websphere MQ Series. Septembre 2005 Documentation technique # 27 Introduction Sybase Adaptive Server Enterprise 12.5.3a

Plus en détail

INTRODUCTION A L UTILISATION DE SYSTAT

INTRODUCTION A L UTILISATION DE SYSTAT 1 INTRODUCTION A L UTILISATION DE SYSTAT F. Lyazrhi D. Concordet 2 Systat est un logiciel statistique qui permet de préparer les graphiques et de faire des calculs nécessaires à l analyse des données.

Plus en détail

Une approche modèle pour la conception conjointe de systèmes embarqués hautes performances dédiés au transport

Une approche modèle pour la conception conjointe de systèmes embarqués hautes performances dédiés au transport Une approche modèle pour la conception conjointe de systèmes embarqués hautes performances dédiés au transport Jean Luc DEKEYSER, Sébastien LE BEUX, Philippe MARQUET Inria Futurs Lille dekeyser@lifl.fr

Plus en détail

Web search. Course Organization. 4 July 2011. 1 / 7 Pierre Senellart Licence de droits d usage

Web search. Course Organization. 4 July 2011. 1 / 7 Pierre Senellart Licence de droits d usage Web search Course Organization 1 / 7 Pierre Senellart Course scope Introduction to the technologies of Web search engines Prerequisites: basic math and computer science Labs prerequisites: Java programming

Plus en détail

Programmation avancée en C

Programmation avancée en C Département Informatique Nom : Prénom : Année scolaire : 2007 2008 Date : 23 juin 2008 Module INF446 Session de juin Programmation avancée en C Contrôle de connaissance 1 de 45 minutes ÅERCI de répondre

Plus en détail

CURRICULUM VITAE. Informations Personnelles

CURRICULUM VITAE. Informations Personnelles CURRICULUM VITAE Informations Personnelles NOM: BOURAS PRENOM : Zine-Eddine STRUCTURE DE RATTACHEMENT: Département de Mathématiques et d Informatique Ecole Préparatoire aux Sciences et Techniques Annaba

Plus en détail

Sécurité de la plate-forme d exécution Java : limites et proposition d améliorations

Sécurité de la plate-forme d exécution Java : limites et proposition d améliorations Sécurité de la plate-forme d exécution Java : limites et proposition d améliorations Guillaume Hiet, Frédéric Guihéry, Goulven Guiheux, David Pichardie, Christian Brunette AMOSSYS-INRIA-SILICOM 10 juin

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Conception de bases de données relationnelles

Conception de bases de données relationnelles Conception de bases de données relationnelles Langage PL/(pg)SQL Marie Szafranski 2015-2016 ensiie 1 2015-2016 ensiie 1 Aperçu de PL/(pg)SQL Aperçu de PL/(pg)SQL PL/SQL : Procedural Language for SQL (Oracle)

Plus en détail

Introduction à la programmation orientée objet. Éric Pruvost

Introduction à la programmation orientée objet. Éric Pruvost Introduction à la programmation orientée objet Éric Pruvost Les années 50 Avant l objet Les années 50 50 Les quatre principaux langages 1956 1958 1958 1959 FORTRAN LISP ALGOL COBOL scientifique lambda-calcul

Plus en détail

Les Bases de Données et l Objet Introduction

Les Bases de Données et l Objet Introduction Les Bases de Données et l Objet Introduction Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr Plan Définitions d un Objet Propriétés

Plus en détail

Analyse statique de SCADE par interprétation abstraite

Analyse statique de SCADE par interprétation abstraite Analyse statique de SCADE par interprétation abstraite soutenance de stage Alex AUVOLAT ANSYS-Esterel Technologies sous l encadrement de Jean-Louis Colaço Juin-Juillet 2014 1/33 Introduction SCADE : programmation

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Courrier électronique

Courrier électronique Chapitre 8 L appareil PV met à votre disposition des fonctions e-mail performantes. Vous pouvez entre autres : Ecrire des messages hors connexion et les envoyer ultérieurement Relever votre courrier et

Plus en détail

Analyse de performance et optimisation. David Geldreich (DREAM)

Analyse de performance et optimisation. David Geldreich (DREAM) Analyse de performance et optimisation David Geldreich (DREAM) Plan de l exposé Analyse de performance Outils Optimisation Démonstrations Analyse de performance Pas d optimisation sans analyse de performance

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

Gestion de la configuration et contrôle du code source

Gestion de la configuration et contrôle du code source MGL7460 Automne 2015 Gestion de la configuration et contrôle du code source Guy Tremblay Professeur Département d informatique UQAM http://www.labunix.uqam.ca/~tremblay 10 septembre 2015 Parmi les premières

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages AntLR - Générateur d analyseurs Claude Moulin Université de Technologie de Compiègne Printemps 2015 Sommaire 1 Introduction 2 AntLR ANTLR : ANother Tool for Language Recognition URL

Plus en détail

Langages de haut niveau

Langages de haut niveau Langages de haut niveau Introduction Un assembleur est un programme traduisant en code machine un programme écrit à l'aide des mnémoniques Les langages d'assemblage représentent une deuxième génération

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

Plus en détail

VISIODOOR2. Notice d installation. Installation manual. Prastel France - 225 Impasse du Serpolet 13704 La Ciotat Cedex - France www.prastel.

VISIODOOR2. Notice d installation. Installation manual. Prastel France - 225 Impasse du Serpolet 13704 La Ciotat Cedex - France www.prastel. VISIODOOR2 Notice d installation Installation manual 2C FRANCAIS Caractéristiques techniques Alimentation 17VDC - 1,2Ah (rail DIN) Objectif caméra 1/3 CCD 72 degrés Illumination 0.05 LUX Relais disponible

Plus en détail

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016 Programmation Web Sites dynamiques et bases de données Mathieu Lacroix I.U.T. de Villetaneuse Année 2015-2016 E-mail : mathieu.lacroix@iutv.univ-paris13.fr Page Web : http: // www-lipn. univ-paris13. fr/

Plus en détail

ROYAUME DE BELGIQUE / KINGDOM OF BELGIUM / KONINKRIJK BELGIE

ROYAUME DE BELGIQUE / KINGDOM OF BELGIUM / KONINKRIJK BELGIE ROYAUME DE BELGIQUE / KINGDOM OF BELGIUM / KONINKRIJK BELGIE Ministère des Affaires Etrangères, du Commerce Extérieur et de la Coopération Internationale Ministry of Foreign Affairs, External Trade and

Plus en détail

PERSISTANCE DES DONNEES

PERSISTANCE DES DONNEES PERSISTANCE DES DONNEES Matthieu VALET Valentin CARRIE Janvier 2014 C est quoi des «données»??? L informatique consiste à traiter des éléments d information par un algorithme Tous les éléments d informations

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Génie Logiciel et Gestion de Projets

Génie Logiciel et Gestion de Projets Génie Logiciel et Gestion de Projets INFO-F-407 Ragnhild Van Der Straeten 2008-2009 ULB 1 Génie Logiciel et Gestion de Projets Organisation 2 Ragnhild Van Der Straeten VUB, 4K209 Campus Etterbeek rvdstrae@vub.ac.be

Plus en détail

Exercice Packet Tracer 4.4.1 : configuration VTP de base

Exercice Packet Tracer 4.4.1 : configuration VTP de base Exercice Packet Tracer 4.4.1 : configuration VTP de base Diagramme de la topologie Table d adressage Périphérique Interface Adresse IP Masque de sous-réseau Passerelle par défaut Comm1 VLAN 99 172.17.99.11

Plus en détail

Courriel envoyé par RNB à TOUS les Membres de la SOGHU LE 10 décembre 2012/ E-mail sent by RNB to ALL SOGHU Members Decembrer 10, 2012

Courriel envoyé par RNB à TOUS les Membres de la SOGHU LE 10 décembre 2012/ E-mail sent by RNB to ALL SOGHU Members Decembrer 10, 2012 Nathalie Télénis De: Diane Caron Envoyé: 18 février 2014 15:12 À: Nathalie Télénis Objet: TR: RNB Used Oil and Glycol Recycling Program Registration Pièces jointes: RNB - UOG Program Registration letter

Plus en détail

Long Term Archiving at CNES COROT MISSION. Christophe Donny Dominique Delmas

Long Term Archiving at CNES COROT MISSION. Christophe Donny Dominique Delmas COROT MISSION Christophe Donny Dominique Delmas 49th SC Observatoire de Paris, 01/24/2014 SERAD (Service de Référencement et d Archivage de Données) - REFLECS (http://reflecs.cnes.fr/ ) Tool to inform

Plus en détail

INF8007 Langages de script

INF8007 Langages de script INF8007 Langages de script Introspection et parsage 1/27 INF8007 Langages de script Introspection et parsage Michel Desmarais Alexandre Spaeth Génie informatique et génie logiciel École Polytechnique de

Plus en détail

EndNote X INSTITUT PASTEUR 1 ENDNOTE X

EndNote X INSTITUT PASTEUR 1 ENDNOTE X EndNote X INSTITUT PASTEUR 1 ENDNOTE X SOMMAIRE 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 2. Manipuler une bibliothèque

Plus en détail

Intégration continue. Gilles QUERRET Riverside Software

Intégration continue. Gilles QUERRET Riverside Software Intégration continue Gilles QUERRET Riverside Software Gilles Querret Dans le monde Progress / Java depuis une dizaine d années Riverside Software depuis 7 and Basé à Lyon, France Expertise technique et

Plus en détail

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable Pierre Olivier*, Jalil Boukhobza*, Jean-Philippe Babau +, Damien Picard +, Stéphane Rubini + *Lab-STICC, + LISyC, Université

Plus en détail

Nadia Boucher Recycle NB Tel 454-8473 Fax 454-8471. Diane Caron

Nadia Boucher Recycle NB Tel 454-8473 Fax 454-8471. Diane Caron Diane Caron Objet: RNB Used Oil and Glycol Recycling Program Registration Pièces jointes: RNB - UOG Program Registration letter - E.pdf; RNB - UOG Program Registration letter - F.pdf; RNB Registration

Plus en détail

8. Cours virtuel Enjeux nordiques / Online Class Northern Issues Formulaire de demande de bourse / Fellowship Application Form

8. Cours virtuel Enjeux nordiques / Online Class Northern Issues Formulaire de demande de bourse / Fellowship Application Form F-8a-v1 1 / 7 8. Cours virtuel Enjeux nordiques / Online Class Northern Issues Formulaire de demande de bourse / Fellowship Application Form Nom de famille du candidat Langue de correspondance Français

Plus en détail

LED Studio Configuration des Starframes

LED Studio Configuration des Starframes LED Studio Configuration des Starframes. Après avoir installé physiquement les StarFrames, installez la StarGate et le logiciel de gestion LED Studio. NB : pensez à connecter la Stargate à l aide du cable

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8)

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8) Architecture des Ordinateurs Partie III : Liens avec le système d exploitation 2. Génération de code David Simplot simplot@fil.univ-lille1.fr Objectifs Voir la génération de code ainsi que les mécanismes

Plus en détail

EOIS Service Provider Connect Service Provider User Guide. Chapter 4: Service Provider Management

EOIS Service Provider Connect Service Provider User Guide. Chapter 4: Service Provider Management EOIS Service Provider Connect Service Provider User Guide Chapter 4: Service Provider Management Version: 1.0 October, 2015 Document Versions Version # Date Description V 1.0 September 2015 First version

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

Pages Web dynamiques et bases de données

Pages Web dynamiques et bases de données Cours 2 Pages Web dynamiques et bases de données Une page Web dynamique est générée automatiquement grâce à l exécution d un script (PHP par exemple). C est le résultat de l exécution de ce script (code

Plus en détail

PROCESSUS D INSCRIPTION AUX CONCOURS DE LA FEI À L EXTÉRIEUR DU CANADA

PROCESSUS D INSCRIPTION AUX CONCOURS DE LA FEI À L EXTÉRIEUR DU CANADA PROCESSUS D INSCRIPTION AUX CONCOURS DE LA FEI À L EXTÉRIEUR DU CANADA La Fédération équestre internationale (FEI) a mis en place un nouveau système d inscription à ses concours, lequel sera mis en vigueur

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

Application de K-means à la définition du nombre de VM optimal dans un cloud

Application de K-means à la définition du nombre de VM optimal dans un cloud Application de K-means à la définition du nombre de VM optimal dans un cloud EGC 2012 : Atelier Fouille de données complexes : complexité liée aux données multiples et massives (31 janvier - 3 février

Plus en détail

Adaptation sémantique de documents SMIL

Adaptation sémantique de documents SMIL Adaptation sémantique de documents SMIL Sébastien Laborie Jérôme Euzenat Nabil Layaïda INRIA Rhône-Alpes - 655 Avenue de l Europe - 38334 St Ismier Cedex {Sebastien.Laborie;Jerome.Euzenat;Nabil.Layaida}@inrialpes.fr

Plus en détail

Programmation orientée objet et interfaces web en PHP

Programmation orientée objet et interfaces web en PHP Programmation orientée objet et interfaces web en PHP La programmation objet avec PHP5 Bases de données et interfaces web Fonctionnement des sessions Nicolas Moyroud Cemagref - UMR TETIS 26 Juin 2008 Programmation

Plus en détail

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

Languages Final Examination 2013. ML01 French Preparatory

Languages Final Examination 2013. ML01 French Preparatory Languages Final Examination 2013 ML01 French Preparatory Candidate Number: Group reference: Centre for Co-Curricular Studies Languages Programme Time allowed: 2 hours Weighting within the Course: 35% Question

Plus en détail

AL5L Architecture logicielle. Séance 3 Paradigmes de programmation

AL5L Architecture logicielle. Séance 3 Paradigmes de programmation AL5L Architecture logicielle Séance 3 Paradigmes de programmation Sébastien Combéfis mardi 3 février 2015 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution

Plus en détail

Configuration Android. Tutorials

Configuration Android. Tutorials Configuration Android Tutorials Java http://www.java.com/fr/download/ manual_v6.jsp Ajouter la référence du JDK dans les variables d environnement Créer un dossier Java sur votre disque dur et copier le

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

RAPPORT DE STAGE «FAIRE RESPECTER UNE PROPRIÉTÉ EXPRIMÉE SOUS FORME D AUTOMATE TEMPORISÉ»

RAPPORT DE STAGE «FAIRE RESPECTER UNE PROPRIÉTÉ EXPRIMÉE SOUS FORME D AUTOMATE TEMPORISÉ» Université Joseph Fourier Département Licence Sciences & Technologie RAPPORT DE STAGE «FAIRE RESPECTER UNE PROPRIÉTÉ EXPRIMÉE SOUS FORME D AUTOMATE TEMPORISÉ» VISAN Vlad Laboratoire d accueil : Verimag

Plus en détail

IUCLID 5 Conseils et support

IUCLID 5 Conseils et support IUCLID 5 Conseils et support Guide d installation pour IUCLID 5 Application autonome Programme d installation pour Microsoft Windows Décembre 2011 Avis juridique Ni l'agence européenne des produits chimiques

Plus en détail

1 Modélisation d être mauvais payeur

1 Modélisation d être mauvais payeur 1 Modélisation d être mauvais payeur 1.1 Description Cet exercice est très largement inspiré d un document que M. Grégoire de Lassence de la société SAS m a transmis. Il est intitulé Guide de démarrage

Plus en détail

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 1 ENDNOTE X2 SOMMAIRE 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 2. Manipuler une bibliothèque EndNote 2.1. La saisie

Plus en détail

AWS avancé. Surveiller votre utilisation d EC2

AWS avancé. Surveiller votre utilisation d EC2 10 AWS avancé Dans ce chapitre, nous bâtirons sur les bases que nous avons apprises jusqu ici. Nous étudierons des sujets plus avancés tels que la surveillance de votre utilisation d AWS, l utilisation

Plus en détail

Comment installer PicturesToExe?

Comment installer PicturesToExe? Comment installer PicturesToExe? Téléchargement Le logiciel PicturesToExe est disponible sur le site www.wnsoft.com Dans le paragraphe PicturesToExe, cliquez sur le bouton Une fenêtre s ouvre et propose

Plus en détail

IDENTITÉ DE L ÉTUDIANT / APPLICANT INFORMATION

IDENTITÉ DE L ÉTUDIANT / APPLICANT INFORMATION Direction des Partenariats Internationaux - Pôle Mobilités Prrogrramme de bourrses Intterrnattiionalles en Mastterr (MIEM) Intterrnattiionall Mastterr Schollarrshiip Prrogrramme Sorrbonne Parriis Ciitté

Plus en détail

SoC : Système on Chip. C est le concept d intégrer une fonction électronique dans un composant programmable.

SoC : Système on Chip. C est le concept d intégrer une fonction électronique dans un composant programmable. 0 Présentation du TP : Pré-requis : Durée estimée : Objectif : Avoir suivi les TP_description_schématic_compteur-FPGA et TP_compteur_VHDL_virtual_instruments-FPGA. Connaissance du langage C ANSI. 2 heures.

Plus en détail

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009 Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009 Pôle de Calcul Intensif pour la mer, 11 Decembre 2009 CAPARMOR 2 La configuration actuelle Les conditions d'accès à distance règles d'exploitation

Plus en détail

M a c h i n e V i r t u e l l e R a d i o

M a c h i n e V i r t u e l l e R a d i o M a c h i n e V i r t u e l l e R a d i o Riadh Ben Abdallah riadh.ben-abdallah@inria.fr Laboratoire CITI, Équipe Systèmes Embarqués Séminaire des thésards, 20 Mars 2008 1 Le Contexte radio logicielle

Plus en détail

ARBRES. Arbres. Arbres binaires. Traversées d arbres. Patron de conception: gabarit de méthode (template method pattern)

ARBRES. Arbres. Arbres binaires. Traversées d arbres. Patron de conception: gabarit de méthode (template method pattern) ARBRES binaires Traversées d arbres Patron de conception: gabarit de méthode (template method pattern) Structures de données pour arbres 5.1 un arbre représente une hiérarchie - structure organisationnelle

Plus en détail

France 2015 - France Prospect

France 2015 - France Prospect Brochure More information from http://www.researchandmarkets.com/reports/3092804/ France 2015 - France Prospect Description: France Prospect - La solution indispensable pour votre prospection Annuaires

Plus en détail

Module.NET 3 Les Assemblys.NET

Module.NET 3 Les Assemblys.NET Module.NET Chapitre 3 Les Assemblys.NET 2011/2012 Page 1 sur 13 Contenu Cours... 3 3.1 - Définition d un assembly.net... 3 3.2 - Private assembly ou assembly privé.... 3 3.3 - Shared assembly ou assembly

Plus en détail