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

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

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

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

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

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

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

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

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

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

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

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

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

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

Génération de code multi-plates-formes pour la mise au point de modèles IMOCA

Génération de code multi-plates-formes pour la mise au point de modèles IMOCA Génération de code multi-plates-formes pour la mise au point de modèles IMOCA G. Guillou Lab-STICC/UMR 6285, UBO, UEB 20 Avenue Le Gorgeu 29200 Brest, France goulven.guillou@univ-brest.fr Résumé Les systèmes

Plus en détail

Le développement d'applications informatiques

Le développement d'applications informatiques Le développement d'applications informatiques Des bibliothèques de fonctions aux "design patterns" Copyright 2011-2015 Yves Marcoux 1 Sources bibliographiques Ramon, Jorge. "Preface". Ext JS 3.0 Cookbook:

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

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

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

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

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

Cours de Programmation 2

Cours de Programmation 2 Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes

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

Des signatures numériques pour améliorer la recherche structurelle de patrons

Des signatures numériques pour améliorer la recherche structurelle de patrons Des signatures numériques pour améliorer la recherche structurelle de patrons Yann-Gaël Guéhéneuc et Houari Sahraoui Université de Montréal CP 6128 succ. Centre Ville Montréal, Québec, H3C 3J7 Canada {guehene,

Plus en détail

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s) Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)

Plus en détail

Rapport de Mini-Projet en ArcGIS Engine

Rapport de Mini-Projet en ArcGIS Engine Rapport de Mini-Projet en ArcGIS Engine Réalisée par : Asmae BENMESSAOUD 3ème Année Cycle d Ingénieur Géoinformation Année Universitaire 2010- Sommaire 1 Introduction L analyse géographique et la visualisation

Plus en détail

Read Me First: Guide to Sun HPC ClusterTools 3.1 Documentation

Read Me First: Guide to Sun HPC ClusterTools 3.1 Documentation Read Me First: Guide to Sun HPC ClusterTools 3.1 Documentation Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 USA 650 960-1300 Fax 650 969-9131 Part No. 806-3729-10 March 2000, Revision

Plus en détail

ShortestPath PlugIn for JUMP V 0.1

ShortestPath PlugIn for JUMP V 0.1 V 0.1 Abstract Michaël MICHAUD Copyright 2006 en. This article is about ShortestPath PlugIn for JUMP. It makes it possible to compute the shortest path between two nodes of a graph created from a linear

Plus en détail

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France Conférence IDC Gouvernance IT - Paris 6 Avril 2011 Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France 2011 IBM Corporation Quels sont les ingrédients

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

Application Form/ Formulaire de demande

Application Form/ Formulaire de demande Application Form/ Formulaire de demande Ecosystem Approaches to Health: Summer Workshop and Field school Approches écosystémiques de la santé: Atelier intensif et stage d été Please submit your application

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

Stakeholder Feedback Form January 2013 Recirculation

Stakeholder Feedback Form January 2013 Recirculation 071 Stakeholder Feedback Fm January 2013 Recirculation A. How to Submit Your Comments 1. 2. 3. EMAIL: submissions@collegeofpsychotherapists.on.ca OR FAX: (416) 874-4079 OR MAIL: Consultations Transitional

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

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

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

Equilibrage de charge (Load

Equilibrage de charge (Load Equilibrage de charge (Load balancing) dans les MPSoCs Présenté Le : 02 Décembre 2013 Par : A. AROUI Encadreur : A.E. BENYAMINA 01/12/2013 1 Problématique Comportement dynamique des applications et la

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

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

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

Qualité des données & Grosses bases de données

Qualité des données & Grosses bases de données Qualité des données & Grosses bases de données Aïcha Ben Salem, Faouzi Boufarès, Sebastiao Correia Université Paris 13, Sorbonne Paris Cité LIPN, CNRS, UMR 7030 24/06/2013 FVDM2013, 24-25 Juin 2013, Paris-

Plus en détail

The impacts of m-payment on financial services Novembre 2011

The impacts of m-payment on financial services Novembre 2011 The impacts of m-payment on financial services Novembre 2011 3rd largest European postal operator by turnover The most diversified European postal operator with 3 business lines 2010 Turnover Mail 52%

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

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016 CHECKLIST FOR APPLICATIONS Please read the following instructions carefully as we will not be able to deal with incomplete applications. Please check that you have included all items. You need to send

Plus en détail

Software Engineering and Middleware A Roadmap

Software Engineering and Middleware A Roadmap Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems

Plus en détail

Working with Kinect. Intelligence Ambiante. Tomás DÍAZ TRONCOSO Arturo GARCÍA TOVAR Daoud MAROUAN LMTIUI

Working with Kinect. Intelligence Ambiante. Tomás DÍAZ TRONCOSO Arturo GARCÍA TOVAR Daoud MAROUAN LMTIUI Working with Kinect Intelligence Ambiante Tomás DÍAZ TRONCOSO Arturo GARCÍA TOVAR Daoud MAROUAN LMTIUI Table des matières I.IntroducCon à la Kinect... 3 I. Kinect à la portée de tous... 4 II. CaractérisCques...

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

Analyse,, Conception Objet

Analyse,, Conception Objet Analyse,, Conception Objet Design Patterns Introduction Sommaire Conception Réutilisabilité Bibliothèque de classe vs. Framework Design Pattern Historique Catégories de Patterns Bibliographie O. Boissier,

Plus en détail

Mémoires 2011-2012. Euranova R&D. Objet du document. Contenu

Mémoires 2011-2012. Euranova R&D. Objet du document. Contenu Euranova R&D Euranova est une société Belge constituée depuis le 1er Septembre 2008. Sa vision est simple: «Être un incubateur technologique focalisé sur l utilisation pragmatique des connaissances». Les

Plus en détail

Présentation Alfresco

Présentation Alfresco Présentation d un CMS : Alfresco Présentation Alfresco Ludovic Plantin, Frédéric Sénèque, Xu Zhao Polytech Grenoble Décembre 2008 Plantin, Sénèque, Xu (Polytech) Présentation Alfresco Décembre 2008 1 /

Plus en détail

Installation de technologies Sur switch cisco 2950

Installation de technologies Sur switch cisco 2950 Installation de technologies Sur switch cisco 2950 Tanji slimane le 02/12/2005 Page 1 sur 26 Sommaire INTRODUCTION... 3 OBJECTIFS... 3 MATERIEL... 4 IOS... 4 CONFIGURATION DE LA CONNEXION HYPER TERMINAL...

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

Formalisation de bonnes pratiques dans les procédés de développement logiciels

Formalisation de bonnes pratiques dans les procédés de développement logiciels Formalisation de bonnes pratiques dans les procédés de développement logiciels Vincent Le Gloahec * Regis Fleurquin ** Salah Sadou *** * Alkante SAS, Rennes, France ** IRISA/Triskell, Campus Universitaire

Plus en détail

3615 SELFIE. http://graffitiresearchlab.fr HOW-TO / GUIDE D'UTILISATION

3615 SELFIE. http://graffitiresearchlab.fr HOW-TO / GUIDE D'UTILISATION 3615 SELFIE http://graffitiresearchlab.fr HOW-TO / GUIDE D'UTILISATION Hardware : Minitel Computer DIN FM545 45 connector (http://www.gotronic.fr/art-fiche-din-fm545-4747.htm) Cable Arduino compatible

Plus en détail

ROYAUME DE BELGIQUE / KINGDOM OF BELGIUM / KONINKRIJK BELGIE

ROYAUME DE BELGIQUE / KINGDOM OF BELGIUM / KONINKRIJK BELGIE 1 ROYAUME DE BELGIQUE / KINGDOM OF BELGIUM / KONINKRIJK BELGIE Service Public Fédéral Affaires Etrangères, Commerce extérieur et Coopération au Développement Federal Public Service Foreign Affairs, External

Plus en détail

La gestion bibliographique avec EndNote X4

La gestion bibliographique avec EndNote X4 La gestion bibliographique avec EndNote X4 David Fournier-Viger Conseiller en documentation Téléphone : (819) 762-0931 poste 1100 Bibliothèque Cégep-Université Abitibi-Témiscamingue Plan de l atelier Introduction

Plus en détail

Artificial Intelligence AI

Artificial Intelligence AI Pedagogical Introduction Artificial Intelligence AI Lecture 0 Karim Bouzoubaa This Lecture General Information Examples Importance At the end Intelligent Systems Course Content, Other AI courses, Learning

Plus en détail

Sécurité des systèmes d exploitation

Sécurité des systèmes d exploitation Sécurité des systèmes d exploitation Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Systèmes d exploitation Microsoft XP, Vista, 7, Unix/Linux MAC Conclusion Jean-Marc Robert, ETS Sécurité

Plus en détail

Must Today s Risk Be Tomorrow s Disaster? The Use of Knowledge in Disaster Risk Reduction

Must Today s Risk Be Tomorrow s Disaster? The Use of Knowledge in Disaster Risk Reduction Must Today s Risk Be Tomorrow s Disaster? The Use of Knowledge in Disaster Risk Reduction Website: https://dce.yorku.ca/crhn/ Submission information: 11th Annual Canadian Risk and Hazards Network Symposium

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

PHOTO ROYAUME DE BELGIQUE /KINDOM OF BELGIUM /KONINKRIJK BELGIE. Données personnelles / personal data

PHOTO ROYAUME DE BELGIQUE /KINDOM OF BELGIUM /KONINKRIJK BELGIE. Données personnelles / personal data 1 ROYAUME DE BELGIQUE /KINDOM OF BELGIUM /KONINKRIJK BELGIE Service Public Fédéral Affaires Etrangères, Commerce et Coopération au développement Federal Public Service Foreign Affairs, External Trade and

Plus en détail

INTRODUCTION AUX SGBD/R LUW

INTRODUCTION AUX SGBD/R LUW INTRODUCTION AUX SGBD/R LUW ( Introduction (Linux/Unix/Windows) à DB2 Connect Réunion du Guide DB2A le vendredi 2 octobre 2009 Croissy-Beaubourg (77) blaise.jm@free.fr AGENDA Venedim Architecture DRDA

Plus en détail

IHS Algorithmes : Algorithmes après la naissance de l ordinateur. IHS Algorithmes : Algorithmes après la naissance de l ordinateur

IHS Algorithmes : Algorithmes après la naissance de l ordinateur. IHS Algorithmes : Algorithmes après la naissance de l ordinateur IHS Algorithmes : Algorithmes après la naissance de l ordinateur 1 Le mot algorithme après 1946 1. Algorithme aujourd hui : suite finie de règles opératoires à appliquer dans un ordre déterminé à un nombre

Plus en détail

APPROCHE FORMELLE INTEGREE POUR LA SPECIFICATION DES ARCHITECTURES DYNAMIQUES ORIENTEES COMPOSANTS

APPROCHE FORMELLE INTEGREE POUR LA SPECIFICATION DES ARCHITECTURES DYNAMIQUES ORIENTEES COMPOSANTS APPROCHE FORMELLE INTEGREE POUR LA SPECIFICATION DES ARCHITECTURES DYNAMIQUES ORIENTEES COMPOSANTS Imen Loulou Etudiante doctorante, Faculté des Sciences Economiques et de Gestion de Sfax, Tunisie Imen.loulou@tunet.tn

Plus en détail

Change the game with smart innovation

Change the game with smart innovation Change the game with smart innovation Master Thesis 2013 2014 Faculty of Science engineering 12/08/2012 Master Thesis proposal for the academic year 2013. TABLE OF CONTENTS Section Un Introduction... 3

Plus en détail

F-7a-v3 1 / 5. 7. Bourses de mobilité / Mobility Fellowships Formulaire de demande de bourse / Fellowship Application Form

F-7a-v3 1 / 5. 7. Bourses de mobilité / Mobility Fellowships Formulaire de demande de bourse / Fellowship Application Form F-7a-v3 1 / 5 7. Bourses de mobilité / Mobility Fellowships Formulaire de demande de bourse / Fellowship Application Form Nom de famille du candidat Langue de correspondance Français Family name of participant

Plus en détail

Conseil, e-learning, internet, intranet. Georges CALDEIRA Directeur Technique. Marc VINCENT Directeur. Festival ICLEF (LIFE Fest)

Conseil, e-learning, internet, intranet. Georges CALDEIRA Directeur Technique. Marc VINCENT Directeur. Festival ICLEF (LIFE Fest) Conseil, e-learning, internet, intranet Anéma Partenaire de votre stratégie Web et e-learning Interopérabilité de contenus SCORM 2004 (simple sequencing) Démonstration avec 3 contenus et le LMS Ganesha

Plus en détail

Fiche d Inscription / Entry Form

Fiche d Inscription / Entry Form Fiche d Inscription / Entry Form (A renvoyer avant le 15 octobre 2014 Deadline octobrer 15th 2014) Film Institutionnel / Corporate Film Film Marketing Produit / Marketing Product film Film Communication

Plus en détail

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5 Modélisation de la performance et optimisation d un algorithme hydrodynamique de type Lagrange-Projection sur processeurs multi-cœurs T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet

Plus en détail

Programmation MacOSX / ios

Programmation MacOSX / ios Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunès@liafa.jussieu.fr deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à

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

Visualisation d information

Visualisation d information Master SIAD 1 année Visualisation d information Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Master SIAD 1 année Visualisation d information Chapitre 1.0 Introduction Quand voir, c est comprendre

Plus en détail

affichage en français Nom de l'employeur *: Lions Village of Greater Edmonton Society

affichage en français Nom de l'employeur *: Lions Village of Greater Edmonton Society LIONS VILLAGE of Greater Edmonton Society affichage en français Informations sur l'employeur Nom de l'employeur *: Lions Village of Greater Edmonton Society Secteur d'activité de l'employeur *: Développement

Plus en détail

Instrumentation de code Java

Instrumentation de code Java Instrumentation de code Java Mickaël Delahaye mickael.delahaye@etudiant.univ-rennes1.fr Étude bibliographique Master 2 Recherche Informatique 2007 Résumé Cette étude bibliographique présente un état de

Plus en détail

Multiple issuers. La cotation des actions ROBECO ci-dessous est suspendue sur EURONEXT PARIS dans les conditions suivantes :

Multiple issuers. La cotation des actions ROBECO ci-dessous est suspendue sur EURONEXT PARIS dans les conditions suivantes : CORPORATE EVENT NOTICE: Suspension de cotation Multiple issuers PLACE: Paris AVIS N : PAR_20141002_07393_EUR DATE: 02/10/2014 MARCHE: EURONEXT PARIS La cotation des fonds mentionnés ci-dessous sera suspendue

Plus en détail

MOOCs: une innovation de rupture?

MOOCs: une innovation de rupture? Congrès des milieux documentaires du Québec MOOCs: une innovation de rupture? Jean Talbot Professeur titulaire, Département des technologies de l information Directeur, Apprentissage et innovation pédagogique

Plus en détail

How to Login to Career Page

How to Login to Career Page How to Login to Career Page BASF Canada July 2013 To view this instruction manual in French, please scroll down to page 16 1 Job Postings How to Login/Create your Profile/Sign Up for Job Posting Notifications

Plus en détail

Projet ANR-06-SETI-015 RIMEL (Raffinement Incrémental de Modèles événementiels) Rapport intermédiaire annuel

Projet ANR-06-SETI-015 RIMEL (Raffinement Incrémental de Modèles événementiels) Rapport intermédiaire annuel Projet ANR-06-SETI-015 RIMEL (Raffinement Incrémental de Modèles événementiels) Rapport intermédiaire annuel Coordonnateur Dominique Méry LORIA,Université Henri Poincaré Nancy 1 Partenaire 3 Mohamed Mosbah

Plus en détail

Ré-ordonnancement adaptatif de messages dans un réseau ad hoc de véhicules

Ré-ordonnancement adaptatif de messages dans un réseau ad hoc de véhicules Ré-ordonnancement adaptatif de messages dans un réseau ad hoc de véhicules M. Shawky, K. Chaaban, P. Crubillé Heudiasyc UMR 6599 CNRS, Univ. Tech. De Compiègne 1 ADAS (Advanced Driving Aid System) Reactive

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

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com Fabrice GRELIER fabrice.grelier@fr.ibm.com RATIONAL en SCÈNE 2007 IBM Corporation Objectif

Plus en détail

APPENDIX A ERROR CODES

APPENDIX A ERROR CODES APPENDIX A ERROR CODES Please find below a listing of the Web error messages. New and revised messages are highlighted in yellow. The following messages have been deleted: 132, 142, 143, 146, 170, 171

Plus en détail

ALOHA LOAD BALANCER MISE EN ŒUVRE DU SSL FRONTEND

ALOHA LOAD BALANCER MISE EN ŒUVRE DU SSL FRONTEND ALOHA LOAD BALANCER MISE EN ŒUVRE DU SSL FRONTEND «APPNOTES» #0021 MISE EN ŒUVRE DU SSL FRONTEND Cette note applicative a pour vocation de vous aider à implémenter la gestion du SSL sur le frontend (connexion

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels Yann-Gaël Guéhéneuc Professeur adjoint guehene@iro.umontreal.ca, local 2345 Département d informatique et de recherche

Plus en détail

A provincial general election is underway. I am writing you to ask for your help to ensure that Ontarians who are homeless are able to participate.

A provincial general election is underway. I am writing you to ask for your help to ensure that Ontarians who are homeless are able to participate. Dear Administrator, A provincial general election is underway. I am writing you to ask for your help to ensure that Ontarians who are homeless are able to participate. Meeting the identification requirements

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

Vérification Formelle des Aspects de Cohérence d un Workflow net

Vérification Formelle des Aspects de Cohérence d un Workflow net Vérification Formelle des Aspects de Cohérence d un Workflow net Abdallah Missaoui Ecole Nationale d Ingénieurs de Tunis BP. 37 Le Belvédère, 1002 Tunis, Tunisia abdallah.missaoui@enit.rnu.tn Zohra Sbaï

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

SQL Parser XML Xquery : Approche de détection des injections SQL

SQL Parser XML Xquery : Approche de détection des injections SQL SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des

Plus en détail

Cours de Programmation Orientée Objet

Cours de Programmation Orientée Objet Contrat et application à la librairie standard JAVA mailto:marc.champesme@lipn.univ-paris13.fr 6 février 2011 1 Qu est ce qu une classe? Un exemple en JAVA Résumé Expression du contrat Par des commentaires

Plus en détail

Formation ESUP Portail Cours 4

Formation ESUP Portail Cours 4 Formation ESUP Portail Cours 4 http://www.esup-portail.org 1 Plan Prérequis Outils Normes Esup portail Canal uportal Publication d'un canal Web services 2 Prérequis Java Ant XML XSL/XSLT 3 Outils http://www.esup-portail.org/consortium/espace/normes_1c/tech/build/index.

Plus en détail

Travaux publics et Services gouvernementaux Canada. Title - Sujet Portes d'acier. Solicitation No. - N de l'invitation 21C31-153011/A

Travaux publics et Services gouvernementaux Canada. Title - Sujet Portes d'acier. Solicitation No. - N de l'invitation 21C31-153011/A Public Works and Government Services Canada Travaux publics et Services gouvernementaux Canada 1 1 RETURN BIDS TO: RETOURNER LES SOUMISSIONS À: Travaux publics et Services gouvernementaux Canada Place

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

JOnAS 5. Serveur d application d

JOnAS 5. Serveur d application d JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source

Plus en détail

Le moteur de workflow JBPM

Le moteur de workflow JBPM Le moteur de workflow Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/

Plus en détail

Le moteur de workflow JBPM

Le moteur de workflow JBPM Le moteur de Workflow Le moteur de workflow 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/

Plus en détail

ADS20140819CDN Technicien support niveau 3 Administrateur/Développeur Sharepoint Expert Lotus Notes Domino PROFIL

ADS20140819CDN Technicien support niveau 3 Administrateur/Développeur Sharepoint Expert Lotus Notes Domino PROFIL ADS20140819CDN Technicien support niveau 3 Administrateur/Développeur Sharepoint Expert Lotus Notes Domino PROFIL Notre expert supporte à l interne et chez les clients de NOVIPRO les outils Microsoft et

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