Première Ecole Web Intelligence

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

Download "Première Ecole Web Intelligence"

Transcription

1 Cluster Recherche Informatique, Systèmes, Logiciels Embarqués Projet Web Intelligence Première Ecole Web Intelligence du 7 au 11 juillet 2008 Autrans (Isère) Editeurs : M.-C. Fauvet & E. Gaussier

2

3 Préambule Ce document rassemble les supports des cours proposés dans le cadre de la première Ecole Web Intelligence, organisée à Autrans du 7 au 11 juillet L objectif de l école est d aborder les principales recherches effectuées en informatique, centrées sur le Web en tant qu objet d étude, afin d en donner aux participants une vision cohérente et actuelle. Chaque domaine est etudié tant en ce qui concerne sa problématique recherche, que ses aspects technologiques et applicatifs. Cette école s appuie sur l expertise des membres du projet Web Intelligence, et elle est soutenue par la region Rhône-Alpes dans le cadre du cluster recherche «Informatique, Signal, Logiciel Embarqués». Ce projet, fonctionnant sous la forme d un reseau d excellence au niveau régional, regroupe une centaine de chercheurs, d enseignants-chercheurs et de doctorants travaillant sur des thématiques de recherche, scientifique et technologique, dont le Web constitue le centre de gravité. Dans cette première édition, nous abordons les thèmes liés au Web sémantique, à la sécurité, aux standards, aux services, à la recherche d information, aux systèmes multi-agents, à la fouille de données et aux usages du Web, depuis leurs aspects technologiques jusqu à leurs aspects sociaux. Nous avons le plaisir d accueillir les intervenants suivants : Marie- Christine Rousset (pour le Web sémantique), Yassine Lakhnech (pour la sécurité), Vincent Quint (pour les standards), Marlon Dumas (pour les services), Ricardo Baeza-Yates (pour la recherche d information), Olivier Boissier et Marc-Philippe Huget (pour les systèmes multi-agents), Jean-Marc Petit et Pascal Poncelet (pour la fouille de données), Brigitte Trousse (pour les aspects technologiques des usages du Web) et Valérie Beaudouin (pour les aspects sociaux des usages du Web). Nous sommes également très heureux, pour cette première édition, d accueillir un public nombreux et très varié, qui rassemble des acteurs du monde académique et du monde industriel. Nous espérons que cette école sera l occasion d échanges fructueux entre tous les participants. Bonne semaine à tous! Marie-Christine Fauvet & Eric Gaussier Université Joseph Fourier, Grenoble Laboratoire d Informatique de Grenoble

4

5 Comité d organisation Co-présidents : Marie-Christine Fauvet & Eric Gaussier LIG / Université Joseph Fourier, Grenoble Membres : Olivier Boissier Sylvie Calabretto Damien Genthial Mathias Géry Mohand-Said Hacid François Jacquenet Christine Largeron Michel Occello Jean-Marc Petit Claudia Roncancio Ecole des Mines de St Etienne LIRIS / INSA de Lyon Université Pierre Mendès France, Grenoble Université Jean Monnet, Saint-Etienne Université Claude Bernard, Lyon Université Jean Monnet, Saint-Etienne Université Jean Monnet, Saint-Etienne Université Pierre Mendès France, Grenoble LIRIS / INSA de Lyon LIG / Grenoble INP

6

7 Table des matières 1 Web sémantique Marie-Christine Rousset Security Yassine Lakhnech Standards du web Vincent Quint Web and Services Marlon Dumas Web Information Retrieval Ricardo Baeza-Yates, Andrei Broder, Prabhakar Raghavan Agents et Web Olivier Boissier, Marc-Philippe Huget Fouille de données et Web Jean-Marc Petit, Pascal Poncelet Usages d internet : aspects sociaux Valérie Beaudouin

8

9 Chapitre 1 Web sémantique : modèles, langages et algorithmes Marie-Christine Rousset Université Joseph Fourier, Grenoble Laboratoire d Informatique de Grenoble Actes de l école Web Intelligence, page 1

10 Web sémantique #" $ %&'# ' $ ( ))*) ( +,)-,. /# ' $ ( 0 ( 0 **) ) 1** **)))) *$)' * ) ) * 2*! " #! ) %!555 $! 6 7* ) +9:* :2 7* 23) 78-9:;<=>:2! ) 7)* 2 $ ?)* 2 7?8-2 7?* %#&) * )1# )72$ 7* 28 7$2 Actes de l école Web Intelligence, page 2

11 Web sémantique XML: <H1>Knowledge Management</H1> <UL> <LI>Teacher: Rudi Studer <LI>Students: Master </UL> <course> <title>knowledge Management</title> <teacher>rudi Studer</teacher> <students>master</students> </course> Document XML = arbre étiqueté #$% $ <course date=... > <title>...</title> <teacher>...</teacher> <name>...</name> <http>...</http> <students>...</students> </course> %!"! 6#* $ < name ναµε > <εδυχατιον< εδυχατιον> education> <ωορκ< ωορκ> work> < CV Χς > <πριϖατε< πριϖατε> private> Actes de l école Web Intelligence, page 3

12 Web sémantique rdfs:domain rdfs:subclassof cooperate_with AcademicStaff rdfs:range rdfs:subclassof métadonnées Web Page instance of <swrc:phd_student rdf:id="sha"> <swrc:name>siegfried Handschuh</swrc:name> <swrc:cooperate_with rdf:resource = "http://www.aifb.unikarlsruhe.de/wbs/sst#sst"/>... </swrc:phd_student> PhD Student AssProf Cooperate_with <swrc:assprof rdf:id="sst"> <swrc:name>steffen Staab </swrc:name>... </swrc:assprof> & ' ( instance of URL ")) ( ) )*?) ( ** ' $ ( *$ +*) )*** ( * $ $ )$ *" 1*A )*, ( "*)$' ( "$ * 8 * (% )8 ( C) 8 (.$ *) )D E ( Actes de l école Web Intelligence, page 4

13 Web sémantique 3# ( " $* ) ( C ' ( ( 3$, D $)$)-%3 E F # ( G3 ) 3* ) ( " * DF"E*.4?.4 ( )-.4D3%HE I%J ( " I* ) ( DE' ( ) '**) $ ") ) $ D=E* ' * ) $ ) ) # ( =%. A ( K# # ( LG3)$A ( K#$ *)*,$$ "** ' )# ( ") )) ( K#$ ) $*)*,$$ "** ' '&)$)).&),",, L.* ).* ') Actes de l école Web Intelligence, page 5

14 Web sémantique 3.4# *)) D ")E ( &) * 1).4# )* ' " # ( *M *$$)) M )*,*$* 3 ) ( # $)$ ').4D).)* 48-E 3 ')" = ( #.4D E.4D)E ( 3+,6*').4 ).4.4*)")' &)")5 ( ")* ).45.4D).)* 48-E*$ ),)5 ( )*1 * ) )*D *) *E' "1)5.).4 *D)E $ N &)"*** '&) O ( ) " & * *' ).4 Actes de l école Web Intelligence, page 6

15 Web sémantique,*!*.4)* %**) # )4%4! "#"$%&' ( P "+QG3 Actes de l école Web Intelligence, page 7

16 Web sémantique 4%4 " Augment filtering by prioritizing mails from trusted colleagues Locate people with interests similar to yours Find an expert in knowledge communities Social network analysis Photo co-depiction P "+QG3 %*4%4 rdf:type foaf:name foaf:mbox P "+QG3 %*,4%4 rdf:type rdf:type foaf:name foaf:knows foaf:name foaf:mbox foaf:mbox P "+QG3 Actes de l école Web Intelligence, page 8

17 Web sémantique.4)d.4e 3$ )5 ' ).4*1 )' ).4D E5 **5 "' ** D E +*))*** DE5,*.4.4 ).4 * 5 ) *)3*R5 *1$.45,*# ( N )!*O )N!*O5 ( $ ) 5 ( $ ) 5.)*.4.4 ))5 )**5 ))5 ),5 *') )D ) )E5 *') ' *)5 *') ' * **5 *)$ ' 3* ) )*" **S)& *&3* R5 *)$))*" **S )"' ** *&3*R5 Actes de l école Web Intelligence, page 9

18 Web sémantique,* * *',* +,6 Actes de l école Web Intelligence, page 10

19 Web sémantique ).4 6 ) 6 ' ) * $#.45 7/," 9:;5T: ) 9:4U:/2 7$#.4, #$9:*#??88858=5?;<<<?TV?VV$+, W:, #.9:*#??8885 *5$? $ W:2 7$#.)* $#9:*#??8885 *5$?*?"5:2 7.#**2.". 7?.#**2 7?$#.)* 2 7?$#.42 * +,6' ).4* ).4' ) '*'* )5 ).46. " 4"D*#?? )5?E*$ )* 5 )* ' ) '*#?? )5?)?)?5 <?xml version="1.0" encoding="utf-8"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" > <rdf:description rdf:about="http://www.inapg.fr/omip/david.htm"> <dc:title>la page personnelle de David Doussot</dc:title> <dc:creator>david Doussot</dc:creator> <dc:language>fr</dc:language> <dcterms:created> </dcterms:created> </rdf:description> </rdf:rdf> Actes de l école Web Intelligence, page 11

20 Web sémantique!*.4") X ) $&) ( 3*+D)"E.4!*D!*) )*E $.4 4 )* 1?)$ '()* () +(,) -.(,/)!0(/1"1) Actes de l école Web Intelligence, page 12

21 Web sémantique!*) )* * $*D*E ( ) )*# ( # ( **' *) )**$ # 0 +*) )* 0 # ( * ' *) )** $ 0 ) & ) ' $ ) " $, % # ( * * *D*&) E 3**&)!G,*) )* $ ΦD!EΦDGE$!G ΦDE$ ** ΦDEΦD!E 9ΦDGE, *&) G! L**) )* )*!*#$ 5 "' )%$)RYJZ;<<V ) 4 $* &) + 8F $,* )%$) )R[;<<Z * ) ) ")* 5 "' )%$)R;TJ;;<<Y 3"!** )*!*4 " 53) $ * $ ) %$) )% '<U J!*#%!* I 8 * 84 ) 5!3) $I'<UD3 )* $I 8 * E +F ;<<U Actes de l école Web Intelligence, page 13

22 Web sémantique 1.4 L* 3%H# *M +, * D.4* E Actes de l école Web Intelligence, page 14

23 Web sémantique $#**" ) " 3%H #,* Actes de l école Web Intelligence, page 15

24 Web sémantique ")$#,* H " 3 * / ( )-*.4 L. ( "H.$$ *# (,1) * 1 D) 6*HE ( 3 )*$$)) '" 1 $ 3*+$ 0.4 *)' ) ( ) 0 ** 1*66H+.4#**" ',* (3 0 **,*\) '*&6] ( 3) ', )?) 0 **,*\* ]\*,) V* ] (3& ) 0 **,*\ "! ] Actes de l école Web Intelligence, page 16

25 Web sémantique # +, ( )* (,", * ) 0 $ #$ ) * ") 0 % ") **$ )*, 0.+ * D%3E ) ) ) $ ) # ( ** D55\$ ] \$]E ( **) ) D55\] \8]E 0 +* 6)*" 1 )**) ) ) ) )*" 1 ( 3 ) ( )5.)) ) *" 1 ) Actes de l école Web Intelligence, page 17

26 Web sémantique ' * * )) )** ' * ) K*, ) *,,* ) )*#.$ * )*,) )* $4 D; VED6E ;D6E VD6E D; VED6E ;D6E VD6E D$ ED6E ^DD6^E D^EE D,ED6E ^DD6^E D^EE D ED6E ^;A^ DD6^; E A D6^ E _&? &`^ ^& D ED6E ^;A^ a; DDD6^; E A D6^ a; E _&? &`^9^& Actes de l école Web Intelligence, page 18

27 Web sémantique 3 )*,*' $ ) * ( V,* ) )* ( V,* ) )* ) $,# b9; V/ '** )' ) )* ( C ) )* ), %,%D $$%DE3D)EE %b9de/ J,) )*, $ ) ) ), ( % +)*, $ ), $ ) %,D)*,+E,5 H)*, + + %JD $E 3 %D $,E J3)* %JD $,E J3)* %Ja) &) K )J3 %D $ E 3*))* %J 3*))* $. ) ) )) * )*,*+ K ( * ) )' ) ( 1) & )" 1) & )") )* $ D,E# ( J"* ( 3*$$) 0 1!L.#' $' ) 0 ) )' ) )* %**)*)*+ ). ( ")* D E*)) * '" 1 L. * 0 )#) )' * *!3%D )3E Actes de l école Web Intelligence, page 19

28 Web sémantique ) ),.. ) # ',' ) L c L,* ) )*) )*%K 3$ L %b 3b3 Lb L. #. ) a, ) K c$. 4 #. ) a,$ ) é#d$ )E,*". ** )*) ) ( %#%; %V (.& ) #%; %V ( +*# 0 3 %;D*3+**%;E 0 3 %VD) 3+**%VE ( 3* # 0 % 3 % 3 % 3 % 3 ( ) $ ) * DKE * ").4. 4 ),*" ) )) K, )., *.4 %&& ) ) **éé %&**éé * ) Actes de l école Web Intelligence, page 20

29 Web sémantique,* 3$ ) G ) G 3$ 3$ G ). D$ )GE. 4 1 D E1) & )") )* K TD,E )D,+E GD+QE %))))* ;D,E )D,+E D+E VD,E )D,+E GDQ'+E =D,E )D,+'E ZD,E 3$D,E [D,E GD,E % DT %E9 % D%E " # * D$M 1*) ' ***.)* ) )' )D 1E)J3 )*, *, $. ) #. 4 5% %** *), ) 5% % ** 1 ) )* *), ) Actes de l école Web Intelligence, page 21

30 Web sémantique $ ) H+ $ ) ))* 5%5"+%5& F55 3) $ 5 $ ) R+.DR.L<YE $ ) R8F5 3).'<> ) ) 5%5G"+ ) L%$) )5F)- -I8 3VTTT5 H+ $. +5 %5"+54 3) 3.VTTT *,+$% 8 H Q R85%5.)-3) 3.;<<U +$% 8 H R8%5G"+3) $!.VTTT $ % J % $ $ # 3 +45!R5 55 F $ *" +R<J ZDVTTTE ) #) $ 8 "8553 %5G"+R.LF R;T DV=EVTT;5 H+8 % 8. +% ) $ F% VTT=.5"!5.!).55 Q 5.#).)* ) $ 3) $%%% VTT[5.5"!5.!).55 Q 5.*,+$ H+% 8.)* )3) $ IVTTY SomeWhere: une infrastructure pair à pair pour interroger des ontologies distribuées à grande échelle * $,!*** ( * 0 & ) ** ) ) *') 0 3 ** ** Actes de l école Web Intelligence, page 22

31 Web sémantique $ *$ ** ) ( *$ ** 1 (..4 ')*d F% T[e ( *N* O Modèle de données: exemple P1 P2 )-3* 4 Mf** )-"-+ "J f" fj f4 M f f)-"-+ ))-"-+ )-"-+) ) 3*f)-) f ) f) Calcul des réponses par récriture: illustration P1 P2 )-3* 4 Mf** )-"-+ f4 M f f)-"-+ )-3*3*f)- ))-"-+ 4 )-"-+) "# "2# 3 ")- "/ "# "J f" fj 3*/ )-/! ) 3*f)-) f3*f)- f ) f) ")- f3*f)- )-3*3*f)- Actes de l école Web Intelligence, page 23

32 Web sémantique )1 *))) ) ) ** ( ** )*) ( 56' ) H' )** %) )* ( =+*#N +ON 8 ON O 3* ( )) ( )* ( D+)**,)+)E Déploiement de SomeWhere N machines 1 pair par machine 1 machine N pairs N machines K pairs par machine Actes de l école Web Intelligence, page 24

33 Web sémantique Zoom sur une machine 100 % JAVA 1.5 somewhere.jar ~ 250 Ko Gérer les inconsistances Comment les définir? insatisfiabilité => dérivation de la clause vide classes vides => dérivation de clauses unitaires négatives A B A B A A there exists A such that A is empty in every model: S = A B B Comment/quand les détecter? à chaque arrivée d un nouveau pair Comment les gérer? Raisonnement en présence d inconsistances illustration P AIPubli BDPubli AIPubli m0 Theory via m1: Article AIPubli est une sousclasse de P2 Conf. Theory via m0 Expe -> m2: AIPublic iest une sous-classe de Journal Conf m1 Conf et Journal sont Theory Journal disjointes, et donc AIPUbli est m2 nécessairement vide Publi P3 Conf >--< Journal Les inconsistances sont causées par les mappings. Actes de l école Web Intelligence, page 25

34 Web sémantique détection d inconsistances en P2P AIPubli v 2005 BDPubli v 2005 AIPubli v Theory Theory v Article Expe v Article 2005 v Conf m1 Conf v Publi Journal v Publi Journal v Conf Propagation of m1: { AIPubli v Conf; AIPubli v Publi; AIPubli v Journal; BDPubli v Conf; BDPubli v Publi; BDPubli v Journal }. Pas de clauses unit produite pas d inconsistance Theory v Journal m2 Propagation of m2: { Theory v Journal; AIPubli v Journal;..; AIPubli ; ; AIPubli v Conf}. Production d une clause unit {m1,m2} : NoGood stocké dans P3 Stockage distribué des NoGoods { } { } { M* M* 1 2 } M* n $ 3V3d% TYe 3 )*# ( C" ) )D E) ) * ' * N $ O# ) $ %# ( 3)* 0 ' ** ** ' J! * ) 0 **** ** ) J! ( "+* + "** ** Actes de l école Web Intelligence, page 26

35 Web sémantique.4# (un fragment de) RDFS distribué connecté par des mappings écrits en RDFS Q(X,Y): P2.Work(X) P2.refersTo(X,Y) ))1.4 DF $. )RUE 3* ).41# ** " C 1 dom C 2 dom C 1 range C 2 range P 1 rel P 2 rel P rel C dom P rel C range ) ' ) ) & *)5 Q(X,Y): P2.Work(X) P2.refersTo(X,Y) illustration P2.Work dom SomeWhere rewriting P2.Work range SomeWhere rewriting P2.refersTo rel SomeWhere rewriting P2.Painting dom P1.Paints rel P1.belongsTo rel P2.Painting(X) P1.Paints(Z,X) P1.belongsTo(X,Y) R1(X,Y): P2.Painting(X) P1.belongsTo(X,Y) Actes de l école Web Intelligence, page 27

36 Web sémantique illustration Q(X,Y): P2.Work(X) P2.refersTo(X,Y) P2.Work dom SomeWhere rewriting P2.Work range SomeWhere rewriting P2.refersTo rel SomeWhere rewriting P2.Painting dom P1.Paints rel P1.belongsTo rel P2.Painting(X) P1.Paints(Z,X) P1.belongsTo(X,Y) R2(X,Y): P1.Paints(Z,X) P1.belongsTo(X,Y) " ) ) $ ),3V3 d% TUe ( %**)+.)")* N $+O *$ ( L)* $ ) *$.)"** ( %**)N! O* ' ** ) 0 ( R$) ** ) 0 3$ ),) )-) )* )* $ ) 3 %gg%# $)$ ) 8**) 5%5G"+g5 " 5 "35-53) $ VTT= ) $ ) 5553) $ VTTZ %*)$. 55$ %5L%5 53) $ F% VTT[5.%!#. %))$ ) 55$ %5 53) $ VTT[ ) $ $** 5.5"!5.!)5 Q 53) $ 3. VTTZ % 8 "8#I.L**)"545!5%F ) ) RZJ =VTTZ5. 33 #%**) ) 535%& 35)45!5 5 5F% RV[VTTY )++$**) ) $ 535%& 35)45!55 53) $ F% VTT[ 8 ) ) ** 3V3 $ ) +5!GJ+ 35)53) $ % VTTY.4 ) 535%& 45!55F $. )RUVTT> %3) $3V3 ) +5!GJ+ 35)53) $ % VTTU5 Actes de l école Web Intelligence, page 28

37 Chapitre 2 Security - Formal methods and Provable security Yassine Lakhnech Université Joseph Fourier, Grenoble Laboratoire VERIMAG Actes de l école Web Intelligence, page 29

38 Security Outline Introduction Symbolic verification of security protocols Passive Attacks Active Attacks Extended Dolev-Yao model Justification of the Symbolic Model Conclusion Outline Introduction Symbolic verification of security protocols Passive Attacks Active Attacks Extended Dolev-Yao model Justification of the Symbolic Model Conclusion Goals of Security Confidentiality: keep information from all but authorized to have it Date Integrity: prevent unauthorized alteration of data Privacy: protect identity Authentication: prevent impersonation, guarantee origine of a message Non-repudation: prevent an entity from denying previous actions or commitments Obfuscation: software obfuscation - prevent reverse engineering/understanding of the program Information hiding and Watermarking: prevent intellectual property theft Tamper-proofing: prevent program execution alteration Actes de l école Web Intelligence, page 30

39 Security Cryptographic Primitives and Protocols 1. Protocols are central in achieving security in a distributed setting 2. Primtives: Encryption Hash Functions (MD5, SHA-1) Message Authentication codes (MAC) Digital Signature 3. Hard problems: Discrete Logarithm, Diffie-Hellman, RSA,... Security Protocols are rules for exchanging messages ensure secure communication on an open network in the presence of adversaries applications: ATM, e-commerce, electronic vote or contract signing, etc. properties: Confidentiality: only authorized parties have access to information Authenticity: identity claims (user, message) Anonymity, Non-repudiation, Fairness Example: Needham-Schroeder Protocol 1978 {A,N A } KB Actes de l école Web Intelligence, page 31

40 Security Example: Needham-Schroeder Protocol 1978 {A,N A } KB {N A,N B } KA Example: Needham-Schroeder Protocol 1978 {A,N A } KB {N A,N B } KA {N B } KB Example: Needham-Schroeder Protocol 1978 {A,N A } KB {N A,N B } KA Question {N B } KB Is N B a shared secret between A et B? Actes de l école Web Intelligence, page 32

41 Security Example: Needham-Schroeder Protocol 1978 {A,N A } KB {N A,N B } KA {N B } KB Question Is N B a shared secret between A et B? But what does mean secret? What is a ( good ) encryption scheme? Example: Needham-Schroeder Protocol 1978 {A,N A } KB {N A,N B } KA {N B } KB Question Is N B a shared secret between A et B? But what does mean secret? What is a ( good ) encryption scheme? Let us first take an optimistic view: Secrecy is broken, if an adversary can compute N B. Encryption is perfect: no information about the plaintext leaks. Lowe Attack on the Needham-Schroeder so-called Man in the middle attack Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b } KA A B : {N b } KB Actes de l école Web Intelligence, page 33

42 Security Lowe Attack on the Needham-Schroeder so-called Man in the middle attack {A,N a } KI Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b } KA A B : {N b } KB Lowe Attack on the Needham-Schroeder so-called Man in the middle attack {A,N a } KI {A,N a } KB Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b } KA A B : {N b } KB Lowe Attack on the Needham-Schroeder so-called Man in the middle attack {A,N a } KI {A,N a } KB {N a,n b } KA Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b } KA A B : {N b } KB Actes de l école Web Intelligence, page 34

43 Security Lowe Attack on the Needham-Schroeder so-called Man in the middle attack {A,N a } KI {N a,n b } KA {A,N a } KB {N a,n b } KA Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b } KA A B : {N b } KB Lowe Attack on the Needham-Schroeder so-called Man in the middle attack {A,N a } KI {N a,n b } KA {A,N a } KB {N a,n b } KA {N b } KI Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b } KA A B : {N b } KB Lowe Attack on the Needham-Schroeder so-called Man in the middle attack {A,N a } KI {N a,n b } KA {A,N a } KB {N a,n b } KA {N b } KI {N b } KB Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b } KA A B : {N b } KB Actes de l école Web Intelligence, page 35

44 Security Needham-Schroeder corrected by Lowe 1995 {A,N A } KB Needham-Schroeder corrected by Lowe 1995 {A,N A } KB {N A,N B,B} KA Needham-Schroeder corrected by Lowe 1995 {A,N A } KB {N A,N B,B} KA {N B } KB Actes de l école Web Intelligence, page 36

45 Security Needham-Schroeder corrected by Lowe 1995 {A,N A } KB {N A,N B,B} KA {N B } KB Question Is this protocol secure? Needham-Schroeder corrected by Lowe 1995 {A,N A } KB {N A,N B,B} KA {N B } KB Question Is this protocol secure? Answer There is a type flaw attack. Type Flaw Attack on the Needham-Schroeder-Lowe Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b,b} KA A B : {N b } KB Actes de l école Web Intelligence, page 37

46 Security Type Flaw Attack on the Needham-Schroeder-Lowe {A,I } KB Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b,b} KA A B : {N b } KB Type Flaw Attack on the Needham-Schroeder-Lowe {A,I } KB {I,N b,b} KA Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b,b} KA A B : {N b } KB Type Flaw Attack on the Needham-Schroeder-Lowe {I,(N b,b)} KA {A,I } KB {I,N b,b} KA Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b,b} KA A B : {N b } KB Actes de l école Web Intelligence, page 38

47 Security Type Flaw Attack on the Needham-Schroeder-Lowe {I,(N b,b)} KA {(N b,b),n a,a} KI {A,I } KB {I,N b,b} KA Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b,b} KA A B : {N b } KB Type Flaw Attack on the Needham-Schroeder-Lowe {I,(N b,b)} KA {(N b,b),n a,a} KI {A,I } KB {I,N b,b} KA {N b } KB Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b,b} KA A B : {N b } KB Type Flaw Attack on the Needham-Schroeder-Lowe {I,(N b,b)} KA {(N b,b),n a,a} KI {N a } KA {A,I } KB {I,N b,b} KA {N b } KB Agent A Intruder I Agent B A B : {A,N a } KB B A : {N a,n b,b} KA A B : {N b } KB Actes de l école Web Intelligence, page 39

48 Security Corrected Needham-Schroeder-Lowe Protocol A B : {A,N a } KB B A : {B,N a,n b } KA A B : {N b } KB Corrected Needham-Schroeder-Lowe Protocol A B : {A,N a } KB B A : {B,N a,n b } KA A B : {N b } KB Let us relax now the perfect encryption hypothesis : Instead of Encryption is perfect: no information about the plaintext leaks we assume: It is computationally not feasable to compute the plaintext. The Boyd-González Nieto Conference protocol Goal: Establish a key shared among U 1,,U n. Properties: Semantic secrecy of the session key and authentication. Session key: H(N 1 N n ) U 1 : (U 1,,U n ),Sig 1 ((U 1,,U n ), {N 1 } e2,, {N 1 } en ) U 1 : {N 1 } e2,, {N 1 } en U i U 1 : U i,n i i = 2,n The protocol was published with a security proof but there is an attack: Actes de l école Web Intelligence, page 40

49 Security An attack on the Boyd et al. Conference Protocol 1. The adversary A intercepts the first two messages: U 1 : (U 1,,U n ),Sig 1 ((U 1,,U n ), {N 1 } e2,, {N 1 } en ) U 1 : {N 1 } e2,, {N 1 } en 2. A starts a session (A,U 2,,U n ): A : (A,U 2,,U n ), A : Sig A ((A,U 2,,U n ), {N 1 } e2,, {N 1 } en ) A : {N 1 } e2,, {N 1 } en 3. Forwards U i,n i (i = 2,n) to U U 1 believes to share H(N 1 N n ) with U 2,,U n and the others believe to share the same key with A,U 2,,U n. Modern Cryptology 1949: Shannon proves that unconditional security is inefficient. Modern Cryptology 1949: Shannon proves that unconditional security is inefficient. 1976: Unsatisfied with symmetric cryptography, Diffie and Hellmann found public-key cryptography. They figure out an essential type of primitive: one-way functions. Actes de l école Web Intelligence, page 41

50 Security Modern Cryptology 1949: Shannon proves that unconditional security is inefficient. 1976: Unsatisfied with symmetric cryptography, Diffie and Hellmann found public-key cryptography. They figure out an essential type of primitive: one-way functions. First, links between complexity theory and security The complexity-theoretic approach: semantics The adversary is a poly-time Turing machine that: 1. has access to a Send(M, A i ) that defines the protocol behaviour 2. controls the network; drives communication and execution 3. has access to oracle that model corruption and leak of information. Data are bitstrings. The Cryptographic primitives are randomized poly-time Turing machines whose security is defined with respect to complexity-theoretic assumptions. Properties Defined as Rondomized Games. Key authentication: the session key is indistinguishable from a random key Authentication: a principal that accepts a session key is assured to have a partner Actes de l école Web Intelligence, page 42

51 Security Complexity-theoretic security proofs By reduction to the security of the cryptographic primitives or to a problem that is believed hard. 1. Fix A problem P that is believed to be hard: there is no randomized Turing machine that solves P with non-negligible advantage. Complexity-theoretic security proofs By reduction to the security of the cryptographic primitives or to a problem that is believed hard. 1. Fix A problem P that is believed to be hard: there is no randomized Turing machine that solves P with non-negligible advantage. 2. Let A an adversary that breaks the protocol Π then A can be used to break P: Given an adversary A against Π and ϕ, construct an adversary B against P and that uses A as a sub-routine such that 2.1 B is poly-time 2.2 Adv A,Π,ϕ(η) Adv B,P(η) The complexity-theoretic approach: conclusions 1. Detailed and realistic models. 2. Strong security garantees. But Proof automation hard to achieve! Flawed proofs are not seldom! Actes de l école Web Intelligence, page 43

52 Security Discussion Cryptographers develop proofs in the complexity-theoretic (computational) model. Many flawed security proofs in the literature: Asiacrypt 05: Jackobson-Pointcheval 01, Wong-Chan 01, Abdalla-Pointcheval 05, Bellare-Canetti-Krawczyck 98 Adhoc definitions of properties. Proofs are adhoc. Many models that depend on the properties, cryptographic primitives, strength of the adversary, etc... Can Formal Methods offer something? The symbolic approach for security protocols Formal verification of asymmetric encryption Outline Introduction Symbolic verification of security protocols Passive Attacks Active Attacks Extended Dolev-Yao model Justification of the Symbolic Model Conclusion The Dolev-Yao model In 1983 Dolev and Yao proposed the following: replace bit-strings by terms in a free algebra assume that freshness is perfect assume that no secret key can be guessed take a single fixed process as model for adversaries which is even less powerful than Turing machines Actes de l école Web Intelligence, page 44

53 Security Terms and Messages Terms: t ::= x n P key t 1,t 2 {t} key x is a message variable n is a nonce and P is a principal. Dolev-Yao Deduction System Deduction System : E? s The adversary s knowledge: a set E of messages. The adversary s computation power: m E E m 1, E m 2 E m E (m 1,m 2 ) E m, E k K E (m 1,m 2 ) E {m} k E (m 1,m 2 ) E m 2 E m 1 E {m} k, E k 1 E m Example: E? s Example E = {k, {b} c, a, {c} k } and s = b Actes de l école Web Intelligence, page 45

54 Security Example: E? s Example E = {k, {b} c, a, {c} k } and s = b a, {c} k E E a, {c} k {b} c E E {c} k E {b} c E c E b k E E k Actions and protocol description Actions: α ::=?R( x)!s Example?R( x) - input, x V instantiated by the action.!t - output A(N a ):!{A,N a } KB ;?{N a,x} KA!{x} KB B(N b ):?{y,z} KB {z,n b } Ky ;?{N n } KB!ok. Actions and protocol description Actions: α ::=?R( x)!s?r( x) - input, x V instantiated by the action.!t - output A protocol description: Example A(N a ):!{A,N a } KB ;?{N a,x} KA!{x} KB k i=1 P i(n 1,,n mi ) : α i 1 αi k i B(N b ):?{y,z} KB {z,n b } Ky ;?{N n } KB!ok. Actes de l école Web Intelligence, page 46

55 Security Semantics of actions Configuration: (σ, E) σ - a substitution E - a set of ground terms - the exchanged messages Operational semantics -?R( x): (σ, E) (σ ρ, E), if Eσ R(σ ρ) -!S: (σ, E) (σ, E {Sσ}) Secrecy Property A secret is given by a term t. A protocol run preseverves the secret t, if it does not reach a configuration (σ,e) with Eσ tσ. A protocol preserves a secret, if all its runs do so. Can we decide whether a protocol preserves a secret? 1. Passive adversary 2. Active adversary Decidability of Theorem E? s is decidable in polynomial-time. 1. Two types of rules: Analysis: m E E m E (m 1, m 2 ) E m 1 E (m 1, m 2 ) E m 2 E {m} k, E k 1 E m Synthesis rules: E m1, E m 2 E (m 1, m 2 ) E m, E k K E {m} k 2. If E s then there is a derivation of s from E with first analysis and then synthesis. Such a proof only uses subterms of E,s. Hence, we can check E s while visiting each subterm onces. Further reading McAllester s Theorem and the notion of locality. Actes de l école Web Intelligence, page 47

56 Security Bounded sessions A session S(A,B) of the protocol: k i=1 P i(n 1,,n mi ) : α i 1 αi k i A finite number of sessions in parallel+ initial knowledge of the adversary E 0. This is an inifinite state system. An attack against secrecy of t: A substitution σ An interleaving?r 1!S 1,,?R n!s n such For every i n, E 0,S 1 σ,,s i 1 R i σ E 0,S 1 σ,,s n tσ Written as a constraint: E 0 R 1 E 0,S 1,,S i 1 R i E 0,S 1,,S n t Decidability If there is substitution σ that satisfies E 0 R 1 E 0,S 1,,S i 1 R i E 0,S 1,,S n t then there is such substitution σ such that σ(x) = tσ, where t is a subterm of the E 0,R 1,,R n,s 1,,S n and t is not a variable. Hence, the size of σ, number of different subterms, is polynomially bounded by the size of the protocol. Checking whether a substitution solves the constraints is polynomial. One has to guess an interleaving and a substitution. Undecidability Definition (Post Correspondance Problem (PCP)) Let Σ be a finite alphabet. Input : Sequence of pairs u i,v i 1 i n u i,v i Σ, n N Question : Existence of k,i 1,...,i k N such that u i1...u ik = v i1...v ik? Actes de l école Web Intelligence, page 48

57 Security Undecidability Definition (Post Correspondance Problem (PCP)) Let Σ be a finite alphabet. Input : Sequence of pairs u i,v i 1 i n u i,v i Σ, n N Question : Existence of k,i 1,...,i k N such that u i1...u ik = v i1...v ik? Example u 1 u 2 u 3 u 4 v 1 v 2 v 3 v 4 aba bbb aab bb a aaa abab babba Solution: 1431 u 1 u 4 u 3 u 1 = aba bb aab aba = a babba abab a = v 1 v 4 v 3 v 1 But no solution for u 1,v 1, u 2,v 2, u 3,v 3 Undecidability Definition (Post Correspondance Problem (PCP)) Let Σ be a finite alphabet. Input : Sequence of pairs u i,v i 1 i n u i,v i Σ, n N Question : Existence of k,i 1,...,i k N such that u i1...u ik = v i1...v ik? Example u 1 u 2 u 3 u 4 v 1 v 2 v 3 v 4 aba bbb aab bb a aaa abab babba Solution: 1431 u 1 u 4 u 3 u 1 = aba bb aab aba = a babba abab a = v 1 v 4 v 3 v 1 But no solution for u 1,v 1, u 2,v 2, u 3,v 3 PCP is undecidable Undecidability for Protocols We construct a protocol such that decidability of secret implies decidability of PCP. A i :!{ u i,v i } Kab ) (1 i n) B i :?{ x,y } Kab! { x u i,y v i } Kab (1 i n) T :?{ x,x } s We assume that K AB is a shared key between A and B. Intruder can find s iff he can solve PCP. Actes de l école Web Intelligence, page 49

58 Security Decidability results for secrecy nb. of sessions nonce size of mess. secrecy bounded bounded bounded decidable bounded bounded unbounded NP-complete unbounded bounded bounded DEXPTIME unbounded bounded unbounded undecidable unbounded unbounded bounded undecidable [A.W. Roscoe 95, S. Schneider 96, J.C. Mitchell, M. Mitchell and U. Stern 97,Clarke, jha & Morrero 98] [Rusinowich&Turuani 01,Boreale 01, Amadio, Lugiez and Vanackère 01, Huima 99] [Durgin, Lincoln, Mitchell and Scederov 99] [Amdio, Lugiez and Vanackère 01, Comon, Cortier and Mitchell 01] Partial Decision Methods All these methods are based on fixpoint computation: D. Monniaux 99, J. Goubault-Larecq 00 Tree Automate for representing the intruder knowledge, forward analysis. B. Blanchet 01 Without nonces. Backward analysis, abstraction of Prolog programs. Cortier, Mitchell, Ruess 01 Backward, termination not garanteed. Bozga, Lakhnech, Perin 03 symbolic fixpoint computation, termination guaranteed (widening and approximation). Our Contributions Bounded number of sessions: NP-complete decision procedure secrecy, authentication (aliveness, weak agreement, agreement) and other prop. time sensitive cryptographic protocols unbounded initial intruder knowledge unbounded size of messages, but atomic keys Bozga, Ene and Lakhnech FOSSACS 04, CONCUR 04 and JLAP Unbounded number of sessions: Partial decision method partial decision method, combining the decision procedure above and abstract interpretation techniques combining the approach for bounded with abstract interpretation techniques unbounded initial intruder knowledge secrecy properties unbounded size of messages, but atomic keys Bozga, Lakhnech and Perin TACAS 03, CAV 03 and STTT Actes de l école Web Intelligence, page 50

59 Security Some practical results Yahalom OK Needham-Schroeder Public Key Attack 0.04 Needham-Schroeder Public Key (with key server) Attack 0.90 Needham-Schroeder-Lowe OK 0.03 Otway-Rees OK 0.01 Kao-Chow 1 OK 0.79 Kao-Chow 2 OK Neumann-Stubblebine OK 0.04 Needham-Schroeder Symmetric Key Don t know 0.08 TMN Attack 2.78 TMN-Lowe Attack 3.04 Denning-Sacco Don t know 0.04 ISO Symmetric Key One-Pass Unilateral Auth. OK 0.01 ISO Symmetric Key Two-Pass Unilateral Auth. OK 0.01 ISO Symmetric Key Two-Pass Mutual Auth. OK 0.01 Andrew Secure RPC OK 0.02 Not discussed Spi-Calculus and behavioral equivalence based methods: C. Fournet, Abadi, Rogaway,... Typing-based methods: Gordon,... Deduction based methods: L. Paulson. C. Meadows, J. Millen,... Example : Goal: Communicate securely withou any advance exchange of keys Actes de l école Web Intelligence, page 51

60 Security Example : Goal: Communicate securely withou any advance exchange of keys Example : Goal: Communicate securely withou any advance exchange of keys Example : Goal: Communicate securely withou any advance exchange of keys Shamir 3-Pass Protocol 1 A B : {m} KA Actes de l école Web Intelligence, page 52

61 Security Example : Goal: Communicate securely withou any advance exchange of keys Shamir 3-Pass Protocol 1 A B : {m} KA 2 B A : {{m} KA } KB Example : Goal: Communicate securely withou any advance exchange of keys Shamir 3-Pass Protocol 1 A B : {m} KA Commutative 2 B A : {{m} KA } KB = {{m} KB } KA Encryption Example : Goal: Communicate securely withou any advance exchange of keys Shamir 3-Pass Protocol 1 A B : {m} KA Commutative 2 B A : {{m} KA } KB = {{m} KB } KA Encryption 3 A B : {m} KB Actes de l école Web Intelligence, page 53

62 Security Logical Attack on Shamir 3-Pass Protocol (I) Perfect encryption one-time pad (Vernam Encryption) {m} k = m k XOR Properties (ACUN) (x y) z = x (y z) x y = y x x 0 = x x x = 0 Associativity Commutativity Unity Nilpotency Logical Attack on Shamir 3-Pass Protocol (I) Perfect encryption one-time pad (Vernam Encryption) {m} k = m k XOR Properties (ACUN) (x y) z = x (y z) x y = y x x 0 = x x x = 0 Associativity Commutativity Unity Nilpotency Vernam encryption is a commutative encryption : {{m} KA } KI = (m K A ) K I = (m K I ) K A = {{m} KI } KA Logical Attack on Shamir 3-Pass Protocol (II) Perfect encryption one-time pad (Vernam Encryption) {m} k = m k Shamir 3-Pass Protocol Passive attacker : 1 A B : m K A 2 B A : (m K A ) K B 3 A B : m K B m K A m K B K A m K B Actes de l école Web Intelligence, page 54

63 Security Logical Attack on Shamir 3-Pass Protocol (II) Perfect encryption one-time pad (Vernam Encryption) {m} k = m k Shamir 3-Pass Protocol Passive attacker : 1 A B : m K A 2 B A : (m K A ) K B 3 A B : m K B m K A m K B K A m K B = m Extended Dolev-Yao Let E be an equational theory on terms. I.e., E = {t 1 = t 1,,t n = t n} and C[t i ] = C[t i ]. Add the following rule E t, t = E t E t The passive attack problem remains decidable for: Subterm equational theory Abelian group Homomorphic encryption... Bull s authentification protocol A B : A,B,N a,h(a,b,n a ) = M a B C : B,C,N b,m a,h(b,c,n b,m a ) = M b C S : C,S,N c,m b,h(c,s,n c,m b ) S C : K ab h(k a,n a ),K ab h(k b,n b ), K bc h(k b,n b ),K bc h(k c,n c ) C B : K ab h(k a,n a ),K ab h(k b,n b ), K bc h(k b,n b ) B A : K ab h(k a,n a ) Actes de l école Web Intelligence, page 55

64 Security Outline Introduction Symbolic verification of security protocols Passive Attacks Active Attacks Extended Dolev-Yao model Justification of the Symbolic Model Conclusion Computational and Formal Model Cyphering ˆm R E(ˆm,pk) {m}pka Pairing (m 1,m 2 ) Intruder Power Any Dolev-Yao Poly Random TM Verification Probability of Non existence of attack traces are attack traces negligible Is the symbolic model sound with respect to the complexity-theoretic model? Suppose that we proved a property of our protocol Π using a symbolic verification method. Can we conclude anything on the computational behavior? Find hypothesis over cryptographic algorithms such that the Dolev-Yao model is a safe abstraction of the computational model. A seminal paper: M. Abadi and P. Rogaway, Reconciling two views of cryptography. IFIP TCS 00. Deals with passive Intruder, Symmetric Keys, Encryption of Keys, Strong Secrecy Actes de l école Web Intelligence, page 56

65 Security Asymmetric Encryption An asymmetric encryption scheme S = (K, E, D) is defined by K: key generation E: encryption D: decryption K(η) = (k e,k d ) E ke (m,r) = c D(c,k d ) = m One-Wayness (OW) AdversaryA: a polynomial time Turing Machine (PPTM) Basic security notion: One-Wayness (OW) Without the private key, it is computationally impossible to recover the plain text: Pr m,r [A(c) = m c = E(m,r)] is negligible. One-Wayness (OW) AdversaryA: a polynomial time Turing Machine (PPTM) Basic security notion: One-Wayness (OW) Without the private key, it is computationally impossible to recover the plain text: Pr m,r [A(c) = m c = E(m,r)] is negligible. This property is too weak since, e.g., it can leak the half of a message. Actes de l école Web Intelligence, page 57

66 Security Example: RSA public n = pq e (public key) private d = e 1 mod φ(n) (private key) RSA Encryption E(m) = m e mod n D(c) = c d mod n OW-CPA = RSA problem by definition! IND-XXX Games Given S = (K, E, D), A = (A 1, A 2 ) of polynomial-time probabilistic algorithms. Ind b XXX (A) follows: Generate (pk,sk) R K(η). (s,m 0,m 1 ) R A O1 1 (η,pk) b R A O 2 2 (η,pk,s, E(pk,m b)) return b. Adv Ind XXX S,A (η) = 2Pr[b R Ind 1 XXX (A) : b = b] 1 IND-CPA, IND-CCA1, IND-CCA IND-CPA: O 1 = O 2 = Chosen Plain text Attack IND-CCA1: O 1 = {D}, O 2 = Non-adaptive Chosen Cipher text Attack IND-CCA: O 1 = O 2 = {D} Adaptive Chosen Cipher text Attack. IND-XXX Security An encryption scheme is IND-XXX, if the supremum over Adv Ind XXX S,A (η), when A varies over all poly-time probabilistic Turing machines, is negligible in η. A function f (η) is negligible, c Æ η 0 η η 0 f (η) 1 η c Facts IND-CCA IND-CCA1 IND-CPA The encryption algorithm of an IND-XXX scheme must be probabilistic, if it is stateless. Actes de l école Web Intelligence, page 58

67 Security General proof Idea Safe abstraction Under the assumption that the encryption scheme is IND-CCA, every computational attack has a symbolic abstraction except for negligible probability. Proof by reduction! Given an adversary A. Build an adversary B that uses non-abstractable behavior of A to break the cryptographic primitives; B uses A as a sub-routine: 1. B parses each bit-string sent by the adversary according to the protocol to obtain a symbolic message 2. B checks that the so-built symbolic trace is a valid trace. If no then she uses the non-dolev-yao message to answer a challenge. State of the art D. Micciancio, B. Warinschi 04: Active Intruder, Asymmetric Keys, Auth. P. Laud 04: Active Intruder, Symmetric Keys, Strong Secrecy M. Backes et All 04: Active Intruder but no automation V. Cortier and B. Warinschi 05: Active Intruder, Asymmetric Keys, signature L. Mazaré, Y. Lakhnech and R. Janvier 05: Active Intruder, Asymmetric Keys, Symmetric Keys, Hashing and Signature all combined + some equational theories L. Mazaré and Y. Lakhnech 05: + Diffie-Hellman key exchange (modular exponentiation) L. Mazaré and Y. Lakhnech 05: opacity and e-voting/passive adversaries. M. Baudet, V. Cortier and S. Kremer 05: Equational theories/passive adversaries. Discussion Instead of a reductionist proof for each protocol, a single proof for an infinite class of protocols + a symbolic proof for each protocol Tools exists symbolic verification The reductionist proof for the soundness of the symbolic approach is a difficult proof To complete the story, we need methods to prove IND-CCA Actes de l école Web Intelligence, page 59

68 Security Outline Introduction Symbolic verification of security protocols Passive Attacks Active Attacks Extended Dolev-Yao model Justification of the Symbolic Model Conclusion Discussion Summary Symbolic verification of security protocols Soundness of symbolic model Justification of symbolic model Ambition: Computer-aided verification for cryptographic systems The fun Probabilities Reductionist proofs, compelxity theory Rewriting Model-checking and abstract interpretation Process algebra and semantics Thank you for your attention Questions? Actes de l école Web Intelligence, page 60

69 Chapitre 3 Standards du web Vincent Quint INRIA Rhône-Alpes Laboratoire d Informatique de Grenoble Actes de l école Web Intelligence, page 61

70 Standards du web Présentation Responsable de l'équipe Web, Adaptation et Multimédia, INRIA et LIG Membre de l'équipe W3C, , animateur du domaine Document Formats Animateur du W3C Technical Architecture Group (TAG), Membre du W3C Advisory Committee 2 Introduction (1) Le web : Un énorme système réparti très hétérogène Aucun élément central Aucune autorité de contrôle Taux de croissance très rapide Couverture géographique globale Et pourtant, ça marche 3 Introduction (2) Deux raisons majeures Des principes d'architecture simples et solides fondés sur trois piliers : Identification (adressage : URI) Interaction (protocoles : par ex. HTTP) Formats (langages : par ex. HTML) voir Architecture of the World Wide Web Un processus original d'élaboration des technologies web 4 Actes de l école Web Intelligence, page 62

71 Standards du web Standards et Technologies Deux sortes de standards : Standards de droit : publiés par les organismes officiels de normalisation (ISO, AFNOR...) Standards de fait : technologies établies par l'usage On parle ici de standards de fait. 5 Plan Place des standards dans le web -- un exemple : HTML Processus d'élaboration des technologies web au W3C Brevets logiciels et standards web 6 Brève histoire de HTML (1) Première version créée au CERN par Tim Berners-Lee, 1989 Diffusion de Mosaic (NCSA), avril 1993 (v1.0 novembre 1993) Création de Netscape Communications, avril 1994 Création d'un groupe de travail HTML à l'ietf, été 1994 Création du W3C, octobre 1994 Annonce de Netscape Navigator 1.0, janvier 1995 Nombreuses «extensions» de HTML, 1995 Annonce d'internet Explorer 1.0, août 1995 Publication de HTML 2.0 à l'ietf (RFC 1886), novembre Actes de l école Web Intelligence, page 63

72 Standards du web Brève histoire de HTML (2) Création du premier groupe HTML au W3C, février 1996 Publication de la recommandation HTML 3.2, janvier 1997 Publication de la recommandation HTML 4.0, décembre 1997 Publication de la recommandation XHTML 1.0, janvier 2000 Publication du Standard ISO/IEC 15445:2000, mai 2000 Création du WHATWG en 2004 Création des groupes XHTML2 et HTML au W3C, mars Protocoles, langages et applications Le web aujourd'hui : un espace d'information et d'applications un ensemble de services (éducation, commerce, divertissement, presse, tourisme, banque,...) Le web est construit sur un socle commun de spécifications techniques : principes d'architecture, protocoles, formats, langages Les standards du web établissent ce socle commun 9 Que standardiser? Il ne faut pas tout standardiser : Un large espace de liberté est nécessaire pour l'émergence de nouvelles applications Les composants nécessaires à l'interopérabilité doivent être standardisés 10 Actes de l école Web Intelligence, page 64

73 Standards du web Quand standardiser? Il faut standardiser à temps : trop tôt, le standard risque de couvrir des besoins mal identifiés d'être techniquement insuffisant trop tard problèmes de déploiement face à l'existant 11 Standards web Pour que le web et l'ensemble de ses services fonctionnent il faut des spécifications techniques de qualité : simples, complètes, adaptées, évolutives un consensus pour les respecter : nécessaire à l'interopérabilité et à l'universalité 12 World Wide Web Consortium (W3C) Organisation indépendante (MIT, ERCIM, Keio) chargée d'établir les standards du web Équipe Membres Public 61 personnes, 3 institutions hôtes, directeur Tim Berners-Lee Rôle : proposer les orientations, coordonner, animer, veiller au respect des règles 423 organisations, représentant tous les acteurs du web Rôle : participer aux orientations, aux travaux de spécifications, aux implémentations Revues, commentaires, implémentations 13 Actes de l école Web Intelligence, page 65

74 Standards du web Débuts d'un standard web Le processus du W3C : Identification des besoins : soumissions, workshops Proposition d'activité : charte Groupes d'intérêt et groupes de travail Publication de documents de travail Appel à commentaires Réactions de la communauté 14 Recommandation Dernières étapes : Recommandation candidate Mises en oeuvre, suites de tests, tests d'interopérabilité Recommandation proposée Revue par les membres Recommandation 15 Groupes de travail Constitution Mandat et mode de travail précis, durée limitée Participants : de 10 à 60, un animateur, un contact (équipe) Origine des participants : membres du W3C, experts invités Mode de travail Production , téléconférences, partage de documents Réunions face à face Documents de travail Listes de discussion archivées Recommandations 16 Actes de l école Web Intelligence, page 66

75 Standards du web Processus ouvert Le travail des groupes est largement ouvert : Documents de travail publics Listes de discussion du groupe archivées Listes pour discussions publiques Recommandations librement disponibles sur le web Brevets pertinents déclarés Implémentations multiples 17 Ingénierie collaborative Les standards du web diffèrent des standards institutionnels Pas ou peu de standardisation de l'existant Création collaborative par les parties concernées Plusieurs «petites» recommandations plutôt qu'une grosse Contributions externes au groupe (commentaires, implémentations) Version initiale minimum Extensions selon les besoins 18 Cohérence Les technologies web doivent être cohérentes Recommandations d'architecture, TAG Supervision par l'équipe W3C Groupes de coordination Réunions techniques plénières annuelles Advisory Committee 19 Actes de l école Web Intelligence, page 67

76 Standards du web Les acteurs Organisations membres du W3C (423) Géographie : Amériques 50%, Europe 40%, Asie 10% Secteurs : industries, mais aussi universités, utilisateurs, organismes publics, associations, etc. Industrie : informatique, logiciel, télécom, utilisateurs, services, etc. 20 Accès universel Le web vise à l'universalité depuis le premier jour Tous les standards doivent prendre en compte Internationalisation (I18N) Support de toutes les langues, écritures, cultures,... Accessibilité Utilisabilité quel que soit le handicap, permanent ou temporaire 21 Impact des brevets sur le web Le web s'est développé initialement sans contraintes de brevets Mais les brevets ne peuvent être ignorés : convergence avec les industries des télécom et de l'électronique, habituées des brevets nombre croissant de brevets logiciels concernant le web importance du logiciel open source pour le web (Apache, Mozilla...) impossibilité pour la communauté open source d'utiliser des brevets 22 Actes de l école Web Intelligence, page 68

77 Standards du web Quelques cas Quelques brevets ont freiné le développement du web : brevet LZW (images gif), motif du développement de PNG, première recommandation du W3C brevet Intermind contre P3P réfuté par le W3C brevet Eolas contre Internet Explorer (élément <embed> de HTML) -- analyse 23 Objectifs Un groupe de travail a été créé en 2001 pour définir une politique concernant les brevets au W3C faciliter le développement de nouvelles recommandations promouvoir l'implémentation des recommandations traiter les problèmes posés par les brevets pendant ou après le développement d'une recommandation 24 Principes Le W3C a adopté une politique concernant les brevets début 2004 Principes : Les recommandations doivent pouvoir être implémentées sans paiement de redevance (royalty-free) Les groupes de travail doivent se concentrer uniquement sur le travail technique 25 Actes de l école Web Intelligence, page 69

78 Standards du web Politique W3C Fonctionnement : Les participants d'un groupe s'engagent à permettre l'utilisation royalty-free de leurs brevets «essentiels» Sinon, ils doivent déclarer les brevets essentiels au début du travail du groupe : «exclusions» Les groupes essaient de contourner les exclusions Les exceptions et conflits sont traitées par des groupes ad hoc (PAG) 26 Conclusion Les technologies de base du web sont élaborées dans un environnement ouvert Leur mode de développement vise la cohérence, la flexibilité et l'universalité L'impact des brevets logiciels est limité 27 Actes de l école Web Intelligence, page 70

79 Chapitre 4 Web and Services Marlon Dumas Institute of Computer Science University of Tartu, Estonia Actes de l école Web Intelligence, page 71

80 Web and Services Outline Part I General Overview Definitions Design principles Implementation technology Part II Process-Centric Services Concepts and methods Design and implementation languages Research advances and open problems Context: Evolution of Software Abstractions Closer communication between business & IT sharing common concepts and models Shift from programming in the small to programming in the large with emphasis on: Integration Adaptation Configuration Functions, Procedures Modules Objects Components Services What is SOA? Purpose SOA is a paradigm for organizing and utilizing distributed resources and capabilities that may be under the control of different ownership domains.» OASIS SOA Reference Model SOA does not imply technology, but it can help to structure how technology is deployed and organised. Actes de l école Web Intelligence, page 72

81 Web and Services What is SOA? Second try SOA is a software system composed of a collection of software services. So what s a software service? A software asset that is deployed at an endpoint and is continuously maintained by a provider for use by one or multiple clients. Services have explicit contracts that establish their purpose and how they should be used. Software services are (supposed to be) reusable. SOA Principles Abstraction Services adhere to contracts/interfaces and hide their inner workings Loose-coupling / autonomy SOAs should minimize dependencies between services and make these dependencies explicit Reusability Services are created with the intent of promoting reuse. Composability Services can be coordinated and assembled to form composite services. Achieving Loose Coupling & Abstraction Client Client interface Message Conforms to Service Description Service interface Underlying client logic Implementations loosely coupled Client is aware of service, but service needn t know about client. Service description is all the client needs to know. Interaction is purely through messaging infrastructure. messages are self contained and self governing. once a message is sent, the client has no control over it. Underlying service logic Actes de l école Web Intelligence, page 73

82 Web and Services Achieving Reuse and Composability Align Services with Business Processes and Business Entities: Design services that are business oriented in scope and interface; avoid technical interfaces. Avoid millions of very simple service invocations try to aggregate into larger operations Avoid fine-grained patterns of interaction Make the context of services explicit Provide context information in the message itself (documentcentric messages). Software Services vs Web Services Software services may, but need not be accessible via the Web (i.e., not just Web Services ). Software services may, but need not provide a discovery mechanism. Software services may, but need not use an XML interface That said, where possible and applicable, web service technologies are currently the a popular way to expose software services. Applications vs Services In the most general definition of Software Service, the clients could be either software or humans. But more typically we distinguish between: Software Applications that provide an interface to human users Software Services that provide an interface for other software. Software applications may act as clients of Software Services, but: Services can also act as Clients for other Services Software Applications can be wrapped to create Services for use by other Clients. Actes de l école Web Intelligence, page 74

83 Web and Services Services vs. Components Similarities Both are units of reuse that can be composed by third parties. Both have contractually specified interfaces that abstract their internals. Differences Components is a unit of deployment. An organization physically possesses this unit of deployment and is able to deploy it to any number of hosts. Services exist at a service endpoint (address) that can be remotely accessed by clients. Software services may encapsulate resources (e.g. data sources), components are pure behaviour. Services may be implemented using components (once deployed) may use software services. Elements of an SOA Front-end Applications App-1 App-1 App-2 App-2 App-N App-N Service Bus Services Service-1 Service-2 Service-M Service Description Repository The Service Bus Connects services, front-ends and repositories in an SOA It is not a software product (even though some vendors would like to sell it as such!): Needs to support a variety of technologies & communication modes Needs to be cross administrative domains Actes de l école Web Intelligence, page 75

84 Web and Services The Service Repository Provides facilities to discover services and acquire all information to use the services. May be accessible within or across an enterprise. Repositories for external use have additional requirements (legal terms and conditions, security, billing) Technology used for service repository can vary: Batch of printed service contracts in a folder Proprietary database or LDAP registry UDDI repository Service Repository may contain: Formal interface specifications Service owner (section, contact person, etc). Access rights Performance and scalability (Service Level Agreement - SLA). Transactional properties. Is mostly for use at development-time. Service Discovery Service contract Contains Service repository Describes Fulfils Searches in Service Developer Invokes Creates Client (Application front-end or service) Bound to Based on Service stub Uses Service Discovery Explored solutions include: Plain keyword search on WSDL service descriptions Keyword search + linguistic similarity (e.g. Wordnet) Automated categorization and clustering Semantics-driven search Actes de l école Web Intelligence, page 76

85 Web and Services Research Directions in Service Discovery Service discovery Ontology Service Semantic Service repository Search agenda Semantics extraction Service Classification Application Application front-end front-end Basic Basic service service Intermediary Intermediary service service Composite Composite service service Public Public enterprise enterprise service service Although they are not services themselves they are the active elements of a SOA. They initiate chains of service interactions and ultimately receive their results. Are the foundation of the SOA. Include both data centric and logic centric services. Include technology gateways, adapters and functionality-adding services. Are both client and server in a SOA. Gather multiple service according to a business process or to a data aggregation function. Provide interfaces for cross-enterprise integration. They are of coarse granularity and have appropriate mechanisms for security, billing, etc. Data-Centric Services Handle persistent data. Abstracts: Storage and retrieval of data. Locking mechanisms. Transaction management. Utilizes a physical data storage facility such as a relational database, file system or tape library. Similar to the data access layer of a traditional application. But: Traditional data access layer manages all data for the entire application (horizontal slicing). A data centric service only deals with one major business entity (vertical slicing). Actes de l école Web Intelligence, page 77

86 Web and Services Data-Centric Services (cont.) A data-centric service should strictly encapsulate its data entities. Any other service that requires access to this data needs to use the service interface of the corresponding data-centric service. Customer Customer service service Itinerary Itinerary service service Customer DB Customer service Interface: CustomerManager Interface: ItineraryManager Customer DB a) Poor design: ownership of data unclear b) Customer DB owned by customer service Designing Data-Centric Services One of the most important tasks of an SOA architect is to identify relevant business entities that should be represented by data-centric services. Similar to traditional business domain modelling. Can use methods based on ER models or OO design, but cross service relationships are not allowed (as no cross-service navigation exists as in distributed object technology). This means that complex data types used by services must be sufficiently self contained or must contain unique identifiers that enable them to relate to other complex data values. Basically want loose coupling between services. Logic-Centric Services Encapsulate algorithms for complex calculations or business rules. Stateless and functional in nature. Examples: Service for creating captcha challenges and verifying responses Service for computing an insurance premium based on a client profile Actes de l école Web Intelligence, page 78

87 Web and Services Hybrid Basic Services Data-centric and logic-centric services are just two ends of the spectrum In reality, services usually encapsulate access to the underlying persistent data as well as logic inherent to that data. The key however is that basic services will not include aggregation logic. Intermediary Services Stateless mediators that bridge technological inconsistencies or design gaps in an architecture. Still provide a business oriented API. Include: Technology Gateways Adapters Functionality-Adding Service Technology Gateways Application front-end Technology A Technology A Tech gateway Technology B Technology B Basic Service Eg providing a web services interface to an EJB component or providing a CORBA interface to a CICS mainframe service. Technology gateways can also be used to wrap legacy applications that provide only an interactive interface by screen scraping or by processing terminal data streams. Actes de l école Web Intelligence, page 79

88 Web and Services Adapter Services Provides a new interface to an existing service that has a similar but with a slightly different interface. E.g. two airlines merge: Airline Airline A Booking Booking Application Application Airline Airline B Booking Booking Application Application AdapterB-A AdapterB-A AdapterB-A AdapterB-A Airline Airline A Customer Customer Service Service Airline Airline B Customer Customer Service Service Functionality-Adding Services Used on top of existing services when new functionality is required but the original service can t be changed. Eg: a legacy or third party application. original service is still needed by other clients. Might be used as an interim solution until the original service is upgraded to directly support the new interface/functionality. Composite Services Data-Centric Composite Services Entity search service: retrieves data from business registry, stock exchange, tax office, etc. to provide a consolidated financial view of an organisation Geo-referencing service: retrieves names/addresses of businesses in a given domain and plots them on a map Process-Centric Composite Services Encapsulate and control business processes, e.g. an invoicing service Engage in long-lived (eg months) Engage in complex interaction patterns typically rely on asynchronous interaction Actes de l école Web Intelligence, page 80

89 Web and Services Public Enterprise Services Services that an enterprise offers to partners and customers. The relationship between the customers and providers is loose, so these services have specific requirements: Interfaces at the enterprise have the granularity of business documents with a standalone meaning and include the complete context necessary to be unambiguous. Decouple business partners using asynchronous communication. Crossing the organization s borders implies the need for higher security levels (authentication, encryption, access control). Billing for cross-enterprise services implies need for nonrepudiation. Requires Service Level Agreements. Danske Bank: Customer Package Process Steen Brahe, 2007 Juni 2003 August 2003 December 2003 October 2003 Marts 2007 Introduction of Customer packages. Word template to collect info Danske Bank: Customer Package Process Customer Create Card Create Account Advisor Backoffice workers Create Credit Juni 2003 August 2003 December 2003 October 2003 Marts 2007 Backoffice group created Handles the creation process Actes de l école Web Intelligence, page 81

90 Web and Services Danske Bank: Customer Package Process Juni 2003 August 2003 December 2003 October 2003 Marts 2007 Case Transfer System Automatic validation and transfering Danske Bank: Customer Package Process Juni 2003 August 2003 December 2003 October 2003 Marts 2007 Workflow enabled creation process v. 1 Automatic process control, 0% automated activities Danske Bank: Customer Package Process Juni 2003 August 2003 December 2003 October 2003 Marts 2007 Workflow v. 6 80% automated activities Actes de l école Web Intelligence, page 82

91 Web and Services Danske Bank SOA Executable Business Process A2 A1 A3 A4 WSDL A1 WSDL A2 WSDL A3 WSDL A4 Service Bus / Container App1: COBOL App2: PL1 App3: Java App4: C# Steen Brahe, Danske Bank Technology Options Web Service Stack Orchestration / Choreography BPEL (implementation), BPMN (at modelling level) Description WSDL, XML Schema, WS-Policy Advertisement, Discovery UDDI, LDAP Messaging WS-Addressing, WS-Security, WS-ReliableMessaging, SOAP Transport HTTP, TCP, SMTP, MSMQ Format and Encoding XML, Unicode Architectural Style: REST Principles A service exposes resources identified by URI Uniform interface: create, read, update, delete (PUT, GET, POST, DELETE) Stateful interactions through links only each requests is selfcontained Realization: POX (Plain XML) over HTTP Benefits: Simplicity, lightweight infrastructure Drawbacks: Tied to the HTTP protocol Lack of methods for producing well-described RESTful services Actes de l école Web Intelligence, page 83

92 Web and Services Architectural Style: WS-* Principles One service endpoint (URI) = multiple operations Operations are service-dependent Separation of message meta-data (header) and body (payload) Protocol transparency Realization SOAP + WS-* standards Benefits: Can operate on top of several protocols Enables the delivery of infrastructure services (e.g. security, transactions, routing, reliability) Well-tied with methods for contract-first development Drawbacks: Requires heavier, more specific infrastructure; can be easily misused SOAP Message Structure Header Carries metadata for infrastructure services WS-* standards define types of header elements & semantics Body contains the payload interpreted by the target component (i.e. Web Service), can contain fault elements <soap:envelope xmlns:soap=... > <soap:header> <soap:header/> <soap:body> </soap:body> </soap:envelope> WSDL Abstract (Structural Interface) Concrete (Implementation) Actes de l école Web Intelligence, page 84

93 Web and Services WS-* in Action (design-time) generates Development Tool (e.g. VStudio) WSDL document WS-* in Action (runtime) Requester Provider Part II Process-Centric Services Actes de l école Web Intelligence, page 85

94 Web and Services Process-Centric Services (runtime view) Purchaser s System Process Instance Process Process Instance Instance Create Order Process Response Process Instance Service Endpoint Send Order Receive Response Order Order Response Change Order Change Response Shipment Notice Invoice Service Endpoint Receive Order Send Response Supplier s System Process Instance Record Order Check Stock Process Instance Process Process Instance Instance Process Model(s) Service Interface(s) Service Interface(s) Process Model(s) Process-Centric Services (design view) Supplier Inventory Control Service Procurement Service Invoicing Service Concepts Service role: a business functionality supported by a service e.g.: Customer, Sales, Warehouse, Finance Interaction: information exchange between two services; it involves one or more communication tasks on each side. Communication task Send message Receive message Internal task Data transformation/manipulation, Invocation to an unit of processing (e.g. provided by a component) Control dependency: constraint over the execution of tasks (e.g. sequential order, choice, synchronization, etc.) Actes de l école Web Intelligence, page 86

95 Web and Services Viewpoints in Process-Centric Service Design Choreography Global model of the interactions between two or more services. No preferred party Only interactions, no internal actions Interface (Behavioural and Structural) Model of the interactions between a service and one or several other services; Only interactions, no internal actions Orchestration Model of the interactions and internal actions that a (composite) service needs to undertake to achieve a goal. Choreography customer sales warehouse finance Request Quote [send rfq to sales] Check Stock [send rfq.amount to warehouse; receive availability from warehouse] goods unavailable accept quote Make Quote [send quote to customer] Reject Quote [send rejectrfq to customer] Place Order [send order to sales] Ship Order [send shipmentorder to warehouse] Bill Customer [send rfbill to finance] Deliver [send deliverynotification to customer] Invoice [send invoice to customer] Behavioural Interface Actes de l école Web Intelligence, page 87

96 Web and Services Orchestration receive rfq send rfq.amount receive availability goods unavailable send quote send rejectrfq receive order send shipmentorder send rfbill Process-Centric Service Design Methods Choreography-driven Service Design Design a choreography in collaboration with my partners; Determine which interactions in the choreography involve me; Derive the behavioural interfaces I need to implement; Implement the behavioural interfaces. Orchestration-driven Service Design Define an orchestration and find appropriate services to plug into it (these two steps can be done in either order); Derive a behavioural interface from the orchestration; Expose this interface to the outside world. Provided vs. Required Interfaces Buyer B's provided Buyer ("as is") B interface SND Purchase Order RCV Order Response End Seller Purchase Order Choreography Buyer B's required Buyer ("to be") A interface SND Purchase Order RCV Order Response No End All Responses Yes Received? Actes de l école Web Intelligence, page 88

97 Web and Services Case 1: Compatible Provided/Required Interfaces Provided Interface (Buyer) SND RCV Purchase Order Order Response No All Response Yes Received? Required Interface (Buyer) SND RCV Purchase Order Order Response End End Case 2: Incompatible Provided/Required Interface but Resolvable Provided interface: Required interface: SND Purchase Order RCV Order Response End? SND Purchase Order RCV Order Response No End All Response Yes Received? Case 3: Fully Incompatible Provided/Required Interface? Actes de l école Web Intelligence, page 89

98 Web and Services Example: Unresolvable Mismatch Domain registration client Domain registration service Altenhofen et al., 2005 Unresolvable Mismatch (cont.) Required interface updaterh(123, 555) How do we update the other ripe handles? updaterh(234, 666) Mediator Can t get ripe handle without Generate having all 3 parameters fake rh available What can mediator do? The register message has replace the fake ripe handles fake rh with mediator substitutes namesthese with the provider and contact names Now we have the real ripe Update handles Rh can inform Consumer in of the real Consumer Domain Handle Provided interface What if these operations don t exist? Need to be added... Semi-Automated Adaptation Problem: given an incompatible pair of interfaces, determine if their mismatches are resolvable; if so, synthesize an adapter. In the case of behavioural interfaces with finite combined behaviour See results by Yellin & Ström Tool support: ServiceMosaic (Benatallah et al.) Actes de l école Web Intelligence, page 90

99 Web and Services Choreography & Orchestration: Summary choreography... required interface provided interface Adaptation (design) Adaptation (execution) Adaptation (design) orchestration Internal service/api Observations Observations Choreography is a design artefact Requires high-level (declarative) modeling languages Interfaces are description artefacts Requires declarative machine-processable languages Orchestration & Adaptation are implementation artefacts Requires executable languages, e.g. BPEL Languages for Process-Centric SOA Informal Formal Modelling Modelling Execution Actes de l école Web Intelligence, page 91

100 Web and Services Choreography Definition Single global model Sequence diagrams (restricted) WS-CDL Let s Dance Interacting Petri nets Communicating state machines (e.g. Mealy machines) Set of interconnected local models BPMN BPEL4Chor Communicating state machines Let s Dance: Key features Language for modeling choreographies from a global perspective Small set of constructs Formal semantics See: Slide 63 Basic interactions Let s Dance Overview Relationships between interactions Slide 64 Actes de l école Web Intelligence, page 92

101 Web and Services Let s Dance - Example Properties of Choreographies: Local Enforceability A B C D message M1 message M2 Given a choreography, is there a collection of behavioural interfaces whose collective behaviour is compatible with the choreography? Properties of Choreographies: Synchronizability Actes de l école Web Intelligence, page 93

102 Web and Services Behavioural Interface Definition Definition languages Message Sequence Charts (scenarios) BPMN BPEL business protocols Finite state machines Open workflow nets Analysis Compatibility (cf. slide 53) Substitutability Analysis of Behavioural Interfaces: Substitutability Orchestrations WS-BPEL Language specifically designed to implement process-centric services OASIS standard XML Syntax, but vendors provide visual notations, e.g. Oracle BPEL, IBM WebSphere (demo at the end of lecture) Actes de l école Web Intelligence, page 94

103 Web and Services BPEL Overview New Employee Process-Centric Composite Service Taken from R. Khalaf et al. The Business Process Execution Language for Web Service BPEL Features Traditional programming constructs: assignment, sequence, while, if-then-else, exception handlers Features specific for WS programming XML variable typing (XML Schema or WSDL); Expressions can be written in XPath/XSL; Message send and receive actions; Parallelism and synchronisation constructs; Transaction compensation. BPEL Basic Activities Do a blocking wait for a receive matching message to arrive Send a message in reply to reply a formerly received message invoke Invoke a one-way or request-response operation Update the values of assign variables or partner links with new data Generate a fault from inside throw the business process Immediately terminate exit execution of a business process instance wait Wait for a given time period or until a certain time has passed Invoke compensation on an compensate inner scope that has already completed Taken from: Introduction to BPEL by Dieter König, IBM Actes de l école Web Intelligence, page 95

104 Web and Services BPEL Structured Activities Contained activities flow are executed in parallel Contained activities sequence are performed sequentially Contained activity is while repeated while a predicate holds Contained activity is repeatuntil repeated until a predicate holds Block and wait for a suitable pick message to arrive (or time out) Contained activity is performed foreach multiple times sequentially or concurrently if then else Select exactly one activity from a set of choices Defines a block for declaring scope local variables, fault handlers, compensation handler, and event handlers Taken from: Introduction to BPEL by Dieter König, IBM Nesting of Activities <sequence> <receive.../> <flow> <sequence> <invoke.../> <while... > <assign>...</assign> </while> </sequence> <sequence> <receive.../> <invoke... > </sequence> </flow> <reply> </sequence> sequence receive flow sequence invoke while assign reply sequence receive invoke Scopes and Handlers scope Scope Acts as a wrapper for an activity Allows one to declare local variables Handlers Event handlers Fault handlers Compensation handler Termination handler variables... partner links... correlation sets event handlers fault fault handlers handler compensation handler termination handler... Taken from: Introduction to BPEL by Dieter König, IBM Actes de l école Web Intelligence, page 96

105 Web and Services BPEL Code Snippet <process > <sequence> <receive partner= HR porttype= tns:processpt operation= op1 variable=... createinstance= yes /> <invoke partner= employeedb porttype= operation = op2" inputvariable= outputvariable=.../> <invoke partner= bank porttype= operation= op3" inputvariable= outputvariable= /> <invoke partner= courier porttype= operation= op4" inputvariable= outputvariable= /> <receive partner= courier porttype= tns:processpt operation= op5" variable= /> <reply partner= HR porttype= tns:processpt operation= op1 variable = /> </sequence> </process> BPEL and WSDL Every BPEL process is exposed as a web service whose interface is defined in WSDL In addition to providing a service, a BPEL process definition consumes other services (also defined in WSDL) Interfaces exposed by the BPEL process Interfaces consumed by the BPEL process WSDL Loan Approval PortType Loan Approval Process receive invoke Financial Institution s Web Service (Loan Approver) reply Taken from: Introduction to BPEL by Dieter König, IBM Web Service Web Service Correlation in BPEL Synchronous interactions are not always and option in process-centric processes because: When an instance of a process-centric service is created, its execution may last for days, weeks or even months Process-centric service definitions need not follow request/response interaction patterns Need to use asynchronous interactions This in turns require correlation Actes de l école Web Intelligence, page 97

106 Web and Services Correlation in BPEL (cont.) Two correlation methods are supported: The easy way: Use WS-Adressing headers in all SOAP messages Every message has a messageid A message may refer to a previous message through a relatesto header Requires that all services use SOAP and WS- Addressing Not applicable in some advanced scenarios The hard way: Correlation sets BPEL Correlation Sets Orchestration Analysis Are two orchestrations compatible? Is an orchestration a refinement of a behavioural interface? BPEL orchestration analysis tools: WofBPEL: Petri net based, checks reachability Fiona: Petri-net based, checks controllability WS-Engineer: FSM-based, checks conformance and compatibility Actes de l école Web Intelligence, page 98

107 Web and Services BPEL Log Conformance Checking (part of the ProM Framework) abstract BPEL process Conformance? Services Services Services Translation SOAP Messages Monitoring / Correlation Petri net model Conformance Checking! Event Log From BPEL to WF-nets Petri net-based Conformance Checking Objectives: quantitatively measure conformance locate deviations Conformance? Actes de l école Web Intelligence, page 99

108 Web and Services Conformance Checking Fitness Conformance Checking Fitness Measuring fitness: Log replay analysis missing tokens = 0 remaining tokens = 0 consumed tokens = 0 produced tokens = 1 Actes de l école Web Intelligence, page 100

109 Web and Services Measuring fitness: Log replay analysis missing tokens = 0 remaining tokens = 0 consumed tokens produced tokens = 6 = 7 Measuring fitness: Log replay analysis missing tokens = 0 remaining tokens = 0 consumed tokens produced tokens = 9 = 9 Measuring fitness: Log replay analysis missing tokens = 1 remaining tokens = 0 consumed tokens produced tokens = 2 = 4 Actes de l école Web Intelligence, page 101

110 Web and Services Measuring fitness: Log replay analysis Measuring fitness: Log replay analysis f = 1.0 f f Conformance Checking - Appropriateness 100 % fitness but not sufficiently specific from behavioral point of view. 100 % fitness but not represented in structurally suitable way. Actes de l école Web Intelligence, page 102

111 Web and Services Summary: Relations Between Viewpoints Is enforceable? Can play role? Compatible? Adaptable? Can play role? Is synchronizable Is controllable? Can substitute? Simulation Conforms? Simulation Conform? References M. Papazoglou. Web Services: Principles and Technology, Prentice Hall, J. Su et al. Towards a Theory of Web Service Choreographies. Proceedings of the WS-FM 2007 workshop. J.M. Zaha et al. Service Interaction Modeling: Bridging Global and Local Views. Proceedings of the EDOC 2006 conference. R. Khalaf et al. The Business Process Execution Language for Web Services. In M. Dumas et al. (editors) Process-Aware Information Systems, John Wiley & Sons, 2005 Wil M. P. van der Aalst et al.: Conformance checking of service behavior. ACM Trans. Internet Techn. 8(3), B. Benatallah et al. ServiceMosaic, H. Foster et al., WS-Engineer, W. Reisig et al., Tools4BPEL, Actes de l école Web Intelligence, page 103

112 Actes de l école Web Intelligence, page 104

113 Chapitre 5 An introduction to Web Information Retrieval. Concepts, Issues, and Techniques Ricardo Baeza-Yates, Andrei Broder, Prabhakar Raghavan Yahoo! Research Actes de l école Web Intelligence, page 105

114 Chapitre 6 Agents et Web Olivier Boissier 1, Marc-Philippe Huget 2 1 ESME Saint-Etienne, 2 LISTIC Annecy Actes de l école Web Intelligence, page 171

115 Agents et Web Plan I. Introduction II. Systèmes Multi-Agents III. Agents et Services sur le Web IV. Agents et Informations sur le Web V. Conclusion 2 Plan I. Introduction II. Systèmes Multi-Agents III. Agents et Services sur le Web IV. Agents et Informations sur le Web V. Conclusion 3 De multiples évolutions Tendances Croissance et ubiquité des capacités de calcul et de traitement de l information Augmentation des capacités de transmission (vitesse, bande passante, ), des capacités d interconnexion (Internet, WWW, satellites,, wifi, bluetooth,...) Interfaces (visualisation, vocal,...) Informations (taille, complexité, modalité) Ressources (distribuées, hétérogènes, partagées) 4 Actes de l école Web Intelligence, page 172

116 Agents et Web Evolutions technologiques Tendances Source : AgentLink Roadmap 5 Autres moteurs Tendances Semantic Web Web services, Service Oriented Computing Peer-to-Peer Computing Grid Computing Ambient Intelligence Self-*, Autonomic Computing Complex Systems 6 Tendances actuelles du Web Communautés humaines Machines, objets communicants, logiciel, etc Web 2.0 Wikis Blogs Mashups Web Services Portails communautaires Support à l Interaction Machine-Machine Support à l Interaction Humain-Humain Web Web Sémantique Ontologies Méta-données Semantic Web Services Agents Portails EAI 7 Actes de l école Web Intelligence, page 173

117 Agents et Web Plan I. Introduction II. Systèmes Multi-Agents Domaines d action Définitions, positionnement Quelques modèles Technologies et standards III. Agents et Services sur le Web IV. Agents et Informations sur le Web V. Conclusion 8 Domaines d action des SMA Résolution de problèmes Domaines d action Modéliser et résoudre des problèmes par coopération entre des résolutions locales Approche descendante avec coordination explicite, Approche ascendante avec coordination émergente Simulation Modéliser et reproduire des phénomènes du monde réel afin de comprendre ou dʼexpliquer leur comportement Intégration, Interopérabilité d applications hétérogènes Intégrer des logiciels, des humains ou organisations, des systèmes mécaniques et faire interopérer l ensemble de manière cohérente et flexible 9 Résolution de problèmes Exemple [Ferrand 97] Domaines d action 10 Actes de l école Web Intelligence, page 174

118 Agents et Web Simulation multi-agent Domaines d action pour : Comprendre, Expliquer Découvrir,, Aider, 11 Simulation multi-agent Domaines d action The Return of the King (2003) The Two Towers (2002) The Fellowship of the Ring (2001) I, Robot (2004) Ratatouille (2007), Divertir Conversational Zeno Robot 12 Résolution de problèmes et Simulation Caractéristiques des applications visées : Absence de stratégie globale, de méthode globale de résolution Interaction entre stratégies locales, entre méthodes locales de résolution Solution est le résultat de l interaction de multiples points de vue locaux (points de vue, décisions, buts, motivations, ) Fonctionnement et évolution continuels Exigences principales : Décentralisation, ouverture Environnement partagé, dynamique Emergence de la solution Domaines d action 13 Actes de l école Web Intelligence, page 175

119 Agents et Web Intégration, Interopérabilité (1) Globalisation des industries, des services, des applications informatiques A l intersection de multiples réseaux La connaissance est au centre des collaborations et des coopérations Internet, Web, Internet des objets sont les plate-formes supports sous-jacentes Inscription des industries, des services, des applications informatiques dans un environnement en évolution permanente et imprévisible Combiner efficacité de la mise en œuvre des processus au cœur de l organisation des entreprises et services Tout en assurant flexibilité et agilité des processus Domaines d action Place de plus en plus centrale des utilisateurs au sein de ces réseaux de coopération et de collaboration 14 Exemple (1/3) Personnalisation de services Domaines d action Source CLIMATE Industrial Workshop 26/4/99 15 Exemple (2/3) Domaines d action Coordination de services Source : CASCOM FP6-IST-2 16 Actes de l école Web Intelligence, page 176

120 Agents et Web Exemple (3/3) Adaptation et optimisation Domaines d action Planification, coordination, optimisation selon une approche ascendante Délégation de la responsabilité Communication entre les nœuds Détection et réaction aux changements en temps réel Adaptation aux changements et optimisation en continu Planification, coordination, optimisation selon une approche descendante : Centralisation de la collecte et du traitement des informations et événements Propagation des plans et décisions Pas de prise de décision en temps réel. Source Whitestein Agent Technology Conference Intégration, Interopérabilité (2) Caractéristiques des applications visées : Absence de vision monolithique Développement incrémental, par des équipes différentes Multi-* (sites, expertises, métiers, points de vue, décisions, buts, motivations, ) Fonctionnement et évolution continuels Utilisateur(s) est(sont) au centre Domaines d action Exigences principales : Distribution, Ouverture, Absence de contrôle centralisé Structuration en entités autonomes communicantes, faiblement couplées entre elles et avec d autres applications Traitement intensif et partage de connaissances Délégation des décisions à l application 18 Plan I. Introduction II. Systèmes Multi-Agents Domaines d action Définitions, Positionnement Quelques modèles Technologies et standards III. Agents et Services sur le Web IV. Agents et Informations sur le Web V. Conclusion 19 Actes de l école Web Intelligence, page 177

121 Agents et Web Système Multi-Agent E-Alliance Définitions Atelier N C U A Atelier N C U A Contrat C1 Atelier N C U A Plate-forme Agent A Alliance Agent C Contract Agent N Negotiation Agent U User Agent Environnement Interaction Organisation Système Multi-Agent (SMA) : ensemble d agents, qui interagissent entre eux, dans un environnement commun, constituant, éventuellement, une organisation 20 Agent Définitions Agent : entité réelle ou virtuelle autonome, pro-active, réactive, sociale, capable de participer à une activité organisée, afin de satisfaire ses objectifs, en interagissant éventuellement avec des utilisateurs. But : print action Organisation perception Environnement Interaction Utilisateur 21 Autonomie Un agent X est autonome par rapport à Y en ce qui concerne O dans une situation S où : Y est un utilisateur, un autre agent, un groupe d agents, une organisation, O est (selon le type d agent) un but, un plan, une action, une ressource, une norme, un rôle, signifie que : l agent X peut décider localement de l adoption de O dans la situation S Et Y n est pas sûr que X va adopter O dans la situation S Définitions 22 Actes de l école Web Intelligence, page 178

122 Agents et Web Panorama des grandes étapes 1980 : Les agents sont limités au domaine de l IA de l Intelligence Artificielle distribuée aux Systèmes multi-agents Historique 1990 : La notion d agent s élargit Assistants personnels, interfaces, Agents mobiles, Agents réactifs, : La notion d agent se répand dans d autres domaines, les domaines d application s élargissent Vie Artificielle, agents économiques,,, Web, Intelligence Ambiante, 23 Evolution des travaux : Hearsay II (1973) : architecture de tableau noir pour la reconnaissance de la parole Langages Acteurs (1973) : messages comme structures de contrôle Beings (1975), Society of Minds (1978) : interaction de comportements simples conduit à des comportements complexes : Contract Net (1980) : contrôle hiérarchique décentralisé DVMT (1984) : interprétation distribuée Subsumption architecture (1986) : robots réactifs MACE (1987) : environnement multi-agents Historique : Auto-organisation, émergence, Interactions, organisations, réputations et confiance, méthodes orientées agent, En 1995, 1ère Conférence internationale ICMAS, depuis 2002, Agents Autonomes + MAS -> AAMAS 24 Ascendances directes Programmation par objets : Encapsultation, modularité : un objet encapsule les données et les méthodes qui les manipulent (ex : C++, Java, Smalltalk), Distribution : objets distribués, CORBA, DCOM développement des langages «acteurs» Intelligence Artificielle : modèles de raisonnements symboliques (systèmes experts, représentation des connaissances), logique distribution : architectures de blackboard Systèmes répartis, systèmes distribués Positionnement 25 Actes de l école Web Intelligence, page 179

123 Agents et Web Multi-Agent vs Objets Positionnement Un agent, comme un objet, encapsule un état et un comportement MAIS : l agent a le contrôle sur son comportement; un objet n a le contrôle que sur son état Interactions entre agents sont plus larges que les appels de méthodes entre objets (échanges de buts, de plans, d actions, d hypothèses, ) l agent exerce ce contrôle de différentes manières (réactif, dirigé par les buts, social) un SMA a plusieurs flux de contrôle alors qu un système à objets n a a priori qu un seul flux de contrôle. 26 Multi-Agent vs Intelligence Artificielle (1) Positionnement Remise en cause de l'approche mono-agent de l'intelligence Artificielle. Connaissances, Buts, Actions acquièrent une dimension sociale. 27 Multi-Agent vs Intelligence Artificielle (2) Positionnement Ex. réseaux de dépendances buts : C actions : put_on buts : A B actions : clear A Ag1 C B Ag2 Ag3 28 Actes de l école Web Intelligence, page 180

124 Agents et Web Multi-Agent vs Intelligence Artificielle (3) Positionnement Connaissances sociales A C B Ag3 Description externe de Ag3 : buts : on(a,b), actions : clear ressources : A, plans : on(a,b):=clear(c), put_on(a,b) Description externe de Ag1 : buts : on(c,table), actions : put_on ressources : B plans : on(c,table):=clear(c)... action dép. put_on Ag1 Ag2 29 Multi-Agent vs Intelligence Artificielle (4) Positionnement Interactions sociales Hello Ag1, J ai besoin de ton action put_on pour mettre A sur B, fais le!!! A B C Ag3 Command(Ag3,Ag1, put_on(a,b)) Ag1 Ag2 30 Multi-Agent vs Systèmes Distribués Positionnement Tous deux prennent en considération les préoccupations principales en informatique : Interconnexion et Distribution Dans un SMA, Interconnexion et Distribution sont couplées avec le besoin : de tenir compte de l autonomie des agents et développer des mécanismes pour synchroniser et coordonner leurs activités en cours d exécution de représenter et de prendre en compte les intérêts de l utilisateur de coopérer et d atteindre des accords (ou même d être en compétition) avec d autres systèmes en charge d autres intérêts. 31 Actes de l école Web Intelligence, page 181

125 Agents et Web Un domaine inter-disciplinaire Positionnement Des ascendances directes Systèmes distribués, Parallélisme, Intelligence Artificielle, Programmation, Objets... Mais aussi d autres sources d inspiration : Systèmes complexes (physique,, éthologie, écologie, ) Vie artificielle, réseaux de neurones, Psychologie sociale, Sociologie, Economie, Un domaine vaste!!! Positionnement Des Agents Autonomes aux Systèmes Multi-Agents Robots autonomes Assistants personnel Desktop agents Softbots, Knowbots Agents mobiles Agents réactifs Agents intelligents, agents coopératifs, agents conversationnels Systèmes d agents autonomes dans un univers multiagent 33 Plan I. Introduction II. Systèmes Multi-Agents Domaines d action Définitions, Positionnement Quelques modèles Technologies et standards III. Agents et Services sur le Web IV. Agents et Informations sur le Web V. Conclusion 34 Actes de l école Web Intelligence, page 182

126 Agents et Web Modèles multi-agents De nombreux modèles multi-agents existent dans la littérature Structuration possible selon : quatre dimensions ( Voyelles [Demazeau 95]) : Agent, Environnement, Interaction, Organisation le point de vue considéré : global (centré sur le système), local (centré sur l agent) 35 Modèles d agent Modèles pour définir les entités actives du système (architectures internes, représentation des connaissances, ) Agents intentionnels, Agents BDI (Belief Desire Intention) [Rao 95] Agents rationnels [Russel 91] Agents situés [Agre 87], [Maes 90] Sources : Intelligence Artificielle, Objets, Robotique,... Niveau Système Agent Architectures MAS Services Middleware 36 Modèles d environnement Modèles pour définir l espace commun partagé entre les agents Elément essentiel de tout SMA fournissant les conditions pour que les agents existent Entité active qui effectue la médiation des interactions entre agents et l accès aux ressources Sources : Simulation, Physique, Niveau Système Agent Architectures MAS Services Middleware O Environment Simulation/Services 37 Actes de l école Web Intelligence, page 183

127 Agents et Web Modèle de référence [Weyns 06] Niveau Système Modalités de perception et d action, Ressources et constituants de l environnement Dynamique de l environnement, 38 Plate-forme support CARTAGO [Ricci 07] Artefact 39 Modèles d interaction Modèles pour définir et structurer la mise en relation dynamique de deux ou de plusieurs agents par le biais d'un ensemble d'actions réciproques Langages de communication entre Agents (ACL FIPA, KQML, ) et Langages de contenus, Ontologies Protocoles d interaction, Sources : Actes de langage (speech acts), Conversations Agent Architectures Niveau Système MAS Services Middleware O Services Interaction O Environment Simulation/Services CFP 20 Couleur Propose 10 NB 40 Actes de l école Web Intelligence, page 184

128 Agents et Web Langage de communication agent Langage de haut-niveau pour l échange BDI d attitudes propositionnelles et mettre en place collaboration, négociation,... FIPA-ACL [FIPA 02], KQML [Finin 97], etc. Ensemble de performatifs dont la sémantique est basée sur les états mentaux Inform, request, cfp, agree, understood Langage de contenu Ex: KIF, FIPA-SL, FIPA-CCL, etc. Expression d actions, d objets, de propositions Termes issus d ontologies : Vocabulaire commun, avec des définitions précises, relatif à un domaine (Wheather-ontology, cinema-ontology, etc) I call for proposal offer cfp ACL Langage Contenu ontologie Niveau Système BDI I offer 41 Exemple de message selon ACL FIPA (inform type d acte de communication :sender A infos. utiles pour le routage :receiver B infos. utiles pour le routage :content (price (bid goood02) 150) contenu :in-reply-to round-4 :reply-with bid04 :encoding 1000 :language fipa-sl1 langage utilisé dans content :ontology hpl-auction :reply-by 10 date limite pour la réponse :protocol offer protocole d interaction utilisé :conversation-id conv02 identifiant conversation en cours ) Niveau Système 42 Protocole Interaction Niveau Système 43 Actes de l école Web Intelligence, page 185

129 Agents et Web Modèles d organisation Modèles pour définir les schéma de coopération, description manipulable, définie par un concepteur ou par les agents eux-mêmes pour un objectif donné Structures Organisationnelles : rôles, groupes, schémas fonctionnels, scènes d interaction RBAC pour les agents, Normes, Obligations, Permissions, Lois, Sources : sociologie, psychologie sociale, CSCW, Agent Architectures Niveau Système MAS Services Middleware Services Organisation Services Interaction O O O Environment Simulation/Services 44 Langage de modélisation d organisation Niveau Système Spécification déclarative de l organisation des agents exprimant des contraintes de coopération, des schémas de coopération afin de satisfaire un objectif commun Ex : AGR [Ferber 98], Teamwork [Tambe 98], Islander [Esteva 01], Moise+ [Hubner 02], Deontic Specification (DS) Agent Architectures MAS Services Middleware Services Organisation Services Interaction O O O Environment Simulation/Services Structural Specification (SS) Functional Specification (FS) 45 Plate-forme de gestion d organisation Specification Organisation écrite avec le langage de modélisation d organisation Gestion de l entité organisationnelle Au sein des agents ex : Jason-MOISE [Hubner 07], Au sein des services d organisation ex : Madkit [Gutknecht 00], Karma [Pynadath 03], Ameli [Esteva 04], S-Moise+ [Hubner 05], SYNAI [Gateau 06], Niveau Système MAS Services Middleware Services Organisation Services Interaction O O Environment Simulation/Services 46 Actes de l école Web Intelligence, page 186

130 Agents et Web Synthèse Niveau Système Médium commun aux agents (Signaux, Influences, Dynamique, ) Entités agissantes (Architectures internes, ) Environnement Agent Interaction Organisation Interactions entre les agents (ACL, Protocoles d Interaction, ) Schémas de coopération et contraintes sur les interactions entre agents (Langages de modélisation d organisation, Normes, ) et plate-forme de gestion d organisation 47 Vision centrée agent Niveau Agent Agent : logiciel ou matériel regroupant traitements et données, capable de contrôler ses activités de raisonnement et décision, de perception et d action sur l environnement, de communication avec les autres agents, de gestion des relations avec les autres. Agents individuels agents qui raisonnent sur eux-mêmes et sur leur environnement Agents sociaux agents qui raisonnent sur eux-mêmes, sur leur environnement et sur leurs interactions avec les autres Agents organisés ou agents normatifs délibératifs agents qui raisonnent sur eux-mêmes, sur leur environnement, sur leurs interactions avec les autres et sur les organisations/normes dans lesquels ils sont impliqués 48 Types d agents selon le type de contrôle Force du couplage du raisonnement de l agent avec les facteurs externes (environnement, autres agents, organisation/normes) Niveau Agent Agent réactif buts données 49 Actes de l école Web Intelligence, page 187

131 Agents et Web Modèle d agent réactif Niveau Agent Cycle de contrôle : cycle fermé entre deux opérations "execute" et "see" (Stimulus/Response) réaction aux évolutions de l environnement Pas de représentation explicite de l environnement, des autres agents, de ses compétences, Décisions prises sans référence au passé (pas de gestion d historique), au futur (pas de planification) see Agent execute Environnement 50 Modèle d agent réactif (2) Niveau Agent Approches réactives en opposition aux modèles de raisonnement symbolique de l IA. Différentes approches basées sur : comportements [Brooks 86], [Steels 89], (robotic) [Drogoul 93] (ethology) interactions [Demazeau 93] (image analysis, cartography, ) [Bura 91] (games) situations [Agre 87] (games) [Wavish 90] (design, manufacturing) 51 Modèle d agent réactif (3) Niveau Agent Exemple de cycle de contrôle d un agent réactif (implémenté par des règles de production) : condition-action rules set of percepts do { percepts := see(); state := interpret_input(percepts); rule := match(state,rules); execute(rule[action]); } while (1); 52 Actes de l école Web Intelligence, page 188

132 Agents et Web Types d agents selon le type de contrôle Force du couplage du raisonnement de l agent avec les facteurs externes (environnement, autres agents, organisation) Niveau Agent Agent réactif buts données Agent délibératif buts données 53 Modèle d agent délibératif Niveau Agent Le cycle de traitement de l agent introduit une fonction "deliberate entre les fonctions "see" et "execute" afin de choisir l action appropriée Représentation explicite de l environnement, des autres agents, de ses compétences, Gestion d un historique, planification,... Agent see deliberate state execute Environnement 54 Modèle d agent délibératif (2) Exemple de cycle de contrôle d un agent délibératif Niveau Agent s : state, eq : event queue s := initialize(); do { options := option_generator(eq,s); selected := deliberate(options, s); s := update_state(selected,s); execute(s); eq := see(); } while(1); 55 Actes de l école Web Intelligence, page 189

133 Agents et Web Modèle d agent délibératif (3) Exemple du cycle de contrôle d un agent BDI Niveau Agent b : beliefs, g : desires, i : intentions, eq : event queue (b,g,i) := initialize(); repeat options := option_generator(eq,b,g,i); selected := deliberate(options, b,g,i); i := selected È i; execute(i); eq := see(); b := update_beliefs(b,eq); (g,i) := drop_successful_attitudes(b,g,i); (g,i) := drop_impossible_attitudes(b,g,i); forever 56 Types d agents selon le type de contrôle Force du couplage du raisonnement de l agent avec les facteurs externes (environnement, autres agents, organisation) Agent réactif buts données Niveau Agent Agent hybride Agent délibératif buts données buts données 57 Agent situé Niveau Agent Action, Perception (ex: accès à un syst. d info., internet,, monde physique, monde virtuel) Agent Architecture Connaissances Raisonnement Perception Croyances Désirs,Buts Intentions Action 58 Actes de l école Web Intelligence, page 190

134 C o m p i l e d f r o m A g e n t C o r e. j a v a p u b l i c a b s t r a c t c l a s s m a s t. c o r e. A g e n t C o r e e x t e n d s j a v a. l a n g. T h r e a d i m p l e m e n t s j a v a. i o. S e r i a l i z a b l e { } p u b l i c b o o l e a n R U N N I N G ; j a v a. i o. F i l e l o g ; j a v a. l a n g. S t r i n g B u f f e r l o g S t r i n g ; l o n g t i m e o u t ; j a v a. l a n g. S t r i n g n a m e ; m a s t. f a c e t. F a c e t f a c e t [ ] ; j a v a. l a n g. O b j e c t f a c e t P a r a m s [ ] [ ] ; j a v a. u t i l. H a s h t a b l e e v e n t Q u e u e ; j a v a. u t i l. H a s h t a b l e e x p e c t i n g A n s w e r ; j a v a. u t i l. V e c t o r s u b s c r i b e L i s t ; p u b l i c m a s t. c o r e. A g e n t C o r e ( ) ; p u b l i c m a s t. c o r e. A g e n t C o r e ( j a v a. l a n g. S t r i n g ) ; p u b l i c m a s t. c o r e. A g e n t C o r e ( j a v a. l a n g. S t r i n g, l o n g ) ; p u b l i c m a s t. c o r e. A g e n t C o r e ( j a v a. l a n g. T h r e a d G r o u p, j a v a. l a n g. S t r i n g, l o n g ) ; p u b l i c v o i d s e t F a c e t s ( m a s t. f a c e t. F a c e t [ ], j a v a. l a n g. O b j e c t [ ] [ ] ) t h r o w s j a v a. l a n g. I l l e g a l T h r e a d S t a t e E x c e p t i o n ; p u b l i c a b s t r a c t v o i d s t a r t ( j a v a. u t i l. H a s h t a b l e, j a v a. i o. F i l e ) ; p u b l i c v o i d s t a r t ( j a v a. i o. F i l e ) ; p u b l i c v o i d r u n ( ) ; p u b l i c v o i d p o s t E v e n t ( m a s t. f a c e t. F a c e t E v e n t ) ; v o i d f o r w a r d E v e n t ( m a s t. f a c e t. F a c e t E v e n t ) t h r o w s m a s t. f a c e t. I n v a l i d E v e n t E x c e p t i o n ; m a s t. f a c e t. F a c e t D e s c r i p t i o n g e t N e x t R e c e i v e r ( m a s t. f a c e t. F a c e t E v e n t ) t h r o w s m a s t. f a c e t. I n v a l i d E v e n t E x c e p t i o n ; j a v a. u t i l. V e c t o r g e t R e c e i v e r s F o r ( m a s t. f a c e t. F a c e t E v e n t ) ; b o o l e a n m a t c h ( m a s t. f a c e t. F a c e t D e s c r i p t i o n, m a s t. f a c e t. F a c e t E v e n t ) ; p u b l i c v o i d s e t A n s w e r T o ( m a s t. f a c e t. F a c e t E v e n t, m a s t. f a c e t. F a c e t E v e n t, b o o l e a n ) ; p u b l i c v o i d s e t N o A n s w e r T o ( m a s t. f a c e t. F a c e t, m a s t. f a c e t. F a c e t E v e n t ) ; p u b l i c v o i d s u b s c r i b e ( m a s t. f a c e t. F a c e t, m a s t. f a c e t. F a c e t E v e n t F i l t e r ) ; p u b l i c v o i d u n s u b s c r i b e ( m a s t. f a c e t. F a c e t, m a s t. f a c e t. F a c e t E v e n t F i l t e r ) ; p u b l i c v o i d u n s u b s c r i b e A l l ( m a s t. f a c e t. F a c e t ) ; p u b l i c v o i d a p p e n d T o L o g ( j a v a. l a n g. S t r i n g ) ; p u b l i c v o i d s a v e L o g F i l e ( ) t h r o w s j a v a. i o. I O E x c e p t i o n ; s t a t i c { } ; M e t h o d m a s t. c o r e. A g e n t C o r e ( ) 0 a l o a d _ 0 1 a c o n s t _ n u l l 2 l d c # 1 < S t r i n g " A g e n t C o r e " > 4 g e t s t a t i c # 2 < F i e l d l o n g D E F A U L T _ T I M E O U T > 7 i n v o k e s p e c i a l # 3 < M e t h o d m a s t. c o r e. A g e n t C o r e ( j a v a. l a n g. T h r e a d G r o u p, j a v a. l a n g. S t r i n g, l o n g ) > 1 0 r e t u r n M e t h o d m a s t. c o r e. A g e n t C o r e ( j a v a. l a n g. S t r i n g ) 0 a l o a d _ 0 1 a c o n s t _ n u l l 2 a l o a d _ 1 3 g e t s t a t i c # 2 < F i e l d l o n g D E F A U L T _ T I M E O U T > 6 i n v o k e s p e c i a l # 3 < M e t h o d m a s t. c o r e. A g e n t C o r e ( j a v a. l a n g. T h r e a d G r o u p, j a v a. l a n g. S t r i n g, l o n g ) > 9 r e t u r n M e t h o d m a s t. c o r e. A g e n t C o r e ( j a v a. l a n g. S t r i n g, l o n g ) 0 a l o a d _ 0 1 a c o n s t _ n u l l 2 a l o a d _ 1 3 l l o a d _ 2 4 i n v o k e s p e c i a l # 3 < M e t h o d m a s t. c o r e. A g e n t C o r e ( j a v a. l a n g. T h r e a d G r o u p, j a v a. l a n g. S t r i n g, l o n g ) > Agents et Web Agent social Interprétation des ACL, des protocoles d interaction Raisonnement sur les interactions : stratégies d interaction Gestion de conversations Conv. avec B Niveau Agent Conv. avec C Agent Architecture Connaissances Perception Raisonnement Croyances Buts,Désirs Intentions Interaction CFP 20 Couleur Propose 10 NB Action 59 Agent organisé Raisonnement sur les Lois, sur les Structures organisationnelles [Carabelea 04] Contrats, Réseaux de dépendances [Sichman 94] Réputation, Confiance [Muller 06] Niveau Agent Agent Architecture B A D D C A C B Connaissances Raisonnement Organisation Perception Croyances Buts,Désirs Intentions Action Interaction 60 Synthèse Interprétation ACL Compétences RS RS évalué KR KR ind. DS DS possibilités Interprétation Suivi des protocoles ACL Compétences Motivations Suivi d Interaction des protocoles Motivations Raisonnements évaluation raisonnement décision d Interaction Gestion des Raisonnements Connaissances Perception Gestion Conversations des Connaissances Perception Conversations Représentation RS RS non évalué CS CS DS DS choix Croyances ind. & Gestion des Raisonnement Croyances Buts,Désirs Perception des Organisations Raisonnement KR KR soc. engagement Buts,Désirs Intentions KR KR soc. signaux de Représentation Organisation Intentions Interprétatio Interprétation Action Exécutio l environnement & Gestion des n Organisation n n CSsoc. n Exécution Dialogue Action Action sur Normes, Dialogue ACL, Pr Pr ACL, Pr Pr l environnement Raisonnement PS PS ES ES Représentation de social Représentation & Gestion organisation des Organisations Perception des signaux l environnement de capteur récepteur KR KR soc. Org. émetteur effecteur Représentation & Gestion l environnement des Normes,,, X Action sur, l environnement, Raisonnement social Représentation de l environnement Mécanismes de de Représentation Connaissances 7 return traitement 61 O. Boissier, M.P. Huget 10 Juillet 2008 Flux de de données Agents et Web Interaction Niveau Agent Actes de l école Web Intelligence, page 191

135 Agents et Web Coordination de services Composition de services Description sémantique de services Exécution et monitoring sécurisé de services Web sémantique Technologie Agent Utilisations Source : CASCOM FP6-IST-2 65 Plan I. Introduction II. Systèmes Multi-Agents Domaines d action Définitions, Positionnement Quelques modèles Technologies et standards III. Agents et Services sur le Web IV. Agents et Informations sur le Web V. Conclusion 66 Technologies Théories et architectures d agent Mécanismes de formation de coalitions Planification multi-agent Langages de communication agent, Protocoles d interaction Mécanismes d enchères Stratégies et mécanismes de négociation Institutions électroniques Réputation, confiance Apprentissage mono et multi-agent Auto-organisation, émergence, 67 Actes de l école Web Intelligence, page 193

136 Agents et Web Développement de SMA Langages de développement d agents : Quelques propositions de langages de développement dédiés ou reposant sur des langages de programmation existants Le développement d applications multi-agents est souvent difficile implémentation, distribution, communications, Recherches et études actuelles s orientent vers la Programmation Orientée Multi-Agent : programmation d applications avec des outils multi-agents (plate-formes) De multiples plate-formes sont disponibles sur le Web. De multiples outils de développements existent, souvent spécifiques à un domaine d application. Lesquels choisir? Comment choisir? Comment comparer? Plate-formes 68 Quelques outils existants Plate-formes Plate-formes Respectant les standards FIPA FIPA-OS (http://sourceforge.net/projects/fipa-os/) Jade/LEAP (http://jade.tilab.com/) Autres : SACI Simple Agent Communication Infrastructure (http://www.lti.pcs.usp.br/saci/) Environnements de développement Madkit (www.madkit.org) JADEX, modèle d agent BDI s appuyant sur JADE (http://sourceforge.net/projects/jadex) JACK environnement d exécution, compilateur, modèle d agent BDI basé sur Procedural Reasoning System (PRS) (http://www.agent-software.com) AgentBuilder basé sur Agent Oriented Program (AOP) (http://www.agentbuilder.com/) AgentTool (http://macr.cis.ksu.edu/projects/agenttool/agentool.htm) ADELFE (http://www.irit.fr/adelfe/) Se reporter à Software Products for MAS, AgentLink, June Langages : avec approche déclarative Plate-formes CLAIM (Computational Language for Autonomous Intelligent and Mobile Agents) Langage de programmation d agents cognitifs Partie du framework Himalaya (Hierarchical Intelligent Mobile Agents for building Large-scale and Adaptive systems based on Ambients) Basé sur l algèbre de processus pour représenter la concurrence et la mobilité des agents (calcul ambiant) Basé sur la plate-forme SyMPA implémentée en JAVA respectant le standard MASIF FLUX : Langage de programmation d agents cognitifs Implémentation du Fluent Calculus (formalisme de représentation d action) 70 Actes de l école Web Intelligence, page 194

137 Agents et Web Langages : avec approche impérative JACK Agent Language (JAL) Développé par Agent Oriented Software Basé sur PRS, modèle BDI (semblable à des langages hybrides tels que Jason, 3APL, Jadex) JAL est une extension de Java permettant la création de plans, de bases de croyances, Possibilité d utiliser des équipes d agents, des organisations d agent Plate-formes 71 Langages : avec approche hybride Plate-formes 3APL (An Abstract Agent Programming Language «triple-a-p-i») Langage de programmation pour le développement d agents cognitifs : Par la définitions de structures pour beliefs, goals, plans, actions (internal, external or communication) et de règles de raisonnement (modification des bases de plans), Par des méthodes de raisonnement pour la génération, la révision de plans pour satisfaire les buts Intégration de Prolog et Java Jason : interpréteur d une version étendue de AgentSpeak(L), langage de programmation orienté agent basé sur la logique introduit par Rao. Communication entre agents basée sur les Speech-act (annotation des croyances par les sources d information) Annotations de plans Fonctions de sélection, de confiance ainsi que l architecture d agent peuvent être adaptées (perception, belief-revision, inter-agent communication, acting) Intégration de code existant par l intermédiaire d actions internes définies par l utilisateur Implémenté en java, incorpore le langage de modélisation d organisation MOISE+, est interfacé avec la plate-forme CARTAGO 72 Standards et Systèmes Multi-Agents IEEE Computer Society FIPA Standards Committee (Foundation for Intelligent Physical Agents) Standards MASIF - OMG (Object Management Group) : OMG effort to standardize mobile agents - middleware services and internal middleware interfaces Knowledge Sharing Effort The DARPA Knowledge Sharing Effort 73 Actes de l école Web Intelligence, page 195

138 Agents et Web Standards et Systèmes Multi-Agents Ontologies : DAML, OIL, OWL, Standards Autres standards (De Facto) Jini (www.sun.com/jini), UPnP (www.upnp.org), UDDI (www.uddi.org), Salutation (www.salutation.org) mobility : Aglets (www.trl.ibm.com/aglets/) Web Services (http://www.w3.org/) 74 Méthodes de développement SMA L ingénierie d un Système Multi-Agent doit prendre en compte deux niveaux : Questions du niveau Système Multi-Agents (Démarche centrée système) Nombre d agents, Quelle hétérogénéité? Quel est le médium commun (Environnement) partagé par les agents? Quels sont les mécanismes de communication mis à disposition des agents? Quels sont les langages de communication, les ontologies, les protocoles d interaction utilisés par les agents? Quelle est l organisation au sein de la quelle les agents évoluent? Comment est-elle établie? Comment est-ce que les agents coordonnent leurs actions? Comment assurer un fonctionnement cohérent? Questions du niveau Agent (Démarche centrée agent) Que représente un agent? Quelles sont les actions à encapsuler dans un agent? Comment est-ce que les agents se représent l environnement, l organisation dans lesquels ils évoluent? Comment est-ce que les agents traitent les interactions avec les autres agents? Quelle est la structure interne des agents? Méthodes Cette Ingéniérie multi-agent peut servir à l audit d organisation et à la re-conception 75 Outils supports aux méthodes Quelques Ateliers de génie logiciel sont proposées en support des méthodologies MASE AgentTool : macr.cis.ksu.edu/projects/agenttool/agentool.htm ZEUS : sourceforge.net/projects/zeusagent Prometheus PDT : PASSI ToolKit : mozart.csai.unipa.it/passi/ptk.htm INGENIAS : grasia.fdi.ucm.es/ingenias/ OPM : Méthodes Du fait des multiples modèles, existent différentes manières d approcher et de modéliser une application : Agent Oriented Software Engineering Environment Oriented Software Engineering Interaction Oriented Software Engineering Organization Oriented Software Engineering 76 Actes de l école Web Intelligence, page 196

139 Agents et Web Plan I. Introduction II. Systèmes Multi-Agents III. Agents et Services sur le Web Commerce électronique (négociation) Composition de services IV. Agents et Informations sur le Web V. Conclusion 77 Commerce électronique Aussi appelé e-commerce. Le commerce électronique correspond à l échange de biens et de services par l intermédiaire d un réseau informatique Les échanges ne concernent pas forcément la relation Entreprise et Client. 78 Commerce électronique Les différents types de commerce : B2B (Business to Business) : entre entreprises B2C (Business to Consumer) : entre une entreprise et un client, la vente en ligne classique C2C (Consumer to Consumer) : ebay en est un bon exemple 79 Actes de l école Web Intelligence, page 197

140 Agents et Web Commerce électronique L un des enjeux du commerce électronique est la réalisation automatique d échanges nécessitant : Définition de la sémantique du service Négociation entre entités Composition de services pour donner de la valeur ajoutée 80 Définition de la sémantique du service (Se référer au cours sur Web sémantique) Dans le cadre des architectures orientées services, utilisation du WSDL et d OWL-S Il s agit de la base pour la composition de services Web de façon automatique 81 Négociation La négociation est principalement utilisée pour négocier la cession ou l utilisation de ressources rares ou exclusives La négociation cherche à définir un ensemble de protocoles et d algorithmes pour atteindre de façon automatique un accord entre agents sur un intérêt commun. 82 Actes de l école Web Intelligence, page 198

141 Agents et Web Négociation Définir une négociation revient à définir : Les agents ayant besoin de négocier, L ensemble des propositions que chaque agent peut faire, Un protocole qui dirige les négociations et définit les enchaînements admis, Un ensemble de stratégies pour les agents lors de la négociation, Une règle validant qu un consensus a été trouvé. 83 Négociation La définition de protocoles de négociation est influencée par : Le nombre d attributs dans la négociation Le nombre d individus : 1 à 1, 1 à plusieurs, plusieurs à plusieurs Le nombre d unités de la ressource Les relations entre les ressources mises en jeu 84 Négociation Un bon protocole : Améliore les bénéfices des différents agents (le vendeur vend au meilleur prix, l acheteur l obtient au prix le plus bas) N est pas manipulable par des agents malhonnêtes (les problèmes de collusion entre autres) Est efficace d un point de vue informatique Tient compte des stratégies des autres agents 85 Actes de l école Web Intelligence, page 199

142 Agents et Web Négociation Plusieurs approches possibles pour la négociation : Théorie des jeux Vente aux enchères Contract Net Négociation dirigée par les contraintes Négociation par argumentation 86 Négociation Chaque entité dispose d un ensemble de ressources. Le passage d une répartition des ressources (services, argent) à une autre (échange de ressources) se fait par négociation de façon à satisfaire le maximum d individus. Quelques exemples : Accès à une imprimante réseau pour différents utilisateurs Choix du programme télévisuel de la soirée Marché des métaux/marché boursier 87 Théorie des jeux Théorie des jeux permet de décrire et d analyser de nombreuses relations économiques et sociales : définition des jeux stratégiques Plusieurs types de jeux : Jeux à information complète et incomplète Jeux à information parfaite et imparfaite 88 Actes de l école Web Intelligence, page 200

143 Agents et Web Jeux stratégiques Un jeu stratégique est un jeu dans lequel plusieurs individus essaient de maximiser leurs gains tout en réduisant le gain des autres. Un agent doit tenir compte de ses propres actions et de celles des autres Exemples de jeux stratégiques : Jeu d échecs Commerce 89 Jeux stratégiques De façon plus précise, un jeu stratégique est un ensemble de règles qui encadre ou contraint le comportement des joueurs et qui détermine les gains des joueurs sur la base des actions entreprises 90 Règles dans un jeu stratégique Elles présentent trois intérêts : 1. Elles précisent qui sont les joueurs et si le jeu laisse de la place à la chance 2. Elles précisent l ordre dans lequel les joueurs effectuent leur choix 3. Elles précisent l utilité pour chaque joueur pour toutes les combinaisons dans le jeu 91 Actes de l école Web Intelligence, page 201

144 Agents et Web Equilibre dans le jeu Etudier le jeu permet de connaître la situation d équilibre dans le jeu. Un équilibre correspond au moment où aucun joueur n est incité à changer sa position pour ne pas perdre du gain face aux autres joueurs L équilibre de Nash est un exemple d équilibre où aucun joueur ne désire changer son gain actuel 92 Vente aux enchères Très populaire pour des négociations de consommateurs à consommateurs. Exemple le plus connu : D autres exemples : Licences 3G pour la téléphonie mobile Ventes d objets de collection (Hôtel Drouot, Sotheby s, Christie s) Marché aux fleurs/aux poissons 93 Vente aux enchères Plusieurs types de ventes aux enchères (les plus connues) : Vente aux enchères ascendantes (Anglaise) Vente aux enchères descendantes (Hollandaise) Vente aux enchères sous pli scellé (Vickrey) Deux catégories d individus dans les ventes : Ceux qui désirent vendre un objet ou une ressource (Auctioneer) Ceux qui désirent acheter (Bidder) 94 Actes de l école Web Intelligence, page 202

145 Agents et Web Vente aux enchères Le vendeur : Définit un prix de réserve au-dessous duquel il ne désire pas céder son objet ou ressource Définit un prix initial L enchérisseur : Définit le prix maximal qu il décide de payer pour l objet ou la ressource 95 Vente aux enchères ascendantes La vente commence à un prix initial Tant qu il y a des enchérisseurs, le prix est augmenté L enchère stoppe quand il n y a plus qu un seul enchérisseur La ressource est vendue si le prix d adjudication est supérieure au prix de réserve 96 Vente aux enchères ascendantes Quelques inconvénients de la vente anglaise : Rien n assure que le prix de réserve sera atteint Sensible à la malhonnêteté : Le vendeur qui prétend que le prix de réserve n est pas atteint (lying auctioneer problem) Le vendeur qui engage des enchérisseurs à augmenter la compétition pour obtenir plus des vrais enchérisseurs (shills) Le vendeur qui prétend une enchère au fond de la salle pour augmenter la compétition (phantom bidder) Les enchérisseurs qui forment une collusion pour obtenir l objet ou la ressource à plus faible coût (ring) 97 Actes de l école Web Intelligence, page 203

146 Agents et Web Vente aux enchères ascendantes pour les agents 98 Vente aux enchères descendantes La vente commence à un prix initial plus élevé que la valeur réelle de l objet ou de la ressource Tant qu il n y a pas d enchérisseurs, le prix est décrémenté La vente stoppe quand un enchérisseur accepte le prix La ressource est vendue si le prix d adjudication est supérieure au prix de réserve 99 Vente aux enchères descendantes Vente aux enchères utilisée pour la vente de produits frais : fleurs, poissons Plus la vente se prolonge plus le prix baisse et plus le produit se déprécie 100 Actes de l école Web Intelligence, page 204

147 Agents et Web Vente aux enchères descendantes pour les agents Le même protocole que précédemment mais avec un incrément négatif 101 Vente aux enchères sous pli scellé Chaque participant fait une offre sur la ressource La ressource est attribuée au meilleur enchérisseur à son offre (First-price seal-bid auction) ou au montant proposé par le deuxième enchérisseur (Vickrey auction) Il s agit d une vente aux enchères à un seul tour 102 Vente aux enchères dans la pratique Quelques plates-formes pour réaliser des ventes aux enchères : AuctionBot [Wurman, 98] : serveur de vente aux enchères à la fois pour des utilisateurs et des agents e-game [Fasli 04] : serveur de vente aux enchères à la fois pour des utilisateurs et des agents. Les ventes sont configurables 103 Actes de l école Web Intelligence, page 205

148 Agents et Web Contract Net [Smith 80] Déroulement du protocole : Le Task Manager annonce la tâche à réaliser avec ses contraintes Chaque participant peut faire une proposition ou refuser la tâche Après un certain délai, le Task Manager alloue la tâche à un participant. Les autres sont informés que la tâche ne leur est pas attribuée Le participant de la meilleure proposition réalise la tâche et informe le Task Manager du résultat Négociation dirigée par les contraintes L objectif est de répartir des ressources en fonction de contraintes soit sur les ressources soit sur les participants à la négociation Exemples : Prise de rendez-vous à plusieurs Définition d un emploi du temps pour une université Allocation des salles d opération dans un hôpital en fonction du personnel présent et des pathologies 106 Actes de l école Web Intelligence, page 206

149 Agents et Web Négociation dirigée par les contraintes Pour un emploi du temps universitaire : Des heures d ouverture et de fermeture Des salles avec des contraintes de capacité et de moyens de rétroprojection Des salles en nombre limité Des effectifs d étudiants avec des enseignements dans un ordre donné Des enseignants avec des contraintes d emploi du temps 107 Négociation dirigée par les contraintes Un agent emploi du temps Un agent par enseignant Négociation entre les agents pour placer les enseignements en respectant : Les enchaînements des enseignements Les capacités des salles Les disponibilités des enseignants 108 Négociation par argumentation Les décisions dans la négociation ne sont pas remises en question. De plus, il n y a pas forcément négociation des propositions. L argumentation offre une plus grande flexibilité à la négociation : Le Bidder peut argumenter sa proposition Le Task Manager peut attaquer la proposition 109 Actes de l école Web Intelligence, page 207

150 Agents et Web Argumentation L argumentation est généralement entre deux agents : l attaquant et le défendeur. L attaquant tente d invalider les arguments du défendeur. Le défendeur défend son argumentation et sa proposition. 110 Argumentation Un langage de communication argumentative est proposée dans [Parsons 03] : assert : une partie ajoute un argument validé à sa liste d arguments accept : une partie accepte l argument donné par la partie adverse challenge : une partie demande à connaître les arguments soutenant une proposition question : une partie met en doute une proposition et les arguments la soutenant 111 Argumentation et dialogue Les arguments sont inclus dans des jeux de dialogue [McBurney 03] avec une entrée dans le jeu et une sortie et un ensemble de coups. Les jeux de dialogue sont plus flexibles que les protocoles d interaction. 112 Actes de l école Web Intelligence, page 208

151 Agents et Web Agents et Services sur le Web En relation avec les Architectures Orientées Services (Service Oriented Architecture SOA) Mise en relation d un fournisseur et d un client par l intermédiaire d un médiateur Le fournisseur propose un service (ou action) qui est exécutée sur demande du client Le service Web est l archétype même du service 113 Evolution des services Web Generation Scope Technology Example First All Browser Any HTML page Second Programmatic Screen scraper Systematically generated HTML content Third Standardized Web services Formally described service Fourth Semantic Semantic Web services Semantically described service From Service-Oriented Computing: Semantics, Processes, Agents Munindar P. Singh and Michael N. Huhns, Wiley, Cycle de vie d une application orientée services 1. Découverte des services, 2. Sélection des services, 3. Composition des services, 4. Exécution de la composition. 115 Actes de l école Web Intelligence, page 209

152 Agents et Web Découverte des services La description des services est dans des bases UDDI Chaque service est décrit sous la forme d un document WSDL au format XML Nécessité de disposer d une description OWL-S pour fournir de la sémantique associée au service 116 Sélection des services Utilisation des agents à plusieurs niveaux : Sélection des services en se fondant sur les préférences des utilisateurs Sélection des services en se fondant sur la sémantique des services (WSDL + OWL-S) Définition de réputation et de recommandation sur les services 117 Composition de services Web Composer les services Web afin de dégager une plus-value Exemple classique : Agence de voyage qui prépare un séjour à la carte répondant aux attentes d un client 118 Actes de l école Web Intelligence, page 210

153 Agents et Web Composition des services Web La composition de services Web peut être vue comme un problème de planification : Un ensemble de services définis sous la forme d actions avec données en entrée et en sortie, et des pré-conditions L état courant (données disponibles) L état désiré par l utilisateur Le résultat attendu est la composition avec l enchainement des services 119 Composition de services Web La composition de services existe dans la communauté SOA (Service-Oriented Architecture): à partir d un ensemble de services, on réalise une composition manuelle de ces services L idéal demeurant de permettre une composition automatique à partir de l ensemble des services et du but de l utilisateur : planification à l aide d agents 120 La planification dans les SMA Exécution Mono-agent Exécution Multi-agent Planification Mono-agent Planification Multi-agent Planification classique provenant de l IA (STRIPS) : l agent planifie ses prochaines actions Approche centralisée, nécessite une connaissance très poussée des différents agents ou tous les agents sont équivalents Les agents construisent un plan et chacun apporte ses connaissances, puis les agents réalisent leur partie de plan 121 Actes de l école Web Intelligence, page 211

154 Agents et Web Le SMA contrôle les services Web Architecture à deux couches : Couche inférieure : les services Web Couche supérieure : les agents Justification d une telle architecture : Les agents peuvent contrôler l exécution des services Web Les agents peuvent modifier la composition si un service devient indisponible Les agents peuvent planifier la composition en fonction de critères comme le service global demandé, la qualité de service, les services disponibles ou les préférences des utilisateurs 122 Agent comme Service Web Un agent est vu comme un agent par sa communauté et comme un service Web pour les autres applications. Il répond donc aux protocoles de FIPA et aux invocations SOAP 123 Agent comme Service Web Web Service Client SOAP Request SOAP Response Web Service Agent Gateway ACL Inform ACL Request Agent From Service-Oriented Computing: Semantics, Processes, Agents Munindar P. Singh and Michael N. Huhns, Wiley, Actes de l école Web Intelligence, page 212

155 Agents et Web Agent comme interface Un agent joue l interface entre le client et les services Web : il peut ainsi adapter l invocation aux préférences de l utilisateur et corriger les invocations erronées 125 Intérêt d un service Web agentifié Possibilité de tenir compte du contexte d exécution Possibilité d adapter l utilisation aux préférences de l utilisateur Meilleure prise en compte des exceptions en modifiant dynamiquement les invocations de services 126 L exemple AgentCities Réseau de 14 plates-formes agent connectées sur Internet dans sa première version: 12 villes européennes, 1 ville japonaise et 1 ville américaine. Ces plates-formes fonctionnaient en 24h sur 24, 7 jours sur 7. Chaque plate-forme fournit un ensemble de services à destination des utilisateurs. 200 services déployés sur les plates-formes. Application à la composition de services dans le tourisme : définition d un séjour à la carte 127 Actes de l école Web Intelligence, page 213

156 Agents et Web AgentCities Plusieurs niveaux considérés dans AgentCities : Réseau avec l échange de messages entre les plates-formes Service avec la création de services et la possibilité de voir l exécution des services, et la définition de composition de services Sémantique pour évaluer la capacité d interconnecter des plates-formes de façon automatique 128 Plan I. Introduction II. Systèmes Multi-Agents III. Agents et Services sur le Web IV. Agents et Informations sur le Web Accès aux informations Gestion des données personnelles, privacy, confiance V. Conclusion 129 Problème Actuellement le Web contient autour de 5 milliards de documents statiques, accédés par environ 500 millions d utilisateurs Aujourd hui, un utilisateur attends longtemps dans le cadre de recherche d information entre le moment où il soumet sa requête et le moment où il reçoit les résultats La probabilité que le résultat de la recherche contienne l information que l utilisateur recherche précisément décroît. Ainsi, afin de s assurer d obtenir des résultats satisfaisants et qu un nombre suffisant de sites soit trouvé, l utilisateur passe plus de temps et tente différentes requêtes La quantité de résultats recherchés augmente. Ceci implique une augmentation du temps que l utilisateur passe en ligne à sélectionner les informations pertinentes La quantité de sites appropriés dans le cadre d une recherche moyenne sur le Web croît ainsi que le temps que passe l utilisateur pour télécharger et intégrer les différentes informations recherchées dans un document Que peuvent faire les agents???! 130 Actes de l école Web Intelligence, page 214

157 Agents et Web Technologies mobilisables? Ontologies pour représenter les connaissances OWL, DAML, OWL-S, Services de connaissances ou Semantic Web services Agents pour utiliser et raisonner sur les connaissances De manière isolée, un agent ne peut pas faire grand chose Mise en place de sociétés d agents en interaction, installant des comportements collectifs (coopération, négociation, coordination, ) 131 Problématique d après [Terziyan 07] Annotation sémantique Ontologies Ressources Web / services / BDs / etc. 132 Problématique d après [Terziyan 07] Annotation sémantique Ontologies Ressources Web / services / BDs / etc. 133 Actes de l école Web Intelligence, page 215

158 Agents et Web Problématique d après [Terziyan 07] Annotation sémantique Ontologies Ressources Web / services / BDs / etc. 134 Problématique Ressources Web / services / BDs / etc. Utilisateurs (profils, préférences)? Ressources externes Agents / Applications Objets Communicants d après [Terziyan 07] 135 Architectures possibles d après [Terziyan 07] Existence/localisation des annotations sémantiques relatives aux utilisateurs (préférences, profils, requêtes de recherche, etc.) (1) Absent (2) côté-serveur (3) côté-client Existence/localisation des annotations sémantiques relatives aux ressources Web (annotations, descriptions, etc.) (1) Absent (2) côté-serveur (3) côté-client Existence/localisation d agent intelligent pour rechercher/intégrer l information sur le Web (1) Absent; (2) côté-serveur (3) côté-client Type de technologie utilisée pour la recherche d information : (1) Pull; (2) Push; (3) Mirror (i.e. combinaison de Pull, Push). 136 Actes de l école Web Intelligence, page 216

159 Agents et Web Architecture #1 d après [Terziyan 07] Agent Assistant Absence annotation, agent côté client, Pull 137 Diagramme interaction sur architecture #1 User submits search query to user agent Agent finds and accesses external resource 1 Agent downloads data from resource 1 Agent finds and accesses external resource 2 Agent reports search results to its user Agents downloads data from resource 2 User integrates data d après [Terziyan 07] 138 Architecture #2 Agent Ressource Pas d annotation, Agent côté fournisseur, Push d après [Terziyan 07] 139 Actes de l école Web Intelligence, page 217

160 Agents et Web Diagramme Interaction sur architecture #2 Agent finds User 1 and advertises resource User 1 accesses and downloads data from the resource Resource submits ads query to its agent Agent finds User 2 and advertises resource User 2 refuses to download data from the resource d après [Terziyan 07] Agent reports to the resource the list of accessed users 140 Architecture #3 Annotation ressource Annotation ressource côté serveur, agent côte client d après [Terziyan 07] 141 Diagramme Interaction sur architecture #3 Resource 1 advertises itself on a server (puts semantic annotation) User submits search query to user agent Agent analyzes annotation Agent finds and accesses annotation of resource 1 Agent downloads annotation of resource 1 Agent accesses resource 1 Agent downloads data from resource 1 Agent finds and accesses annotation of resource 2 Agent downloads annotation of resource 2 Resource 2 advertises itself on a server (puts semantic annotation) Agent reports integrated search results to its user Agent accesses resource 2 Agent downloads data from resource 2 Agent integrates data from resources based on annotations d après [Terziyan 07] 142 Actes de l école Web Intelligence, page 218

161 Agents et Web Architecture #4 Annotation Utilisateur Annotation Ressource Annotations, agent sur serveur d après [Terziyan 07] 143 Diagramme Interaction sur architecture #4 External service invites a user to submit his/her annotated preferences User submits annotated preferences to the service External service invites resource to advertise its content Resource submits content annotation to the service Service agent finds matches between resource annotations and user s preferences Service agent accesses resource Agent downloads personalized data Agent sends personalized data to the user User sends feedback to the service Service agent updates stored user preferences d après [Terziyan 07] 144 Agent d information Entité logicielle de calcul qui a accès à une ou plusieurs sources d information hétérogènes et géographiquement distribuées, qui acquiert, met en relation et maintient une information pertinente de manière pro-active pour le compte d un ou de plusieurs utilisateurs, d un ou de plusieurs agents. Elle assure ainsi : Acquisition : recherche d information (utilisation possible d ontologies), négociation ou achat d information auprès de fournisseurs sur des places de marché Gestion de l information : recherche, extraction, analyse et filtrage des données, la surveillance des sources et la mise à jour des informations pertinentes Présentation et synthèse de l information : fusion de données hétérogènes, proposer des vues unifiées multi-dimensionnelles des informations pertinentes pour l utilisateur Assistance intelligente de l utilisateur : adaptation dynamique aux changements des préférences utilisateur, aux modifications des informations, du réseau, du contexte Assistance interactive aux utilisateurs (Agent Conversationnels, ) 145 Actes de l école Web Intelligence, page 219

162 Agents et Web Agents d information Les agents d accès à l information sur le Web sont des agents autonomes opérant dans un univers multi-agent qui : Reçoivent des tâches, des préférences de leur utilisateur (éventuellement tiennent compte de leur contexte d usage) Recherchent, accèdent à des informations sur le Web (utilisation des ontologies), éventuellement se déplacent sur les sites, négocient l accès aux informations Comparent les informations vis-à-vis des exigences, des préférences de leur utilisateur Prennent des décisions au nom de leur utilisateur Donnent des réponses à leur utilisateur 146 Compétences nécessaires Compétences «Information» Recherche, filtrage, intégration, visualisation, achat, Fouille de données, Requêtes Compétences «Communication» Manipulation d un ACL Accès à des applications existantes, au Web, Communication Homme-Machine, perception et capteurs Compétences «Connaissance» Sur soi, sur l environnement Ontologies, méta-données, profils, formats Apprentissage Compétences «Collaboration» Interaction Homme-Agent Conversation, négociation, brokering, 147 Classification des agents d information Non-cooperatifs / cooperatifs selon la capacité des agents à coopérer entre eux pour l exécution de leurs tâches Non-adaptatifs / adaptifs selon leur capacité à s adapter aux changements dans les réseaux, dans les informations Non-rationnels / rationnels selon leur capacité à mettre en place un comportement utilitaire au sens économique. Ils peuvent ainsi agir et même collaborer afin d accroître leurs propres bénéfices Non-Mobiles / mobiles selon leur capacité à se déplacer sur l internet 148 Actes de l école Web Intelligence, page 220

163 Agents et Web Agents Information Coopératifs Accent est mis sur les protocoles et les méthodes pour mettre en place la coopération Différents scénarios, tels que délégation de tâches, contractualisation, négociation décentralisée ont été élaborés Exemples de systèmes : InfoSleuth [Nodine et al., 1999] RETSINA [Sycara, 1999] Ontology and corporate memory: FRODO [Van Elst and Abecker, 2001] Comma [Gandon 2002] ABROSE [Léger 1999] 149 InfoSleuth (1) Recherche d informations dans des bases hétérogènes Système à base d agents Agent Utilisateur (UA) UA 12 Agent Ressource (RA) 1 Agents : 2 de Service (BA) : Courtage, Gestion, TEA Ontologie BA 3 4 d Analyse et de Requête (QA) 5 11 Planification et de Gestion du temps (TEA) : 6 Planification et éxécution de Tâches, Sentinelles QA QA Pas de coopération entre agents de même niveau [Nodine 1999] RA RA 150 InfoSleuth (2) Ontologies statiques Pour la description du domaine et décrire les compétences au sein des RA Pour la formulation des requêtes dans InfoSleuth Utilisation des ontologies Pour la communication entre toutes les entités (utilisateur-agent, agent-agent) Pour améliorer le filtrage : Semantic Syntactic Constraint Brokering 151 Actes de l école Web Intelligence, page 221

164 Agents et Web Agent d information adaptatif Assistants personnels apprenant sur le Web Exemple : FIREFLY [Shardanand 95] 152 Agent d information adaptatif MAXIMS [Maes 94] : assistant à la lecture de Apprend à affecter des priorités, à détruire, à faire suivre, à trier et à archiver des mails pour le compte d un utilisateur Apprentissage en looking over the shoulder d utilisateur Chaque fois qu un nouvel événement se produit, MAXIMS enregistre la paire situation, action générée Une situation est caractérisée par : Émetteur du mail, récepteurs, sujet, etc. Lorsqu une nouvelle situation se produit, MAXIMS la met en correspondance avec les règles enregistrées Et essaie de prédirer ce que l utilisateur va faire : génération d un niveau de confiance Niveau de confiance comparé à deux seuils tell me et do it Si Confidence < tell me alors l agent reçoit un feeback Si tell me < confidence < do it alors l agent fait une suggestion Si Confidence > do it alors l agent agit 153 Agent d information rationnel Agents au sein d application de commerce électronique shop bots, agent-mediated auctions sur le Web Kasbah [Chavez 96] Bazaar [Zeng 97] UMDL [Durfee 97] COALA [Klusch 96] 154 Actes de l école Web Intelligence, page 222

165 Agents et Web Agent mobile d information Répartition de charge sur les réseaux, réduction des transferts de données entre les serveurs d information, 155 Plan I. Introduction II. Systèmes Multi-Agents III. Agents et Services sur le Web IV. Agents et Informations sur le Web Accès aux informations Gestion des données personnelles, privacy, confiance V. Conclusion 156 Problème Les applications dans le monde réel peuvent traiter des données classées, confidentielles Le développeur est impliqué dans le processus de traitement de ces données : Aucune garantie de traçabilité Aucune garantie de conserver ces données classées Besoin de libérer le développeur de la responsabilité de traiter les données correctement : Manque de compétence, de temps, de critères, Besoin d abstractions pour fournir des garanties quant à la sécurité et la privacy : À quel niveau d abstraction, où? 157 Actes de l école Web Intelligence, page 223

166 Agents et Web Problème Quelques questions dans le cadre du Web : Quelle est la confiance de l information trouvée sur le Web? Quelle est la confiance dans l application/service disponible sur le Web? Quelques questions dans le cadre d agents sur le Web : Comment décider de faire confiance à un agent à qui je délègue le soin de négocier des biens, d accéder/rechercher des informations? Avec quels autres agents partager mes informations? avec quels agents sʼassocier pour coopérer afin dʼaccomplir mes propres objectifs? Qu est ce qu un agent sait? Que peut-il dire? Est-il possible de connaître a priori quel agent doit connaître/ne pas connaître telle ou telle information? Quand est-ce que ces décisions doivent être prises? Par qui? Privacy, Sécurité, Confiance (Trust) sont des questions importantes. Comment les aborder dans un système multi-agent? Comment contrôler/réguler le fonctionnement du système? 158 Rôles des agents Fournisseurs d information (ou de services) Souhaitent que leurs informations/services soient utilisés, considérées Veulent leurs exigences, préférences soient respectées Sont prêts à dépenser un certain effort dans la publication Consommateurs d information (ou de services) Veulent utiliser les informations/services pour des tâches différentes Ont différentes vues du monde Les deux ont : Des exigences différentes de confiance / privacy Des préférences différentes vis-à-vis de mécanismes de confiance / privacy 159 Exemple C fait confiance à F pour fournir a C authentifie F, vérifie la politique de privacy/politique locale C fait confiance à F / politique de privacy et répond aux exigences par rapport à a Consommateur 1. Demande a 2. Demande exigences/ a Fournit politique privacy 3. Répond aux exigences/ a Fournisseur F authentifie C, vérifie les autorisation, établit les exigences pour a F construit la requête sur les exigences/ a en y inscrivant ses politiques de privacy F authentifie les réponses de C, analyse les informations C fait confiance à F vis-àvis de a. F ne va pas forcément se comporter conformément aux décisions de confiance faites par C 4. Envoie a F envoie a dans le format approprié 160 Actes de l école Web Intelligence, page 224

167 Agents et Web Comment contrôler l interaction entre agents? Plate-forme Approche Sécurité agent d après [Muller 08] 161 Comment contrôler l interaction entre agents? Approche Sécurité I m Alice Validation de l identité de l agent Intégrité, authenticité des messages... d après [Muller 08] 162 Comment contrôler l interaction entre agents? Approche Normative Approche Sécurité Spécification d une scène d interaction en IDL de Islander d après [Muller 08] 163 Actes de l école Web Intelligence, page 225

168 Agents et Web Comment contrôler l interaction entre agents? Approche Contrôle social Approche Normative Approche Sécurité d après [Muller 08] 164 Exemple: Système P2P d après [Muller 08] 165 Exemple: Système P2P d après [Muller 08] 166 Actes de l école Web Intelligence, page 226

169 Agents et Web Exemple: Système P2P d après [Muller 08] 167 Comment contrôler l interaction entre agents? d après [Muller 08] Approche Contrôle social Mécanismes de Trust et réputation sont à ce niveau Approche Normative Approche Sécurité Ces approches sont complémentaires et couvrent différents aspects du contrôle des interactions 168 Définition Castelfranchi & Falcone font une distinction claire entre : Trust comme une croyance (evaluative belief) A truster agent believes that the trustee is trustful e.g.: Je crois que mon docteur est un bon chirurgien Trust comme une attitude mentale A truster agent relies on a trustee for a given behaviour e.g.: J accepte que mon docteur m opère d après [Muller 08] 169 Actes de l école Web Intelligence, page 227

170 Agents et Web Trust comme une croyance A truster i trusts a trustee j to do an action α in order to achieve a goal ϕ [Castelfranchi & Falcone] L agent i a le but ϕ Attribution interne de la confiance i croit que j a l intention de faire α Attribution externe de la confiance i croit que j est capable de faire α i croit que j a le pouvoir de satisfaire ϕ en réalisantα Le composant but peut être généralisé pour considérer l obéissance à une norme. [Demolombe & Lorini] d après [Muller 08] 170 Confiances Occurent trust se produit lorsqu un truster croit que le trustee va agir ici et maintenant [Herzig et al, 08]. OccTrust(i, j, α, ϕ) = Goal(i, ϕ) Λ Believes(i, OccCap(j, α)) Λ Believes(i, OccPower(j, α, ϕ)) Λ Believes(i, OccIntends(j, α)) Dispositional trust se produit lorsque le truster croit que le trustee va agir dès que certaines conditions seront satisfaires [Herzig et al, 08] DispTrust(i, j, α, ϕ) = PotGoal(i, ϕ) Λ Believes(i, CondCap(j, α)) Λ Believes(i, CondPower(j, α, ϕ)) Λ Believes(i, CondIntends(j, α)) 171 Trust et délégation Trust (comme croyance) peut conduire à un Trust comme attitude mentale (délégation), dès que le truster i s appuie sur le trustee j. Trust comme attitude mentale faible (délégation faible) j n est pas sensible sur le fait que i exploite son action Trust comme attitude mentale forte (délégation forte) i elicite ou induit que le comportement de j est de l exploiter Il peut y avoir une trust comme croyance sans qu il y ait délégation (confiance insuffisante, interdictions) Il peut y avoir des délégations sans trust comme croyance (pas d information, obligations) d après [Muller 08] 172 Actes de l école Web Intelligence, page 228

171 Agents et Web Réputation La réputation ajoute une dimension collective à celui qui fait confiance. Reputation is an objective social property that emerges from a propagating cognitive representation [Conte & Paolucci]. Cette définition inclue à la fois que : c est un processus de transmission d une image de la cible c est une représentation cognitive résultant de cette propagation d après [Muller 08] 173 Ontologie Fonctionnelle de la Réputation L ontologie fonctionnelle de la réputation (FORe) [Casare & Sichman, 05] a pour objectif de définir les concepts liés à la réputation FORe inclue : Processus de Réputation Types de Réputation et natures Rôles d Agent Connaissance commune (sources d information, entités, temps) Facilite l interopérabilité de modèles hétérogènes de réputation d après [Muller 08] 174 Processus de réputation d après [Muller 08] Transmission de Réputation / réception Un agent envoie/reçoit une information de réputation à/de un autre agent Evaluation de la Réputation Production d une mesure de réputation qui peut contenir plusieurs attributs valués (évaluation du contenu) ou une estimation non expliquée (niveau d estime). Les valeurs peuvent être quantitatives ou qualitatives. Maintenance de la Réputation Les altérations de la réputation au cours du temps peuvent prendre en compte les impacts des comportements d agents (agrégation) ou l historique des comportements (processus historique) 175 Actes de l école Web Intelligence, page 229

172 Agents et Web Agent roles [Conte & Paolucci, 02] Propagator Beneficiary evaluations reputations Beneficiary Propagator Observer Target Participants Propagator Evaluator observations d après [Muller 08] 176 Types de réputation [Mui, 02] Type primaire de réputation Réputation directe Réputation observée Type secondaire de réputation Réputation collective Réputation propagée Réputation stéréotypée d après [Muller 08] 177 Critères pour un bon modèle de confiance? Un bon modèle de confiance devrait être [Fullam et al, 05]: Précis Fournissant de bonnes prévisions Adaptatif Evoluant selon le comportement des autres Convergeant rapidement Calculant rapidement des valeurs précises Multi-dimensionnel Considérant différentes caractéristiques d agent Efficient Calculant la valeur dans un temps et un coût raisonnables d après [Muller 08] 178 Actes de l école Web Intelligence, page 230

173 Agents et Web Utilités d un modèle de confiance en SMA Les modèles de confiance permettent : D Identifier et d isoler des agents indignes de confiance d après [Muller 08] Bob I don t trust Bob I don t trust Bob I don t trust Bob 179 Utilités d un modèle de confiance en SMA Les modèles de confiance permettent : D Identifier et d isoler des agents indignes de confiance D évaluer l utilité d une interaction I can sell you the information you require d après [Muller 08] Bob I don t trust Bob No, thank you! 180 Utilités d un modèle de confiance en SMA Les modèles de confiance permettent : D Identifier et d isoler des agents indignes de confiance D évaluer l utilité d une interaction De décider avec qui interagir I can sell you the information you require No, thank you! d après [Muller 08] Charles I trust Bob more than Charles I can sell you the information you require Ok, Bob. It s a deal Bob 181 Actes de l école Web Intelligence, page 231

174 Agents et Web Modèle LIAR [Muller & Vercouter, 05] d après [Muller 08] Modèle conçu pour le contrôle de la coopération dans un réseau P2P Aucune centralisation de la décision Utilisation d un protocole peer-to-peer pour les routages de requêtes Le fonctionnement global du réseau P2P s appuie sur le comportement attendu des nœuds (agents) Utilisation du contrôle social [Castelfranchi, 00] pour la régulation du comportement des agents 182 LIAR: contrôle social des interactions d après [Muller 08] Definition of acceptability Social commitments Social Control Reputations Trust intentions Representation Sanction Interactions 183 Architecture agent LIAR Initialisation d après [Muller 08] Punishment Reputations Reasoning Social policies Recommendations Trust intention Context Social norms Evaluation Recommendation filtering Decision Social commitments Mental states Observation Interactions Sanction 184 Actes de l école Web Intelligence, page 232

175 Agents et Web Détection de violations au sein Evaluation d après [Muller 08] Evaluator observations(ob) Propagator [proof received]iteration social commitment update social policy evaluation social policy generation Protocole de Justification 185 Types de réputation dans LIAR d après [Muller 08] Rp target beneficiary (facet,dimension,time) [-1,+1] Ս {unknown} 7 rôles différents target participant observator evaluator punisher beneficiary propagator 5 types de réputation basés sur : direct interaction indirect interaction recommendation about observation recommendation about evaluation recommendation about reputation 186 Calcul de la Réputation d après [Muller 08] Direct Interaction based Reputation Séparation des politiques sociales selon leur état Association d une pénalité à chaque ensemble réputation = moyenne pondérée des pénalités Reputation Recommendation based Reputation Basée sur la trusted recommendation reputation = moyenne pondérée des valeurs reçues Pondérée par la réputation de celui qui punit 187 Actes de l école Web Intelligence, page 233

176 Agents et Web Processus de décision LIAR d après [Muller 08] Trust_int = trust >θ trust DIbRp >θ trust IIbRp >θ trust ObsRcbRp >θ trust EvRcbRp >θ trust RpRcbRp DIbRp ObsRcbRp ObsRcbRp EvRcbRp RpRcbRp (*) (*) (*) (*) (*) GDtT <θ distrust DIbRp <θ distrust IIbRp <θ distrust ObsRcbRp <θ distrust EvRcbRp <θ distrust RpRcbRp Trust_int = distrust (*) -> (unknown) or not relevant or not discriminant 188 Plan I. Introduction II. Systèmes Multi-Agents III. Agents et Services sur le Web IV. Agents et Informations sur le Web V. Conclusion 189 ModélisationS Multi-Agents Multi-modèle : Articulation de formalismes différents Multi-point de vue : Externe/interne, centré-système/centré-agent Visions différentes d un monde partagé Multi-niveau Via les organisations, via l environnement (SMA) Multi-échelle Échelles temporelles, spatiales, 190 Actes de l école Web Intelligence, page 234

177 Agents et Web CaractéristiqueS Multi-Agents Intelligence Artificielle Partage de Connaissances Autonomie Décentralisation Distribution Système Distribué Vie Artificielle Agent Logiciel Adaptation Délégation Interaction Organisation Situation dans un environnement Ouverture Emergence Personnalisation Intelligibilité Interaction Homme Machine Génie Logiciel 191 Défis Scientifiques Complexité Applications SMA fermés SMA inter-organisationnels SMA ouverts Source : AgentLink Roadmap SMA massifs Court-terme Moyen-terme Moyen-terme Long-terme Un même but Mécanismes de coordination ad-hocs Conception Ad-Hoc Scalability en simulation buts différents Mécanismes de coordination adaptables Conception Multi- Agent Nombre important d agents, Scalability Méc. coordination génériques Standards conception multi-agent Passage à l échelle dans domaines, Robustesse, Ouverture Apprentissage des mécanismes de coordination Coordination émergente Passage à l échelle Actes de l école Web Intelligence, page 235

178 Agents et Web Pour aller plus loin Quelques références générales Pitfalls of Agent-Oriented Development, M. Wooldridge, N.R. Jennings, Agents 98, Foundations of Distributed Artificial Intelligence, G.M.P. Hoare, N.R. Jennings, Wiley & Sons, 1996 Les systèmes multi-agents, J. Ferber, InterEditions, 1995 Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence, edited by Gerhard Weiss, MIT Press, ISBN Principes et architectures des Systèmes Multi-Agents, J.P. Briot, Y. Demazeau, IC2, Hermès, 2001 Quelques standards Knowledge Sharing Effort OMG Agent Working Group FIPA W3C Quelques adresses générales Collège SMA de l AFIA : AgentLink : AgentCities : 194 Panorama du domaine (1/2) Conférences internationales International Conference on Multi-Agent System (ICMAS) de 1995 à 2000, International Conference on Autonomous Agents and MultiAgent Systems (AAMAS) depuis (http://www.aamas-conference.org/) Conférence Francophone Journées Francophones SMA (http://www.cerv.fr/jfsma08/) Collège SMA de l AFIA (http://sma.lip6.fr/) Projets Européens AgentLink (réseau d excellence Roadmap (www.agentlink.org/roadmap) Quelques Success Stories Brahms (agentsolutions NASA Ames Research Center Living Systems (Whitestein technologies ABX Logistics estar (http://www.estar.org.uk/) intelligent robotic telescope network CalicoJack (http://www.calicojack.co.uk/) Review of Industrial Deployment of Multi-Agent Systems 195 Panorama du domaine (2/2) Standards FIPA (Foundation for Intelligent Physical Agents) (http://www.fipa.org/) Compétitions Actes de l école Web Intelligence, page 236

179 Agents et Web Panorama du domaine (3/3) Panorama Journaux Autonomous Agents and Multi-Agent Systems Artificial Intelligence Knowledge Engineering Review International Journal of Agent-Oriented Software Engineering (IJAOSE) Web Intelligence and Agent Systems An International Journal Listes de diffusion Agent List Distributed Artificial Intelligence List Liste francophone 197 Références [Agre 87] Agre, P. E. and D. Chapman (1987). " Pengi: An Implementation of a Theory of Activity". AAAI-87. The Sixth National Conference on Artificial Intelligence, Menlo Park, CA., Morgan Kaufman, Los Altos, CA [Bayardo 97] R.J. Bayardo et al.. InfoSleuth: Agent-Based semantic integration of information in open and dynamic environments. Proc. ACM SIGMOD Intern. Conf. on Management of Data, [Brooks 86] R. Brooks, J.H. Connel: Asynchronous Distributed Control System for a mobile robot, SPIE 727 Mobile Robots, 1986 [Bura 91] "Eco-Résolution: un Modèle de Résolution par Interactions" Bura S., Drogoul A., Ferber J. & Jacopin E. Actes de RFIA, Lyon, [Carabelea 04] Cosmin Carabelea, Olivier Boissier, Cristiano Castelfranchi: Using Social Power to Enable Agents to Reason About Being Part of a Group. ESAW 2004: [Casare & Sichman, 05] S. J. Casare and J. S. Sichman, Towards a functional ontology of reputation, Proceedings of AAMAS 05, [Castelfranchi & Falcone, 98] C. Castelfranchi and R. Falcone, Principles of trust for MAS: Cognitive anatomy, social importance and quantification. Proc of ICMAS 98, pages 72-79, [Chavez 96] K. Chavez, P. Maes, Kasbah: an agent marketplace for buying and selling goods. Proceedings of PAAM'96, Practical Application [Conte & Paolucci, 02] R. Conte and M. Paolucci, Reputation in Artificial Societies. Social Beliefs for Social Order, Kluwer Academic Publishers, G. Weiss (eds), Dordrecht, The Netherlands, Références [Demazeau 95] Y.Demazeau: From interactions to collective behaviour in agent-based systems. In Proc. of the 1 st European Conf. on Cognitive Science, Saint Malo, France, April, 1995, p [Demolombe & Lorini, 08] R. Demolombe and E. Lorini, Trust and norms in the context of computer security: a logical formalization. Proc of DEON 08, LNAI, [Durfee 97] Durfee, E. H., Kiskis, D. L., and Birmingham, W.P., "The Agent Architecture of the University of Michigan Digital Library", IEE/British Computer Society Proceedings on Software Engineering (Special Issue on Intelligent Agents) 144(1), February [Esteva 01] Marc Esteva, Julian A. Padget, Carles Sierra: Formalizing a Language for Institutions and Norms. ATAL 2001: [Esteva 04] Marc Esteva, Bruno Rosell, Juan A. Rodríguez-Aguilar, Josep Lluís Arcos: AMELI: An Agent-Based Middleware for Electronic Institutions. AAMAS 2004: [Fasli 04] : M. Fasli et M. Michalakopoulos, «e-game: a generic auction platform supporting customizable market games», IAT [Ferber 98] Jacques Ferber, Olivier Gutknecht: A Meta-Model for the Analysis and Design of Organizations in Multi-Agent Systems. ICMAS 1998: [Finin 97] KQML as an agent communication language Tim Finin, Yannis Labrou, and James Mayfield, in Jeff Bradshaw (Ed.), ``Software Agents'', MIT Press, Cambridge, to appear, (1997) [FIPA 02] 199 Actes de l école Web Intelligence, page 237

180 Agents et Web Références [Fullam et al, 05] K. Fullam, T. Klos, G. Muller, J. Sabater-Mir, A. Schlosser, Z. Topol, S. Barber, J. Rosenschein, L. Vercouter and M. Voss, A Specification of the Agent Reputation and Trust (ART) Testbed: Experimentation and Competition for Trust in Agent Societies, Proceedings of AAMAS 05, [Gandon 02] Fabien Gandon, Laurent Berthelot, Rose Dieng-Kuntz, A Multi-Agent Platform for a Corporate Semantic Web, AAMAS 2002, 6th International Conference on Autonomous Agents, 5th International Conference on Multi-Agents Systems, 9th International Workshop on Agent Theories Architectures and Languages, Eds Castelfranchi C., Johnson W.L., p , July 15-19, 2002, Bologna, Italy. [Gateau 06] Benjamin Gâteau: Using a Normative Organisational Model to Specify and Manage an Institution for Multi-agent Systems. EUMAS 2006 [Gutknecht 00] Olivier Gutknecht, Jacques Ferber: MadKit: a generic multi-agent platform. Agents 2000: [Herzig et al, 08] A. Herzig, E. Lorini, J. F. Hubner, J. Ben-Naim, C. Castelfranchi, R. Demolombe, D. Longin and L. Vercouyter. Prolegomena for a logic of trust and reputation, submitted to Normas 08. [Hubner 02] Jomi Fred Hübner, Jaime Simão Sichman, Olivier Boissier: A Model for the Structural, Functional, and Deontic Specification of Organizations in Multiagent Systems. SBIA 2002: [Hubner 05] Jomi Fred Hübner, Jaime Simão Sichman, Olivier Boissier: S-MOISE+: A Middleware for Developing Organised Multi-agent Systems. AAMAS Workshops 2005: [Hubner 07] Jomi Fred Hübner, Jaime Simão Sichman, Olivier Boissier: Developing organised multiagent systems using the MOISE. IJAOSE 1(3/4): (2007) 200 Références [Klusch 00] M. Klusch: Information Agent Technology for the Internet: A Survey. Journal Data & Knowledge Engineering, Kluwer Academic, 36(3), 2000 [Klusch 96] Klusch, M., Shehory, O., 1996, Coalition Formation Among Rational Information Agents, 1996, Proc. of MAAMAW, Eindhoven, LNAI Series Vol. 1038: , Springer-Verlag [Klusch 99] M. Klusch (ed.): Intelligent Information Agents. Springer, 1999 [Klush 01] M. Klusch (ed.) Special issue on Intelligent Information Agents: Theory and Applications, Intelligent Cooperative Information Systems, vol. 10(1&2), March 2001 [Léger 99] Alain Léger, Marie-Pierre Gleizes, Hans Joachim Einsiedler. ABROSE : A Co-operative Multi-Agent Based Framework for Electronic Marketplace. Dans : InfoWin, ACTS Project Infowin (AC113), Vol. -, p , [Maes 04] P. Maes, Agents that reduce work and information overload, Communications of the ACM, Vol. 37, no. 7, July 1994, special issue on Intelligent Agents. [Maes 90] Maes, P. (1990). "Situated Agents Can have Goals." Designing Autonomous Agents. Maes, P. (Ed.). Cambridge, MA., MIT Press: [McBurney 03] P. McBurney et S. Parsons, «Dialogue Game Protocols», Communication in Multiagent Systems, M.-P. Huget (ed.), LNCS 2650, [Mui et al., 02] L. Mui and M. Mohtashemi and A. Halberstadt, Notions of Reputation in Multi-agent Systems: A Review, Proceedings of Autonomous Agents and Multi-Agent Systems (AAMAS'02), p , 2002, C. Castelfranchi and W.L. Johnson (eds), Bologna, Italy, July, ACM Press, New York, NY, United States of America. 201 Références [Muller & Vercouter, 05] G. Muller and L. Vercouter, Decentralized Monitoring of Agent Communication with a Reputation Model, Trusting Agents for trusting Electronic Societies, LNCS 3577, [Muller 08] G. Muller, L. Vercouter, Trust and Reputation, cours EASSS 08 [Nodine 99] M. Nodine and J. Fowler. An overview of active information gathering in Infosleuth. Proc. Intern. Conference on Autonomous Agents, USA, [Parsons 03] S. Parsons et P. McBurney, «Argumentation-based Communication between Agents», Communication in Multiagent Systems, M.-P. Huget (ed.), LNCS 2650, [Pynadath 03] David V. Pynadath, Milind Tambe: An Automated Teamwork Infrastructure for Heterogeneous Software Agents and Humans. Autonomous Agents and Multi-Agent Systems 7(1-2): (2003) [Rao 95] A. S. Rao and M. P. Georgeff, BDI-agents: from theory to practice, Proceedings of the First Intl. Conference on Multiagent Systems, 1995 [Ricci 07] Alessandro Ricci, Mirko Viroli, Andrea Omicini. "Give Agents their Artifacts": The A&A Approach for Engineering Working Environments in MAS. 6th International Joint Conference "Autonomous Agents & Multi-Agent Systems" (AAMAS 2007) [Russel 91] Stuart Russell and Eric Wefald. Do The Right Thing. The MIT Press, Cambridge, Massachusetts, 1991 [Shardanand 95] U. Shardanand, P. Maes (1995): Social Information Filtering: Algorithms for Automating ``Word of Mouth'', In: Proceedings of the CHI ' Actes de l école Web Intelligence, page 238

181 Agents et Web Références [Sichman 94] Jaime Simão Sichman, Rosaria Conte, Cristiano Castelfranchi, Yves Demazeau: A Social Reasoning Mechanism Based On Dependence Networks. ECAI 1994: [Smith 80] : R.G. Smith, «The contract net protocol: High-level communication and control in a distributed problem solver», IEEE Transactions on Computers, C29 (12), [Sycara 00] K. Sycara, S. Widoff, M. Klusch, J. Lu: LARKS: Dynamic Matchmaking Among Heterogeneous Software Agents in Cyberspace. Journal on Autonomous Agents and Multi- Agent Systems, Kluwer, 2000 [Sycara 99] K. Sycara: In-context information management through adaptive collaboration of intelligent agents. In M. Klusch (ed.), Intelligent Information Agents, Springer, [Tambe 98] Milind Tambe: Implementing Agent Teams in Dynamic Multiagent Environments. Applied Artificial Intelligence 12(2-3): (1998) [Terziyan 07] Vagan Terziyan, MIT Department, University of Jyvaskyla, AI Department, Kharkov National University of Radioelectronics [Van Elst 01] Ludger van Elst and Andreas Abecker: Ontology-Related Services in Agent-Based Distributed Information Infrastructures. In: Proceedings of the Thirteenth International Conference on Software Engineering & Knowledge Engineering, June 13-15, 2001, Buenos Aires, Argentina, pp [Walton 07] Christopher Walton. Agency and the Semantic Web. Oxford University Press, [Weyns 06] Danny Weyns, Tom Holvoet: A Reference Architecture for Situated Multiagent Systems. E4MAS 2006: Références [Wurman 98] : P. Wurman, M. Wellman et W. Walsh, «The Michigan Internet AuctionBot: a configurable auction server for human and software agents», Autonomous Agents [Zeng 97] Zeng, D. and Sycara, K. (1997). Benefits of Learning in Negotiation, In: Proceedings of AAAI-97 E-Game : 204 Actes de l école Web Intelligence, page 239

182 Actes de l école Web Intelligence, page 240

183 Chapitre 7 Fouille de données et Web Jean-Marc Petit 1, Pascal Poncelet 2 1 INSA-Lyon/LIRIS, 2 Ecole des Mines Alès/LGI2P Actes de l école Web Intelligence, page 241

184 Fouille de données et Web Plan Introduction au data mining KDD Verrou : le passage à l échelle Focus sur les motifs ensemblistes Application au deep Web Analyse du contenu du Web (Web Content) Opinion Mining Vers les réseaux sociaux Extraction de tendances Web Usage Mining Un bref aperçu De nouveaux challenges 2 Ce que ce cours est/n est pas Est : Description (sommaire) de la fouille de données Un aperçu des enjeux et des techniques dans le contexte du Web N est pas : Un cours sur les systèmes de fouille de données Un descriptif exhaustif des problèmes issus du Web 3 Plan Introduction au data mining KDD Verrou : le passage à l échelle Focus sur les motifs ensemblistes Application au deep Web Analyse du contenu du Web (Web Content) Opinion Mining Vers les réseaux sociaux Extraction de tendances Web Usage Mining Un bref aperçu De nouveaux challenges 4 Actes de l école Web Intelligence, page 242

185 Fouille de données et Web Point d entrée bibliographique Principale référence «Data Mining: Concepts and Techniques» par Jiawei Han et Micheline Kamber, Morgan Kaufmann Publishers, 550 pages, 2004 Conférences scientifiques ACM KDD, IEEE ICDM, SIAM DM + conférence Web, bases de données et Apprentissage Sites web dédiés à la fouille de données 5 Introduction à la fouille de données «Nécessité est mère d invention» Constat : déluge de données sur le Web dans des entrepôts de données dans des bases de données dans des fichiers Pénurie de connaissances sur ces données 6 Le déluge! Exemples : Téléphone AT&T : BD d appel téléphonique 20TB, suivi des appels sans fil Grande consommation Wal- Mart: BD 70TB WEB crawl : 200M de pages et 2000M liens, 7 millards de clics par jour 7 Actes de l école Web Intelligence, page 243

186 Fouille de données et Web Simple extension des BD? Vision possible, notion de dataspaces Historiquement requêtes SQL accéder efficacement aux données requêtes OLAP (OnLine Analytical Processing) améliorer le requêtage par agrégations «complexes» Fouille de données (data mining) aller au-delà : faire parler les données! construction de modèles d apprentissage pour la classification, regroupement de données en classes, 8 Qu est ce que la fouille de données? Mauvais noms, analogie avec la recherche d or Définition informelle : Extraction of interesting (non-trivial, implicit, previously unknown and potentially useful) information or patterns from data in large databases Synonymes : Data mining, KDD pour knowledge discovery in databases, business intelligence, etc. Ce que n est pas la fouille de données? Systèmes experts Petits programmes statistiques/d apprentissage 9 Fouille de données Interprétation Sélection Préparation Données cibles Bases de Données, fichiers, images Data Mining Données préparées Information extraites Connaissances 10 Actes de l école Web Intelligence, page 244

187 Fouille de données et Web Les principales techniques Les techniques "classiques" Association corrélation et causalité Classification et prédiction supervisée arbre de décision, réseaux bayésiens, réseaux de neurones, régression logistique, linéaire, non linéaire Segmentation (Clustering) non supervisée Analyse des cas particuliers (outliers) Et beaucoup d autres 11 Un domaine pluridisciplinaire Analyse de données, Statistiques, Mathématiques Bases de données Accès à des données volumineuses, entrepôts de données Algorithmique en mémoire externe Intelligence Artificielle Techniques d'apprentissage "Machine learning" Autres domaines : Recherche opérationnelle, optimisation combinatoire Imagerie Visualisation Nouveau domaine à part entière? 12 Principales applications A qui sert le data mining? à l'homme, e.g. pour faciliter la prise de décision à des systèmes, e.g. pour s'adapter automatiquement en fonction des données collectées (e.g. systèmes d'exploitation, bases de données). Exemples pour l'aide à la décision Analyse de marchés cible marketing, gestion clientèle, analyse du panier de la ménagère, segmentation de marché Analyse de risques prévision, contrôle qualité, détection de fraudes,... Domaines d'application : commerce, bio-informatique, 13 Web Actes de l école Web Intelligence, page 245

188 Fouille de données et Web Exemples Les transactions dans les grandes surfaces Comment mieux disposer les articles dans les rayons pour favoriser les ventes? Comment concevoir un catalogue? une page Web? Les achats sur Amazon.com Les transactions aux péages autoroutes 14 Préparation des données Nettoyage des données valeurs manquantes, valeurs aberrantes, inconsistances Intégration des données fichiers, BD, entrepôts Transformation des données Normalisation, Agrégation Réduction des données Représentation plus "petites" des données sans altérer la qualité des résultats analytiques, Discrétisation des données Etape critique et laborieuse qui conditionne la suite du processus => Encore plus vrai sur le Web! 15 Utilité de la connaissance extraite? Problème du volume de la connaissance extraite Par ex, plusieurs millions de règles d'association Mesure d'intérêt de la connaissance extraite Mesure objective, basée sur des statistiques support, confiance d'une règle Mesure subjective, basée sur l'utilisateur Quand est ce que la connaissance est intéressante? Quand elle est inattendue Quand elle sert à résoudre le problème de l'analyste Problème majeur en pratique, pas de solutions à priori 16 Actes de l école Web Intelligence, page 246

189 Fouille de données et Web Les systèmes DM (SDM) Les systèmes supportant le Data Mining Analogie avec les SGBD Industrie Côté statistiques SAS : Entreprise Miner SPSS avec Clementine Côté bases de données Microsoft : OLE DB for DM IBM : Intelligent Miner Oracle : package ad-hoc, SQL-like data mining Académie DMQL (J. Han, USA) Logiciel libre WEKA (Nouvelle Zélande) 17 Interaction des SDM avec les SGBD pas de couplage déchargement d'une partie de la BD dans un fichier couplage faible récupérer les données ligne à ligne avec SQL et curseurs via un LP couplage semi-fort quelques primitives de DM intégrés dans un SGBD couplage fort intégration totale des techniques de DM dans un SGBD Positionnement des outils dans ce canevas? 18 Plan Introduction au data mining KDD Verrou : le passage à l échelle Focus sur les motifs ensemblistes Application au deep Web Analyse du contenu du Web (Web Content) Opinion Mining Vers les réseaux sociaux Extraction de tendances Web Usage Mining Un bref aperçu De nouveaux challenges 19 Actes de l école Web Intelligence, page 247

190 Fouille de données et Web Passage à l échelle Fouille de données : activité qui permet de découvrir des connaissances dans les données volumineuses Verrous? passage à l échelle des techniques développées en analyse de données, machine learning, statistiques, optimisation combinatoire, Passage à l échelle? Quel verrou technologique sous jacent? 20 Modèle de mémoire RAM Modèle théorique standard de calcul Très simple Mémoire virtuelle infini Coût d accès en temps constant Modèle crutial pour le succès de l informatique R A M 21 Mémoire hiérarchique L 1 L 2 R A M Machines modernes Plusieurs niveaux de mémoire Niveaux loin du processeur : plus grands et plus lents Mouvement des données entre les niveaux Utilisation de bloc ou page De plus en plus grand 22 Actes de l école Web Intelligence, page 248

191 Fouille de données et Web E/S lente track magnetic surface read/write head read/write arm Accès disque ~ 10 6 plus lent que accès RAM The difference in speed between modern CPU and disk technologies is analogous to the difference in speed in sharpening a pencil using a sharpener on one s desk or by taking an airplane to the other side of the world and using a sharpener on someone else s desk. (D. Comer) Important de stocker et d accéder aux données de façon à tirer profit des blocs (contiguité) 23 Problème de passage à l échelle Programmes développés dans le modèle RAM Fonctionne sur des grands jeux de données OS déplace les blocs pour nous entre les niveaux! OS récents utilise des stratégies de pagination et de prefetching sophistiquées Inefficace si le programme fait des accès aléatoires problèmes de passage à l échelle (scalability) running time data size 24 Retour sur le data mining Définition personnelle du contour des techniques de data mining «Toutes les propositions qui adressent le problème du passage à l échelle dans la taille des données» 25 Actes de l école Web Intelligence, page 249

192 Fouille de données et Web Plan Introduction au data mining KDD Verrou : le passage à l échelle Focus sur les motifs ensemblistes Application au deep Web Analyse du contenu du Web (Web Content) Opinion Mining Vers les réseaux sociaux Extraction de tendances Web Usage Mining Un bref aperçu De nouveaux challenges 26 Motifs ensemblistes Cadre général des «problèmes d énumération de motifs intéressants dans les bases de données» Motifs ensemblistes Cas simple de motifs! Motif peut être Arbre, graphe, structure complexe Au demeurant, très commun en pratique et sur le Web! 27 Sur cette partie Problèmes d énumération des motifs intéressants Exemples Cadre formel Exemples d algorithmes d énumération 28 Actes de l école Web Intelligence, page 250

193 Fouille de données et Web Quelques exemples Motifs fréquents pour les règles d association Apriori [Agrawal, Sigmod 94] et ses variantes Contraintes dans les bases de données Clés via les dépendances fonctionnelles [Lopes et al, EDBT 2000] Clés étrangères via les dépendances d inclusion [De Marchi et al, ICDM 2003] Réécriture de requêtes dans un contexte d intégration de données [Jaudoin et al, JoDS 2008] Découverte de corrélation dans le Web profond [He et al, KDD 2004] 29 Transversaux minimaux d un hypergraphe Objectifs Constat : la plupart des solutions existantes pour ces problèmes sont spécifiques Pourtant, ils ne peuvent être que epsilon-différent! Objectifs Identifier une ou des classes de problèmes que l on pourra résoudre efficacement Tentative de définir un cadre commun À partir des travaux de Mannila et Toivonen [DMKD 97, ACM TODS 05] 30 Cadre théorique Focus sur les problèmes d énumération de motifs intéressants dans les grandes bases de données Définition des principaux termes Bases de données d Motifs Motifs intéressants dans d : notion de prédicat Relation d ordre entre motifs Propriété du prédicat Cadre ensembliste 31 Actes de l école Web Intelligence, page 251

194 Fouille de données et Web Exemple de jeux de données BD relationnelle Relation binaire ou BD de transactions Fichiers textes, documents structurés Données semi-structurés Pas vraiment d hypothèses fortes, doit décrire les données et les moyens pour y accéder => Cadre adéquat pour le Web 32 Exemples de motifs / langages Sous ensembles d un ensemble Dépendances fonctionnelles Dépendance d inclusion Séquences Arbres Graphes Forme des motifs qui nous intéressent, notion syntaxique 33 Exemples de prédicats «X est fréquent dans une BDT» «X->Y est satisfaite dans une relation» «Le sous arbre X apparait plus de n fois dans la collection d arbres» Permet de définir formellement la notion de «motif intéressant» Sens des motifs qui nous intéressent, notion sémantique 34 Actes de l école Web Intelligence, page 252

195 Fouille de données et Web Contexte du travail : Notations Un modèle pour la découverte de connaissance [Mannila & Toivonen, DMKD, 1997] Cadre théorique, nombreuses applications Motifs fréquents, DF, DI, Cadre : Etant donnés Une base de données d Un langage fini L (ou un ensemble de motifs) Un prédicat Q définit sur d et un motif X de L Trouver { X L Q( X, d VRAI } Th ( L, d, Q) = ) = 35 Relation d ordre entre motifs Permet de structurer l espace de recherche si les motifs sont des ensembles, on retrouve l inclusion ensembliste Sinon, cela dépend des motifs Permet aussi de rechercher si le problème a de bonnes propriétés, typiquement la monotonie Permet d éviter l énumération «brute force» de tous les motifs intéressants 36 Notations (suite) Si de plus on suppose : Un ordre partiel entre les motifs (relation de spécialisation/généralisation) Q (anti-)monotone par rapport à : X,Y L tq X Y, Q(Y,d) vrai Q(X,d) vrai Alors le problème peut se ramener à la recherche de : { X Th( L, d, Q) Y Th( L, d, Q), X Y Y X } MTh( L, d, Q) =, 37 Actes de l école Web Intelligence, page 253

196 Fouille de données et Web Problèmes «représentables par des ensembles» Etude de plongement dans un treillis booléen Idées de base : Faire correspondre à chaque motif un certain sous ensemble d un ensemble Préserver l ordre partiel Définit ainsi toute une classe de problèmes, qui d un point de vue théorique, sont «équivalents» à un isomorphisme près. Opportunité pour faire de l optimisation de requêtes! 38 Notations (fin) Si de plus on suppose : L est «représentable» par un ensemble si il existe un ensemble E et une fonction f : L 2 E tel que f soit bijective X Y f(x) f(y) Alors, le problème initial peut se ramener à + : Bd ( I ) = X Th( L, d, Q) Y X, Q( Y, d) = FAUX { } { X Th( L, d, Q) Y X, Q( Y, d ) VRAI } Bd ( I ) = = 39 Notions de bordures Soit I un ensemble de motifs intéressants de E La bordure positive de I (les motifs les plus spécifiques de I), noté Bd + (I), est : + Bd ( I) = X I Y X, Y I { } La bordure négative de I (les motifs les plus généraux qui ne sont pas dans I), noté Bd - (I), est : Bd ( I) = E { X (2 \ I) Y X, Y I} Il existe un lien fort entre les bordures positive et négative Transformation de l un à l autre et vice et vers ça Objet combinatoire connu : transversaux minimaux d un hypergraphe 40 Actes de l école Web Intelligence, page 254

197 Fouille de données et Web Déclaration des problèmes Grande unité de définition des problèmes Même si une grande partie de la difficulté réside dans cette formulation un problème bien posé est à moitié résolu Trois formes 1. Enumération des éléments I de E 2. Enumération des éléments de Bd - (I) 3. Enumération des éléments de Bd + (I) 41 Sur ces problèmes «ensemblistes» A la base d algorithmes de parcours de l espace de recherche Structure de données pour manipuler de grandes collections d ensembles d ensemble. Cadre restrictif néanmoins Possibilité d appliquer des techniques d optimisation de requêtes en BD 42 Application aux motifs fréquents Ensemble de propriétés P Une ligne t est un sous-ensemble de P, i.e. t P bd : multi-ensemble de lignes Q(X,bd,α) : «être fréquent» par rapport à un seuil α, i.e. {t t BD et X t} α Si Q(X,bd,α) = VRAI alors X est un motif fréquent Propriété : Q est anti-monotone par rapport à 43 Fonction f : fonction identité Actes de l école Web Intelligence, page 255

198 Fouille de données et Web Exemple parcours par niveaux (Apriori) BD ====== 1 A C D 2 B C E 3 A B C E 4 B E 5 A B C E 6 B C E ABCDE Bd+ ABCE2 ABCD ABDE ACDE BCDE ABC 2 ABE 2 ACE 2 BCE 4 ABD ACD BCD ADE BDE CDE AB 2 AC 3 AE 2 BE 5 BC 4 CE 4 AD CD BD DE α = 2 A 3 B5 C 5 E 5 D 1 Ø Bd- 44 Algorithmes d énumération Par niveau: connu en fouille de données sous le nom d Apriori [Agrawal et al, ACM Sigmod 1993] Par dualisation (transversaux minimaux) moins connu mais très élégant Idée : passer d une bordure à l autre en évitant l explosion combinatoire des approches par niveaux quand de grands éléments existent 45 Exemple pour bd+ Bd + (I) Level k NI=Bd - (I1 u u I k ) 46 Actes de l école Web Intelligence, page 256

199 Fouille de données et Web La solution est peut etre là Bordure positive optimiste = plus grands éléments pas disqualifiés par NI + On a donc : Bd opt (I) = MinTr( NI )) Notion de saut dans l espace de recherche 47 Intuition Bd + opt (NI) Bd + (I) Level k NI 48 Estimation de l erreur Bd + opt (I) Bd + (I) Level k 49 Actes de l école Web Intelligence, page 257

200 Fouille de données et Web Stratégies adaptatives 1/2 Bd + opt (I) Bd + (I) New iteration Level k New element of Bd - (I) 50 Stratégies adaptatives 2/2 Bd + opt (I) Bd + (I) Top down Level k 51 Structure de données Jouent un rôle crucial en fouille de données Choix des SD? Dépend naturellement des opérations à faire sur les données! Type de SD Structures de «trie» sophistiquées développée en recherche d information (information retrieval) Arbre de préfixe ou dictionnaire Recherche d un élément en temps constant Approches permettant de factoriser les données E.g. FP-tree spécifique au prédicat! 52 Actes de l école Web Intelligence, page 258

201 Fouille de données et Web Plan Introduction au data mining KDD Verrou : le passage à l échelle Focus sur les motifs ensemblistes Application au deep Web Analyse du contenu du Web (Web Content) Opinion Mining Vers les réseaux sociaux Extraction de tendances Web Usage Mining Un bref aperçu De nouveaux challenges 53 Deep web Croissance rapide des bases de données sur le Web, 550 milliards de pages contenues [juillet 2000] à sources de données. quantité pratiquement illimitée de sources d'informations Données répertoriées et présentées d une manière hétérogène. Interfaces de requêtes hétérogènes 54 Exemple d interfaces Web Interfaces de requêtes hétérogènes Objectif : découverte de correspondances entre interfaces Web 55 Actes de l école Web Intelligence, page 259

202 Fouille de données et Web Quelles correspondances? Question qui revient à définir ce que l on cherche! Schémas d interfaces Web S={S 1, S 2,, S u } un ensemble d interfaces S i ={A 1, A 2,, A v } les attributs d une interface => Prétraitement particulièrement lourd Correspondances Intra et inter schémas Simple, complexe 56 Correspondances intra-schémas Correspondances de groupement ensemble d attributs d un schéma liaison sémantique, e.g. une corrélation positive 57 Correspondances inter-schémas Correspondances d équivalence Couple d attributs dans deux schémas différents Liaison sémantique, e.g. corrélation négative. 58 Actes de l école Web Intelligence, page 260

203 Fouille de données et Web Correspondances Complexes Corr. Complexe 2:1 Corr. Simple 1:1 Correspondance complexes Relient deux ensembles d attributs n:m 59 Correspondances N-aires Correspondances N_aires: Faire correspondre plusieurs schémas en même temps Correspondances de forme n : m : p Exemples: {Author Last name, Author First Name}={Author's Name}={Author} 2:1:1 {Title}={Title of Book}={Title} 1:1:1 {keywords}={keyword} 1:1 {ISBN}={ISBN} 1:1 {category}={subject} 1:1 60 Fouille de corrélation Principe : Découverte de groupes Trouver les attributs positivement corrélés Gi Découverte de correspondances Explorer les groupes d attributs négativement corrélé Mi Sélection de correspondances Choisir les correspondances les plus probables 61 Actes de l école Web Intelligence, page 261

204 Fouille de données et Web Formulation du problème Soit S i (i=1,...,u) une représentation des attributs d une interface, i.e. S i ={A 1, A 2,, A v } On note S={S 1, S 2,, S u } l ensemble des interfaces Problème : Enumérer les correspondances n-aires M={M 1, M 2,, M w } de S où chaque M i est une correspondance complexe de la forme M j ={G j(1) =G j(2) = G j(3) = =G j(t) } avec chaque G j(k) une relation de groupement G j(k) ={A j(k)1, A j(k)2, A j(k)3, } G j S U u ( k ) t= 1 i 62 Exemple S1 = {Author Last name, Author First Name, Title, ISBN, keyword, Category} S2 ={Title of Book, Author's Name, keywords} S3 ={Author, Title of book, Subject, ISBN, Publisher} G1= {Author Last name, Author First name } G4={Title} G6={Title} G2={Author s name} G3={Author} G5={Title of Book} M1={G1=G2=G3} M1={{Author Last name, Author First Name}={Author's Name}={Author}} M2={G4=G5}} M2={{Title}={Title of Book}} 63 Processus de correspondances Plateforme DCM Préparation de données Préparation de schéma, extraction des entités d attributs Fouille de corrélations Découverte des groupes et des correspondances Sélection des correspondances 64 Actes de l école Web Intelligence, page 262

205 Fouille de données et Web Pré-traitement du formulaire Extraction des schémas à partir des interfaces Web Extraction du formulaire Reconnaissance du type Fusion syntaxique Sur un formulaire Lecture des attributs de la page Web Extraire le nom et le domaine des données Exemple: Title = «title of book», domain=«any» Normalisation des noms et domaines prélevés Exemple : «children» «child», «colour» «color» 65 Exemple sur la reconnaissance du type Résoudre le problème des homonymes Reconnaissance des entités par le nom et le type Exemple: Attribut : departing Type 1 : datetime Type 2 : String Approche proposée : La reconnaissance des types supportent 9 types : datetime,date,string Définition de compatibilité entre les types: Date City 66 Fusion syntaxique Fusionner syntaxiquement les entités similaire Exemple: fusionner «Title book» dans «Title» Mesure du taux de similarité syntaxique entre les entités Développement deux méthodes de fusion : Fusion basée sur nom Fusion basée sur domaine 67 Actes de l école Web Intelligence, page 263

206 Fouille de données et Web Fusion syntaxique basée sur le nom Soit Ap et Aq deux attributs On considère que : Ap a un nom similaire à celui de Aq ssi Nom(Aq) inclus dans Nom(Ap) et Aq est plus utilisé que Ap Exemple 1: «Title book» et «Title» peuvent être fusionner Exemple 2: «Last name» et «name» ne peuvent être fusionner 68 Fusion syntaxique basée sur le domaine Les valeurs d un domaine sont vues comme un sac de mots Soit VA l ensemble de valeurs du domaine de l attribut A Pour une valeur donnée w, on note VA(w) la fréquence de w en VA La similarité du domaine entre Ap et Aq est la similarité entre VAp et VAq On utilise la fonction de similarité suivante: 69 Exemple Soit 3 schémas S1, S2, S3, dans le domaine «Airfares». S1 : (name = trip type, type = string, domain = round trip, one way ) S2 : (name = trip type, type = string, domain = round trip, one way, multi-city ) S3 : (name = ticket type, type = string, domain = round trip, one way ) On a Vtrip type = {round: 2, trip: 2, one: 2, way: 2, multi: 1, city: 1}, On a Vticket type = {round: 1, trip: 1, one: 1, way: 1} V trip type V ticket type ={round: 3, trip: 3, one: 3, way: 3} V trip type U V ticket type ={round: 3, trip: 3, one: 3, way: 3, multi: 1, city: 1} sim(trip type, ticket type) = / = Actes de l école Web Intelligence, page 264

207 Fouille de données et Web Mesure de corrélation Mesure positive m p Trouver les groupes d attributs Mesure négative m n Trouver les correspondances complexes Mesure de corrélation = test sur une table de contingence 71 Robustesse des mesures La fréquence d apparition d attributs dans les interfaces n est pas uniforme, La mesure de corrélation est confrontée à plusieurs problèmes: Attributs à faible densité Attributs rarement utilisés Attributs fréquemment utilisés => Proposition de mesures ad-hoc 72 Découverte de Correspondances Déc. de groupes: Corrélation positive entre les attributs utilisant m p Déc. de correspondances: Corrélation négative entre les groupes utilisant m n Utiliser le même algorithme qui mesure la corrélation sur un ensemble d items {X 1,, X n } avec une mesure m Mesure de corrélation: Mesure C min ( {X 1,, X n }, m ) = min { m(x i, X j ), i j } Trouver les ensembles de taille L+1 à partir des ensembles de taille L DG: G={A 1,, A n }, si C min ( {A 1,, A n }, m p )> T p Corr. Positive DC: M={G 1,, G n }, si C min ( {G 1,, G n }, m n )> T n Corr. Négative 73 Actes de l école Web Intelligence, page 265

208 Fouille de données et Web Suite Ordre partiel sur les correspondances : Mj Mk ssi Mk contient tout les attributs dans Mj Exemple: {arrival city} = {destination} {to}={arrival city} = {destination} 74 Sur cette approche Exploration des modèles de co-occurrence des attributs problème des correspondances complexes. utilisation des sources de données hétérogènes à grande échelle => «deep web» Développement d une plate-forme + benchmark Validation des propositions par expérimentation 75 Plan Introduction au data mining KDD Verrou : le passage à l échelle Focus sur les motifs ensemblistes Application au deep Web Analyse du contenu du Web (Web Content) Opinion Mining Vers les réseaux sociaux Extraction de tendances Web Usage Mining Un bref aperçu De nouveaux challenges 76 Actes de l école Web Intelligence, page 266

209 Fouille de données et Web Détection d opinions sur le Web Les nouvelles techniques pour exprimer une opinion sont de plus en plus simples à utiliser! Nous avons toujours un avis sur quelque chose ;) Analyser les opinions exprimées : Quid de mon image de marque (e.g. Président Bling Bling ou véritable président)? Je veux acheter un nouvel appareil photo! Il pleut... Indiana Jones ou pas? 77 De l importance des blogs millions de blogs blogs crées par jour 35% des internautes font confiance aux avis postés sur les blogs. 44% des internautes ont renoncé à un achat suite à un avis défavorable sur un blog 91% estiment que le web tient une place «assez ou très importante» dans la formation de l opinion concernant la réputation d une entreprise. Sources : Médiamétrie, EIAA, Forrester, Technorati (août 2007), OpinionWay Un exemple de blog 79 Actes de l école Web Intelligence, page 267

210 Fouille de données et Web Outils d agrégation de revues ou d opinions 80 Classification vs Classification d opinions Classification Classer des documents en fonction de leur sujet : sport, cinéma, littérature, Comparaison de mots (approche par sac de mots) But, Football, Transfert, Bleus => Classe SPORT Classification d opinions Classer des documents en fonction de leur sentiment général (positif vs. négatif) Plus difficile que les approches traditionnelles de classification : comment déterminer une opinion? 81 Classification non supervisée d opinions Algorithme de Turney (2002) Entrée : documents d opinions Sortie : documents classés (positif vs. négatif) 1. Utilisation d analyse morpho-syntaxique pour identifier les phrases 2. Estimation de l orientation sémantique des phrases extraites 3. Affectation du document dans une classe (positive vs négative) 82 Actes de l école Web Intelligence, page 268

211 Fouille de données et Web Identification des phrases Application d une analyse morpho-syntaxique sur les documents TreeTagger «On ne change pas une équipe qui gagne» On PRO:PER on ne ADV ne change VER:PRES changer pas ADV pas une DET:ART un équipe NOM équipe qui PRO:REL qui gagne VER:PRES gagner. SENT. 83 Estimation de l orientation sémantique (1/3) Utilisation de PMI-IR (Pointwise Mutual Information and Information Retrieval) PMI entre 2 mots, m1 et m2 PMI(m1,m2)=log2(p(m1&m2)/p(m1)*p(m2)) p(m1&m2) : probabilité que m1 et m2 apparaissent ensembles PMI : > 0 les mots ont tendance à apparaître ensemble < 0 les mots n ont pas tendance à apparaître ensemble 84 Estimation de l orientation sémantique (2/3) Orientation sémantique d un mot SO-PMI(mot) = Σ pmot PMots PMI(mot,pmot) Σ nmot NMots PMI (mot,nmot) PMots = {good, nice, excellent, positive, fortunate, correct, superior} NMots = {bad, nasty, poor, negative, unfortunate, wrong, inferior} 85 Actes de l école Web Intelligence, page 269

212 Fouille de données et Web Estimation de l orientation sémantique (3/3) PMI-IR : évaluation de PMI en exécutant des requêtes sur des moteurs de recherche et en notant le nombre de hits П pmots PMots hits(mot NEAR pmot) * П nmots NMots hits(nmot) SO-PMI(mot) = П pmots PMots hits(pmot) * П nmots NMots hits(mot NEAR nmot) Avec le moteur de recherche (altavista : operator NEAR, Google : «m1 * m2») 86 Affectation dans une classe Calcul de la moyenne des SO d un document > 0 : positif < 0 : négatif Problèmes : Les avis négatifs sont souvent moins fortement exprimés que les positifs Les adverbes peuvent inverser la polarité 87 Affectation dans une classe The movie is bad (négatif) The movie is not bad (plutôt positif) 1 The movie is not bad, there is a lot of 6 funny moments 88 Actes de l école Web Intelligence, page 270

213 Fouille de données et Web Affectation dans une classe Prise en compte des adverbes qui inversent la polarité 1. The movie isn t good 2. The movie isn t amazing at all 3. The movie isn t very good 4. The movie isn t too good 5. The movie isn t so good 6. The movie isn t good enough 7. The movie is neither amazing nor funny 1, 2, 7 : inversion 3, 4, 5 : + 30% 6 : -30% 89 Problèmes Est-ce qu on utilise les mêmes termes en fonction du domaine? The chair is comfortable The movie is comfortable???? Deux termes peuvent avoir des significations différentes en fonction du contexte The picture quality of this camera is high (positif) The ceilings of the building are high (neutre) 90 Comment apprendre les opinions dans un domaine? Principe : Entrée : PMots = {good, nice, excellent, positive, fortunate, correct, superior}, NMots = {bad, nasty, poor, negative, unfortunate, wrong, inferior}, un domaine Sortie : Des adjectifs utilisés dans le domaine 1. Interroger un moteur de recherche 2. Rechercher les adjectifs significatifs 3. Eliminer le bruit 4. Relancer l algorithme pour trouver d autres adjectifs significatifs 91 Actes de l école Web Intelligence, page 271

214 Fouille de données et Web Interroger un moteur de recherche Exemple de requête sous google pour le mot good "+opinion +review +cinema +good bad -nasty - poor -negative -unfortunate -wrong -inferior" 92 Interroger un moteur de recherche Résultats 7 * * docs 300 docs nice good bad poor Mots Positifs 4200 documents Mots Négatifs 93 Rechercher les adjectifs significatifs Utilisation de règles d association Item : adjectif Transaction : phrase fenêtre temporelle WS1 The movie is amazing, good acting, a lots of great action and the popcorn was delicious WS2 94 Actes de l école Web Intelligence, page 272

215 Fouille de données et Web Rechercher les adjectifs significatifs Exemples de règles Positifs excellent, good funny nice, good great nice encouraging good different Négatifs Bad, wrong boring Bad, wrong commercial poor current bad different Suppression des adjectifs communs 95 Rechercher les adjectifs significatifs Comment éliminer les bruits dans les adjectifs? les hits Information mutuelle PMI(m1,m2)=log2(p(m1&m2)/p(m1)*p(m2)) Information mutuelle au cube Privilégier les cooccurrences fréquentes IM3(m1,m2)= log2(nb(m1&m2)^3/nb(m1)*nb(m2)) AcroDefIM3 IM3 + Prise en compte du contexte log2(hit((m1&m2) and C)^3/hit(m1 and C)*hit(m2 and C)) 96 Rechercher les adjectifs significatifs Utilisation de la mesure d AcroDefIM3 pour éliminer le bruit Positifs excellent, good : funny (20,49) nice, good : great (12,50) nice : encouraging (0,001) Négatifs bad, wrong : boring (8,33) bad, wrong : commercial (3,054) poor : current (0,0002) 97 Actes de l école Web Intelligence, page 273

216 Fouille de données et Web Expérimentations Apprentissage : blogsearch.google.fr Test : Movie Review Data (Avis positifs et négatifs de l Internet Movie Database) 2 jeux de données très différents (blogs vs journalistes) Positifs LP LN L.Germes 66,9% 7 7 Négatifs LP LN L.Germes 30,49% Classification avec adjectifs appris WS-S Positifs LP LN 1-1% 67,2% % 60,3% % 65,6% % 57,6% % 56,8% % 68,4% % 28,9% % 59,3% % 67,3% WS-S Négatifs LP LN 1-1% 39,2% Adjectifs appris, AcroDef, renforcement Adjectifs appris et AcrodefIM3 WS-S Positifs LP LN 1-1% 75,9% WS-S Négatifs LP LN 1-1% 46,7% Renforcement (mot appris devient mot germe) WS-S Positifs LP LN 1-1% 82,6% WS-S Négatifs LP LN 1-1% 52,4% Actes de l école Web Intelligence, page 274

217 Fouille de données et Web Impact de la taille du jeu d apprentissage A partir de 250 documents 101 Comparaison avec une méthode classique Précision=(nombre de documents correctement attribués à la classe i)/(nombre de documents attribués à la classe i) Nombre de documents pertinents retrouvés rapportés au nombre de documents (pertinents ou non) retrouvés Rappel = (nombre de documents correctement attribués à la classe i)/(nombre de documents appartenant à la classe i) Nombre de documents pertinents retrouvés au regard du nombre de documents de la base de données Fscore(β)=(β 2 +1)*Precision * Rappel/ β 2 *(Precision+Rappel) 102 Comparaison avec une méthode classique Positifs Négatifs FSCORE 60,5% 60,9% Positifs Négatifs FSCORE 71,73% 62,2% 103 Actes de l école Web Intelligence, page 275

218 Fouille de données et Web Utilisation pour un autre domaine Apprentissage domaine automobile (car) Tests : 40 documents de WS S Positif LP LN 1 1% 57,5% WS S Positif LP LN Adj appris 1 1% 87,5% AcroDef 1 1% 92,5% Renf 1 1% 95% Plan Introduction au data mining KDD Verrou : le passage à l échelle Focus sur les motifs ensemblistes Application au deep Web Analyse du contenu du Web (Web Content) Opinion Mining Vers les réseaux sociaux Extraction de tendances Web Usage Mining Un bref aperçu De nouveaux challenges 105 Extraction de réseaux sociaux Réseaux sociaux Extraire des relations (interactions sociales, intérêts communs) dans un ensemble d entités sociales (individus, organisations ) Sciences sociales (années 30) Aujourd hui : partage d information, construction d ontologies, épidémiologie, terrorisme. Réseaux sur le Web : facebook, myspace, yahoo group, friendster, buzznet, orkut, hi5, 106 Actes de l école Web Intelligence, page 276

219 Fouille de données et Web Extraction de réseaux sociaux Comment obtenir des réseaux sociaux A partir de questionnaires, observations directes (sciences sociales) Trop long, difficile à obtenir À partir d archives des mails, liens hypertextes, documents FOAF (Friend Of A Friend) A partir du contenu du Web en utilisant un moteur de recherche 107 Extraction de réseaux sociaux Basé sur la cooccurrence «La force de la relation entre deux individus peut être estimé par la cooccurrence de leur nom» Utilisation des hits «Jiawei Han» AND «Micheline Kamber» Hit = «Jiawei Han» AND «Pascal Poncelet» Hit = 317 Jiawei Han a une plus forte relation avec Micheline Kamber Si relation (X,Y) > σ ( X >k; Y >k) création d un lien entre X et Y 108 Problème Deux entités cibles peuvent avoir différents types de relations «Apple AND Microsoft» hits : 26,600,000 Ces deux noms de sociétés apparaissent sur le Web très souvent Le nombre de hit est influencé par les médias (blogs) La mesure de cooccurrence n est pas suffisante! 109 Actes de l école Web Intelligence, page 277

220 Fouille de données et Web Identification de la relation Comment représenter un lien entre deux acteurs? La force de la relation? Le type de relation? Ajouter des mots clés de relation dans les requêtes Apple AND Microsoft AND Collaboration (359,000) Apple AND Microsoft AND Lawsuit (295,000) Retourner les pages associées et appliquer des techniques de text mining pour affiner les relations 110 Classification non supervisée d opinions Algorithme de Jin, Matsuo, Ishizuka (2006) Entrée : nom d entreprises Sortie : réseau social d entreprises 1. Requêtes avec deux noms d entreprises et les mots clés de relation 2. Analyser les documents retournés 3. Créer le réseau 111 Analyse des documents retournés Prendre toutes les phrases qui contiennent le nom des deux entreprises Etablir la somme des scores des mots clés (synonymes ou recherche de mots corrélés auparavant cf opinion mining) Si le score est supérieur à un seuil, cela indique qu il y a de fortes chances pour que les deux entreprises soient liées par la relation => création d un lien entre les deux entreprises 112 Actes de l école Web Intelligence, page 278

221 Fouille de données et Web Réseau de 60 entreprises japonaises TokyoBectron lawsuit alliance Zhongca UFJNicos Sourcenext Transware Elecom Ebank NipponBroadcasting SumitomoMituiCard JIMOS ANA Nictor Rakuten NICOS Livedoor Nifty Cybird ASML Nikon LGElectronics Fuji TokyoElctric MatsushitaIndustrial SeikoEPSON NEC Samsung Matsushita IBMJapan KDDI Renesas Hitachi FujitsuJustsystem Opera SixApart Biomatics ConnectTechnologies Toshiba IBM CISCO FujituoSoftware Kyocera Nidec Hynix Intel Intersil Niws SCO Source : ISWC 2006 Jin, Matsuo, Ishizuka Maxtor Minebea Broadcom Agere 113 Plan Introduction au data mining KDD Verrou : le passage à l échelle Focus sur les motifs ensemblistes Application au deep Web Analyse du contenu du Web (Web Content) Opinion Mining Vers les réseaux sociaux Extraction de tendances Web Usage Mining Un bref aperçu De nouveaux challenges 114 Pourquoi la recherche de séquence? Un important domaine de recherche pour le data mining avec de très nombreuses applications Analyse des achats des clients Analyse de puces ADN Processus Conséquences de catastrophes naturelles Web mining Détection de tendances dans des données textuelles 115 Actes de l école Web Intelligence, page 279

222 Fouille de données et Web Recherche de Motifs Séquentiels Même problématique que la recherche d itemsets mais avec le temps Item : «un article» Transaction : un client + un itemset + une estampille temporelle T = [C, (a,b,c) 5 ] Séquence : liste ordonnée d itemsets Séquence de données : «activité du client» Soit T 1, T 2, T n, les transactions du client C, la séquence de données de C est : [C, <itemset(t 1 ) itemset(t 2 ). itemset(t n )>] 116 Recherche de Motifs Séquentiels Support minimal : nombre minimum d occurrences d un motif séquentiel pour être considéré comme fréquent Attention l occurrence n est prise en compte qu une fois dans la séquence Support (20) dans <(10) (20 30) (40) (20)>=1 117 Inclusion S1 = <(10) (20 30) (40) (20)> S2 = <(20) (40)> S1 S3 = <(20) (30)> n est pas incluse dans S1 118 Actes de l école Web Intelligence, page 280

223 Fouille de données et Web Problématique Soit D une base de données de transactions de clients. Soit σ une valeur de support minimal Rechercher toutes les séquences S telles que : support(s) σ dans D 50% des personnes qui achètent du vin et du fromage le lundi achètent aussi du pain le vendredi <(French wine, cheese) (bread)> 119 Illustration Clients Date1 Date2 Date3 Date4 C C C C Support = 60% (3 clients) => <(10 30) (20) (20 60)> 120 Itemsets :Espace de recherche ABCD NIV 4 ABC ABD ACD BCD NIV 3 AB AC BC AD BD CD NIV 2 A B C D NIV 1 {} Algorithme par niveau Les motifs séquentiels 121 Actes de l école Web Intelligence, page 281

224 Fouille de données et Web Motifs Séquentiels : l espace de recherche AAA A(AB) AAB A(AC) AAC (AB)B (ABC) (AB)C ABB AA (AB) AB (AC) AC BB (BC) BC CC A B C {} 122 La propriété d antimonotonie Une propriété essentielle (c.f. Apriori [AIS93]) Si une séquence n est pas fréquente, aucune des super-séquences de S n est fréquente! Support (<(10) (20 30)>) < minsupp Support (<(10) (20 30) (40)>)<< minsupp 123 Vers un algorithme générique N = 1 N=N+1 SCAN GENERATION N-Fréquents N-Candidats SCAN N-fréquents 124 Actes de l école Web Intelligence, page 282

225 Fouille de données et Web Génération des candidats S-Extension : ajout d une séquence I-Extension : ajout d un itemset <(1 2) (3)> < (2) (3 4)> <(1 2) (3)> < (2) (3) (5)> <(1 2) (3 4)> I-Extension <(1 2) (3) (5)> S-Extension 125 GSP A la APRIORI [Srikant, Agrawal, EDBT 96] L=1 While (Result L!= NULL) Candidate Generate Prune Test L=L Recherche des séquences de taille 1 Candidats initiaux : toutes les séquences réduites à un item <a>, <b>, <c>, <d>, <e>, <f>, <g>, <h> Un passage sur la base pour compter le support des candidats Seq. ID Séquence <(bd)cb(ac)> <(bf)(ce)b(fg)> <(ah)(bf)abf> <(be)(ce)d> <a(bd)bcb(ade)> minsupp =2 Cand <a> <b> <c> <d> <e> <f> <g> <h> Sup Actes de l école Web Intelligence, page 283

226 Fouille de données et Web Le Processus 5th scan : 1 candidate 1 length-5 seq pattern <(bd)cba> 4th scan : 8 candidates 6 length-4 seq pat <abba> <(bd)bc> 3rd scan : 46 candidates 19 length-3 seq pat. <abb> <aab> <aba> <baa> <bab> 2 nd scan : 51 candidates 19 length-2 seq pat. 1st scan : 8 candidates 6 length-1 seq pattern <aa> <ab> <af> <ba> <bb> <ff> <(ab)> <(ef)> <a> <b> <c> <d> <e> <f> <g> <h> 128 Génération des candidats de taille Candidats I-Extension S-Extension <a> <b> <c> <a> <(ab)> <(ac)> <b> <(bc)> <c> <d> <e> <f> <a> <b> <c> <d> <e> <f> <d> <(ad)> <(bd)> <(cd)> <a> <aa> <ba> <ca> <da> <ea> <fa> <e> <(ae)> <(be)> <(ce)> <(de)> <b> <ab> <bb> <cb> <db> <eb> <fb> <f> <(af)> <(bf)> <(cf)> <(df)> <(ef)> <c> <ac> <bc> <cc> <dc> <ec> <fc> <d> <ad> <bd> <cd> <dd> <ed> <fd> <e> <ae> <be> <ce> <de> <ee> <fe> <f> <af> <bf> <cf> <df> <ef> <ff> Sans la propriété d antimonotonie 8*8+8*7/2=92 candidats 129 Comptage des supports des candidats BASE DE DONNEES Un tuple T={cid, <(a) (bc) (d)>} Candidats Stockés en Mémoire centrale C1 C1 T? C2 C2 T? C3 C3 T? C4 C4 T? C5 C5 T? Cn Cn T? MEMOIRE CENTRALE 130 Actes de l école Web Intelligence, page 284

227 Fouille de données et Web Stockage des candidats 10 Root 30 <( )> <(30) (40 60)> 40 <(40 50) (30)> <(40 50) (40)> 30 <(10) (30) (40)> <(10) (30 40)> 40 <(10) (10 40)> <(10 40) (20)> S = <(10) (30) (10 40)> 131 Motifs généralisés Pour certains domaines d applications il est nécessaire de limiter les résultats corrélations entre achat du caviar le 1er janvier et de champagne le 31 décembre? Contraintes de temps windowsize : regrouper des événements mingap : considérer des événements comme trop proches maxgap : considérer des événements comme trop éloignés 132 Illustration Client Date Items C1 1 Ringworld C1 2 Foundation C1 15 Ringworld Engineers, Second Foundation C2 1 Foundation, Ringworld C2 20 Foundation and Empire C2 50 Ringworld Engineers Support = 50% : <(Ringworld) (Ringworld Engineers)> et <(Foundation) (Ringworld Engineers)> windowsize=7 jours : <(Foundation, Ringworld) (Ringworld Engineers)> 133 Actes de l école Web Intelligence, page 285

228 Fouille de données et Web Contraintes temporelles d = < 1 (1) 2 (2 3) 3 (4) 4 (5 6) 5 (7)> Candidat : C = <( ) (5 6 7)> windowsize = 3, mingap=0, maxgap = 5, d = <( ) (5 6 7)> - Donc C est inclus dans d Candidat : C = <(1 2 3) (6 7)> windowsize = 1, mingap=3, maxgap = 4, d =<(1 2 3) (4) (5 6 7)> mingap pas respecté entre 3 et 5! C pas inclus dans d 134 Panier de la ménagère Localisation Produits achetés Identification Date, heure 135 Panier de la ménagère Localisation Premier paragraphe «Livre d architecture contenant les principes généraux» Identification Position # Date Mots # Produits 136 Actes de l école Web Intelligence, page 286

229 Fouille de données et Web Text Mining Qu'est ce que le Text Mining L'extraction de connaissance à partir de données textuelles (découvertes de tendances, classification/organisation,.) Les BD textuelles sont omniprésentes Bases de données de bibliothèques, bases de données de documents, mails, WWW, Les données textuelles sont structurées ou semistructurées La quantité de données textuelles augmente très 137 rapidement «Le texte est facile à produire» Text Mining vs. Recherche d information Recherche d Information (Information Retrieval) Domaine développé en parallèle des bases de données L'information est organisée dans (un grand nombres de) document Pb : localiser les documents pertinents en se basant sur l'entrée de l'utilisateur (mots clés ou documents exemples) Quid de la connaissance supplémentaire? Requête vs Data Mining 138 Text Mining - Classification Classification automatique Classification automatique d'un grand nombre de documents (pages Web, mails, fichiers textuels) basée sur un échantillon de documents pré-classifié Mise en oeuvre Echantillon : des experts génèrent l'échantillon Classification : l'ordinateur découvre les règles de classification Application : les règles découvertes peuvent être utilisées pour classer des nouveaux documents et les 139 affecter à la bonne classe Actes de l école Web Intelligence, page 287

230 Fouille de données et Web Text Mining - Classification Quelques problèmes Synonymie : un mot T peut ne pas apparaître dans un document mais si le document est très lié à T (data mining / software product) Polysémie : le même mot peut avoir plusieurs sens (mining) Représentation des documents (vecteurs de termes, choix des termes représentatifs, calcul de la distance entre un vecteur représentant le groupe de documents et celui du nouveau document, ) Evolution des classes dans le temps 140 Text Mining - Corrélations Analyse d'associations basée sur des mots clés Rechercher des associations/corrélations parmi des mots clés ou des phrases Mise en œuvre Pré-traitement des données : parser, supprimer les mots inutiles (le, la, ) => prise en compte d'une analyse morpho-syntaxique (e.g. lemmatiseur) Un document est représenté par : (document_id, {ensemble de mots clés}) Appliquer des algorithmes de recherche de règles d'association 141 Text Mining - Corrélations Quelques problèmes Ceux du traitement de la langue naturelle Les mots inutiles (ordinateur? Utile?) Réduction de l espace de recherche Les associations de mots, phrase, paragraphe, Actes de l école Web Intelligence, page 288

231 Fouille de données et Web Text Mining Analyse de tendances Rechercher des tendances dans les documents Mise en œuvre Pré-traitement : attention l'ordre est important Document représenté par : (document_id, <phrases simplifiées : ensemble de mots ordonnés>) Appliquer des algorithmes de motifs séquentiels Générer l'historique des phrases Recherche les phrases qui correspondent à des tendances 143 Text Mining Analyse de tendances Principes Un mot : (m) Une phrase : <(m1) (m2) (m3) (mn)> Paramètres : WindowSize, MaxGap, MinGap) Une phrase = une phrase Une phrase = un ensemble de mots proches Une phrase = un paragraphe mingap maxgap (m1) (m2) (mn) WindowSize 144 Text Mining Analyse de tendances Gérer l'historique des phrases Partitionner les documents en fonction de leur estampille (ex : année pour les brevets, mois pour des documents sur le Web Pour chaque partition, génération des ensembles fréquents de phrases Maintenir l'historique des supports pour chaque phrase Interroger l'historique des phrases pour connaître les tendances (tendance récente à monter, transition récente, résurgence d'usage,.) 145 Actes de l école Web Intelligence, page 289

232 Fouille de données et Web Support (%) 4,5 4 3,5 3 2,5 2 1,5 1 0,5 Text Mining Analyse de tendances Sources: Brian Lent, Rakesh Agrawal, Ramakrishnan Srikant, KDD 97 Brevets classés dans la catégorie «Induced Nuclear Reactions: Processes, Systems and Elements» <(fuel) (cladding)> <(heat) (removal)> <(feed) (water)> <(zirconium) (based) (alloy)> <(removal) (system) <(emergency) (cooling)> Période 146 Plan Introduction au data mining KDD Verrou : le passage à l échelle Focus sur les motifs ensemblistes Application au deep Web Analyse du contenu du Web (Web Content) Opinion Mining Vers les réseaux sociaux Extraction de tendances Web Usage Mining Un bref aperçu De nouveaux challenges 147 Web Usage Mining Analyse de l usage des visiteurs sur un site Web Les pages contiennent l information Les liens sont des «routes» (hyperliens) Comment les personnes naviguent-elles sur Internet? Web Usage Mining (Clickstream Analysis) Information sur les chemins de navigation disponibles dans des fichiers logs. Principe : intégrer et «fouiller» ces données pour en produire de l information et de la connaissance 148 Actes de l école Web Intelligence, page 290

233 Fouille de données et Web Web Usage Mining Pourquoi analyse l usage des sites Web? La connaissance sur la manière dont les visiteurs utilisent un site Web permet de : Fournir une aide pour réorganiser site Aider le concepteur à positionner l information importante que les visiteurs recherchent. Précharger et cacher les pages Fournir des sites adaptatifs (personnalisation) Eviter le «zapping» Utile dans le cas du e-commerce 149 Exemple d utilisation Statistiques générales Analyse du contenu Point d entrée Parcours Performance du site Groupement des clients Ciblages des clients Comportement des clients Retenir les clients Campagne adaptée Campagne ciblée Modification dynamique 150 Web Usage Mining 30%Promo «75% des parisiens qui achètent une raquette de tennis achètent trois mois après des chaussures» Modification dynamique 151 Actes de l école Web Intelligence, page 291

234 Fouille de données et Web Web logs IP or domain name User Id Date and Time Request [24/Oct/1999:19:13: ] GET /Images/tagline.gif HTTP/ Mozilla/4.51 [en] (Win98;I) Status File Size Referrer URL Browser Cookies 152 Web logs IP Address Time Method/URL/Protocol Sta Size Referre d Agent [25/Apr/1998:03:04: GET A.html HTTP/ Mozilla/3.01 (Win95, I) [25/Apr/1998:03:05: GET B.html HTTP/ A.html Mozilla/3.01 (Win95, I) [25/Apr/1998:03:05: GET L.html HTTP/ Mozilla/3.01 (Win95, I) [25/Apr/1998:03:06: GET F.html HTTP/ B.html Mozilla/3.01 (Win95, I) [25/Apr/1998:03:06: GET A.html HTTP/ Mozilla/3.01 (X11, I, IRIX6.2, IP22) [25/Apr/1998:03:07: GET B.html HTTP/ A.html Mozilla/3.01 (X11, I, IRIX6.2, IP22) [25/Apr/1998:03:07: GET R.html HTTP/ L.html Mozilla/3.01 (Win95, I) [25/Apr/1998:03:09: GET C.html HTTP/ A.html Mozilla/3.01 (X11, I, IRIX6.2, IP22) [25/Apr/1998:03:10: GET O.html HTTP/ F.html Mozilla/3.01 (Win95, I) [25/Apr/1998:03:10: GET J.html HTTP/ C.html Mozilla/3.01 (X11, I, IRIX6.2, IP22) [25/Apr/1998:03:12: GET G.html HTTP/ B.html Mozilla/3.01 (Win95, I) [25/Apr/1998:05:05: GET A.html HTTP/ Mozilla/3.01 (Win95, I) Clients Dates Items 153 Web Usage Mining La suite demain Mais en attendant. Un autre constat 154 Actes de l école Web Intelligence, page 292

235 Fouille de données et Web Explosion de données ces dernières années 30 Milliards d par jour - 1 Milliard de SMS, MMS «China s cellular operators estimate Chinese customers will send around 14 billion Lunar New Year text messages on their mobile phones during the week-long holiday» Trafic réseau IP : plus d 1 Milliard de packets par heure et par routeur. Chaque fournisseur de service internet possède (des centaines) de routeurs! tuples par seconde! AT&T collecte 100 GBs de données de réseaux chaque jour Données scientifiques: NASA EOS (Earth Observation System) observation par satellites génére 350 GBs par jour Sources: tutorial of Muthu Muthukrishnan (Rutgers Univ.), Turorial of G. Hebrail (ENST) News February 19th Explosion de données ces dernières années En moyenne 1 1Milliard de page par jour vus sur ebay Sources: ebay Report (2006) Yahoo: 166 millions de visiteurs par jour; 48 Gbs par heure de clickstream Sources: Yahoo (2002) Besoin de requête/analyse sophistiquée en temps réel 156 Applications WUM Analyse d un flux de click Données brutes : secondes, adresses de pages Web, adresses IP des utilisateurs Les analystes veulent : les changements, les tendances, les motifs inattendus La moyenne du trafic des clicks en France pour fromage dans les 15 dernières minutes est 20% plus grand que dans les les dernières 24 heures. 157 Actes de l école Web Intelligence, page 293

236 Fouille de données et Web Approches traditionnelles et incrémentales Traditionnelles: de nombreuses approches bien connues Incrémentale : prendre en compte l évolution dynamique des bases de données de clients Remarques : Génération : opération de jointure connue comme opération bloquante [Babcock et al., 2002] Il y a plus d une passe sur la base pour toutes ces approches. Le stream mining nécessite une seule passe 158 Extraire des patterns fréquents dans les streams Data stream : continus, ordonnés, changeant rapidement, réponse rapide Rechercher des motifs fréquents précis dans des flots n est pas réaliste! Le challenge : comment rechercher des motifs fréquents avec une bonne approximation? Autres challenges Algorithme une passe : on ne peut lire qu une fois! Les Infréquents peuvent devenir fréquents et vice versa Besoin de se souvenir des données récentes et historiques Volonté de voir les changements au cours du temps (e.g., détection d intrusion) 159 Conclusion Aperçu de techniques de fouille de données utiles dans le contexte du Web Nouvelles applications issues du Web et problèmes posés en terme de fouille de données 160 Actes de l école Web Intelligence, page 294

237 Fouille de données et Web Références (1/3) C. Agarwal. Data Streams: Models and Algorithms, Springer Verlag, R. Agrawal, T. Imielinski, and A. Swami. Mining association rules between sets of items in large databases. SIGMOD'93, , Washington, D.C. R. Agrawal and R. Srikant. Fast algorithms for mining association rules. VLDB' , Santiago, Chile. R. Agrawal and R. Srikant Mining sequential patterns, In Proc. ICDE 95, Taiwan, March R.J. Bayardo. Efficiently mining long patterns from databases. In Proc. SIGMOD 98, WA, June 1998 S. Brin R. Motwani, J. Ullman, and S. Tsur. Dynamic itemset counting and implication rules for market basket data. In SIGMOD 97 K. Bun. Topic Trernd Detection and Mining in World Wide Web. PhD Dissertation, University of Tokyo, 2004 Fabien De Marchi, Jean-Marc Petit: Zigzag: a new algorithm for mining large inclusion dependencies in database. IEEE ICDM 2003: M.N. Garofalakis, R. Rastogi, K. Shim: SPIRIT: Sequential Pattern Mining with Regular Expression Constraints. VLDB 1999: , Edinburgh, Scotland. J. Han, J. Pei, and Y. Yin: Mining frequent patterns without candidate generation. In Proc. ACM- SIGMOD 2000, pp. 1-12, Dallas, TX, May H. Mannila, H. Toivonen, and A. I. Verkamo. Efficient algorithms for discovering association rules. KDD'94, , Seattle, WA, July Dimitrios Gunopulos, Roni Khardon, Heikki Mannila, Sanjeev Saluja, Hannu Toivonen, Ram Sewak Sharm: Discovering all most specific sentences. ACM Trans. Database Syst. 28(2): (2003) J. Han and M. Kamber, Data Mining: Concepts and Techniques, Morgan Kaufmann, J. Han, J. Pei, B. Mortazavi-Asl, Q. Chen, U. Dayal, M.-C. Hsu, "FreeSpan: Frequent Pattern-Projected Sequential Pattern Mining", In Proc Int. Conf. on Knowledge Discovery and Data Mining (KDD'00), Boston, MA, August Références (2/3) J. Han, J. Pei, B. Mortazavi-Asl, Q. Chen, U. Dayal, M.-C. Hsu, "FreeSpan: Frequent Pattern-Projected Sequential Pattern Mining", In Proc Int. Conf. on Knowledge Discovery and Data Mining (KDD'00), Boston, MA, August J. Han, J. Pei, and Y. Yin: Mining frequent patterns without candidate generation. In ACM- SIGMOD 2000, Dallas, TX, May B. He, K. Chang, J. Han, Discovering Complex Matching across Web Query Interfaces: A Correlation Mining Approach, KDD 2004 Y. Jin, Y. Matsuo and M. Ishizuka. Extracting a Social Network among Entities by Web Mining. ISWC 06, Athens, GA, USA. B. Lent, R. Agrawal and R. Srikant. Discovering Trends in Text Databases. Proc. 3rd Int. Conf. Knowledge Discovery and Data Mining, KDD 97. H. Jaudoin, F. Flouvat, J.-M. Petit, and F. Toumani, Towards a scalable query rewriting algorithm in presence of value constraints, Journal of Data Semantics, 2008 (to appear) A. Kontostathis, L. Galitsky, W. M. Pottenger, S. Roy and D. J. Phelps. A survey of Emerging Trend Detection in Textual Data Mining. In A Comprehensive Survey of Text Mining, Springer-Verlag, Stéphane Lopes, Jean-Marc Petit, Lotfi Lakhal: Efficient Discovery of Functional Dependencies and Armstrong Relations. EDBT 2000: H. Mannila, H. Toivonen and A.I. Verkamo. Efficient algorithms for discovering association rules. In Proc. KDD 94, WA, July 1994 F. Masseglia, F. Cathala and P. Poncelet. "PSP: Prefix Tree For Sequential Patterns". Proceedings of the 2nd European Symposium on Principles of Data Mining and Knowledge Discovery (PKDD'98), Nantes, France, LNAI, Vol. 1510, pp , September Références (3/3) F. Masseglia, M. Teisseire et P. Poncelet. "Extraction de motifs séquentiels - Problèmes et Méthodes". Revue Ingénierie des Systèmes d'information (ISI), Numéro spécial "Extraction et usages multiples de motifs dans les Bases de Données", Vol.9, N. 3-4, 2004, pp F. Masseglia, M. Teisseire and P. Poncelet. "Pre-Processing Time Constraints for Efficiently Mining Generalized Sequential Patterns". Proceedings of the 11th International Symposium on Temporal Representation and Reasoning (TIME'04), Tatihou, Basse Normandie, France, July 2004 F. Masseglia, P. Poncelet and M. Teisseire. "Incremental Mining of Sequential Patterns in Large Databases". Data and Knowledge Engineering, Volume 46, Issue 1, pages , F. Masseglia, P. Poncelet, M. Teisseire and A. Marascu. «Web Usage Mining: Extracting Unexpected Periods from Web Logs». Data Mining and Knowledge Discovery, Springer Verlag, Vol. 16, N. 1, February 2008 Y. Matsuo et al. Polyphonet: an advanced social network extraction systems from the Web, WWW 06, 2006 C. Raissi and P. Poncelet. Sampling for Sequential Pattern Mining: From static databases to Data Streams, ICDM 07, C. Raïssi, T. Calders and P. Poncelet. Mining Conjunctive Sequential Patterns. Data Mining and Knowledge Discovery, Springer Verlag, Vol. 17, N. 1, August P. Turney. Thumbs up or thumbs down? semantic orientation applied to unsupervised classification of reviews. In Proceedings of 40th Meeting of the Association for Computational Linguistics, pages , 2002 P. Turney and M. Littman. Measuring praise and criticism :Inference of semantic orientation from association. ACM Transactions on Information Systems, pages , Actes de l école Web Intelligence, page 295

238 Actes de l école Web Intelligence, page 296

239 Chapitre 8 Usages d internet : aspects sociaux Valérie Beaudouin Orange Labs Actes de l école Web Intelligence, page 297

240 Usages d internet : aspects sociaux Plan Histoire du média (côté offre) Innovation portée par les utilisateurs Reconfiguration des frontières entre production et consommation Evolution des usages (côté demande) Plan Histoire du média (côté offre) Innovation portée par les utilisateurs Reconfiguration des frontières entre production et consommation Evolution des usages (côté demande) Histoire du média Historique 1969 : début d Arpanet 1977 : courrier électronique 1979 : forums usenet 1981 : Minitel 1985 : Well en Californie 1988 : Internet Relay Chat 1990 : Arpanet devient Internet 1991 : WWW 1993 : Mosaïc 1996 : ICQ mirabilis 1999 : MSN et yahoo mesenger 1999 : blogs, blogger, skyblog en : peer2peer : napster, 2001 Kazaa 2001 : wikipedia 2002 : flickr 2004 : Linkedin, Facebook : YouTube, DailyMotion Rythme d'innovation très rapide Des déplacements rapides d'audience Des modèles économiques qui se cherchent Actes de l école Web Intelligence, page 298

241 Usages d internet : aspects sociaux Internet : un nouveau mode d organisation sociale Rencontre paradoxale entre élite méritocratique (recherche), hackers et logique marchande Les utilisateurs sont les concepteurs Réseau international de développement Mode original d auto-organisation Impact d Internet sur l économie : la survie implique l entrée dans la nouvelle économie Modification des modes de sociabilité : extension de la sociabilité ordinaire sur Internet Outil pour les mouvements sociaux : mobilisation, coalitions temporaires Internet signe l émergence d une société en réseaux Types de pratiques : Internet : un média hybride - Se repérer : moteurs de recherche, annuaires et guides thématiques annuaires de sites, de personnes plans, itinéraires... S informer / se divertir : actualités, météo, bourse, sport, sorties, jeux... Acheter : consulter, réserver, acheter, télécharger, échanger... Communiquer courrier électronique, forums, chat, listes de discussion, pages personnelles, sms, cartes... Participer à des médias sociaux Vertical/horizontal média unique, première forme d intégration entre média de masse et outil de communication interpersonnelle rencontre entre deux secteurs industriels différents : télécommunications / audiovisuel Cf. rapprochement des deux entités de régulation. Actes de l école Web Intelligence, page 299

242 Usages d internet : aspects sociaux Modèles économiques Coexistence pacifique entre plusieurs modèles : Modèle de l accès (abonnement) Modèle des médias de masse (pub et abonnement) Modèle marchand (transactions) Sources de valeur : l accès à Internet, la publicité, les sites marchands Accès : concurrence des accès gratuits ; perspectives liées au haut débit Crise de la nouvelle économie => baisse des revenus publicitaires Commerce en ligne : croissance moins spectaculaire que prévu L activité d Internet est soutenue par la logique non marchande, par l engagement bénévole des internautes Exemple : sites consacrés à la techno. Le seul site de référence qui a survécu est dans une logique bénévole. Pas de modèle économique viable La viabilité de cette logique bénévole est garantie par le désir de visibilité et de reconnaissance individuelle. Pose le problème de la captation de l audience. Externalités positives liées à Internet : entrelacement d une logique marchande et non marchande (Gensollen, Michel (1999). "La création de valeur sur Internet", Réseaux 17, 97, ) Plan Histoire du média (côté offre) Innovation portée par les utilisateurs Reconfiguration des frontières entre production et consommation Evolution des usages (côté demande) Articulation entre médias de masse et outils de communication personnelle Innovation portée par les utilisateurs (Eric Von Hippel, Horizontal innovation networks, by and for users, 2002) Les utilisateurs sont les concepteurs Réseaux d innovation (production, distribution et consommation) peuvent se constuire de manière horizontale avec des acteurs de l innovation qui sont de simples utilisateurs (Logiciel libre, open source ) Les réseaux d innovation par les utilisateurs peuvent fonctionner de manière complètement autonome par rapport aux entreprises quand les conditions suivantes sont réunies : un noyau d utilisateurs a une forte incitation individuelle pour innover une partie des utilisateurs est prête à partager, révéler son innovation la diffusion de l innovation portées par les utilisateurs est peu coûteuse(concurrence offres payantes) Les utilisateurs innovent fréquemment et ils ont souvent les incitations nécessaires pour révéler et diffuser leurs innovations à faible coût. En innovant dans des réseaux d utilisateurs, les utilisateurs fabriquent des innovations parfaitement adaptées à leurs besoins, ce qui accroît leur satisfaction. Actes de l école Web Intelligence, page 300

243 Usages d internet : aspects sociaux La trajectoire des innovations ascendantes (D.Cardon) Trois cercles d acteurs différents : Fondateurs : un noyau restreint d innovateurs (fondateurs). Souci de satisfaire un besoin un problème pratique (89 Col Needham, internet movie database IMDb base de données individuelle sur les films) Contributeurs : nébuleuse des contributeurs qui apportent du contenu Réformateurs : entre le noyau des innovateurs (chargés de l innovation technique) et la nébuleuse des contributeurs (chargés de l apport de contenus), interviennent les réformateurs : standardisation, des contenus. Les épreuves de la trajectoire : dialectique contenant/contenu : tolérance à l égard de la diversité des engagements politisation/dépolitisation risques d éclatement : quand élargissement du noyau initial / quand poids des réformateurs et de leurs innovations augmente articulation au monde marchand : nécessité de trouver des financements Innovations ascendantes : externalité positive pour le monde marchand, facteur d accroissement du bien être social par des offres adaptées aux besoins. // avec pages perso et articulation avec le monde marchand. Le cas Wikipédia (1) (Julien Levrel, projet autograph) Histoire de l innovation : Jimmy Wales, diplômé de philo et de finance, directeur d une start-up 1994, Bomis. Lance l idée d une encyclopédie en ligne gratuite qu il intègre dans son entreprise. (se souvient du coût d acquisition des ouvrages pendant ses études). Idée originelle : développer un système de validation avec des experts -> projection du modèle papier : Nupédia ouvert à tous,mais process trop long. Modèle alternatif : Larry Sanger découvre wiki, un système qui permet à tous d intervenir sur un texte : outil coopératif de rédaction, qui garde trace de l historique des modifications. Janvier 2001 : lancement de wikipedia. Tension entre le modèle classique, projet encyclopédique sous le regard d experts et le modèle décentralisé et communautaire, avec gestion basée sur le consensus. Produit et géré par des contributeurs bénévoles. Visibilité Audience exceptionnelle (dans les 20 sites les plus visités) Production En France en 2005 : 3000 inscrits, 1000 actifs, 215 très actifs Aux US 23000, 8000 et 1200 très actifs Motivations des contributeurs : pour des informaticiens, sortir du code et valoriser d autres compétences et un autre type d engagement communautaire. Contre la logique marchande, pour l accès libre au savoir. Croissance très rapide, s explique par un cercle vertueux. Visibilité forte dans les moteurs de recherche. Utilisation de la licence libre. Wikipedia (2) Différents formats de médiation et régulation Trois niveaux : - discussion à bas bruit sur chaque article (90%) - Médiation (pages à supprimer, désaccord de neutralité, wiki pompiers) : espace de discussion - Sanction (comités d arbitrage) + patrouille Recent Changes (comité de surveillance) Formes de la régulation : délimiter composer : mise en forme sourcer : trouver les références équilibrer : neutraliser la subjectivité (lutter contre les jugements de valeur : donner des sources discuter : respect des civilités -> Disparition de l auteur et chemin vers une écriture blanche. Grandes catégories d'articles - Spécialisation scientifique - Épuisement du monde, almanach et listes : possible grâce à la non limitation de la place. - Cultures, savoirs et savoir-faire populaires : en bas à gauche. Football, pokémon (chaque personnagedes pokémon a son entrée - Passions disciplinées : efforts de formalisation de passion. Ex projet BD formalisation de leur savoir. Actes de l école Web Intelligence, page 301

244 Usages d internet : aspects sociaux Plan Histoire du média (côté offre) Innovation portée par les utilisateurs Reconfiguration des frontières entre production et consommation Evolution des usages (côté demande) Production/réception Caractéristique d Internet : rapprochement, l intégration entre les médias de masse et la communication interpersonnelle, entre le secteur de l audiovisuel et celui des télécom, entre la sociologie des média et la sociologie de la sociabilité. Cette convergence entre médias de masse et outils de communication interpersonnelle, reconfigure les rapports entre production et consommation Ex1 : la mise en ligne, la publication des journaux intimes transforme la pratique. 1) appartenir à un collectif de diaristes devient une des composantes de la pratique (on lit les autres pour être lu) 2) l entretien des échanges avec le réseau des lecteurs devient important 3) le lecteur devient visible 4) la pratique d écriture peut changer (pression à la régularité de la publication, formatage d un style d écriture spécifique). Ex2 : Le développement du p2p, puis de utube, myspace rend la musique accessible, distribuable sur de nombreux supports et transforme les formes de l écoute musicale : on passe d une écoute intensive à une écoute extensive Trois domaines 1) La question du lien et de l engagement dans la relation sur internet. On considère l interaction, la paire adjacente, comme un couple production/réception et on voit bien que dans l espace numérique les règles qui président au déroulement de la conversation et des échanges se trouvent reconfigurées. 2) Les formes d'innovations Les utilisateurs sont acteurs de l innovation: les utilisateurs sont des acteurs centraux de l innovation, parce qu ils y contribuent, parce qu ils sont pourvoyeurs des contenus et parce qu ils sont les acteurs/décideurs du succès. Le modèle de l innovation classique de type mass média est remis en question en profondeur. 3) La transformation de la production et de la réception dans le domaine des pratiques culturelles : écriture, musique, vidéo et la place croissante qui occupe l échange. -> L'exemple des sites personnels Qu'est ce qu'un site personnel? Des définitions qui varient selon les acteurs FAI : espace disque pour les clients Concepteurs : le résultat d'un projet personnel Visiteurs : contenus faibles, aspect amateur => vers une définition dynamique des sites personnels Le site personnel comme terrain d'expérimentation de la publication Forte évolution des sites personnels Publier un site en ligne est un processus dynamique et continu (différent de la publication de livres) Les sites sont confrontés à leurs publics très tôt dans leur élaboration C'est aussi ce que révélait la typologie : des états d'élaboration différents Actes de l école Web Intelligence, page 302

245 Usages d internet : aspects sociaux Construire une typologie des pages personnelles pages vues par un panel d'internautes (panel NetValue-Nielsen//Netratings) Pages décrites par des traits hypertextuels (liens, images, traits méta) par le vocabulaire (taille du vocabulaire et place des pronoms) Une chaine de traitement complexe pour passer de la page à sa description par des traits projet RNRT SensNet : FT, NetRatings, LIMSI, PIII Beaudouin V., Fleury S., Pasquier M., Habert B. & Licoppe C. (2002). "Décrire la toile pour mieux comprendre les parcours. Sites personnels et sites marchands", Réseaux, Vol. 20, n 116, p. p Les liens hypermedia selon le serveur d hébergement Nb moyen de pages visitéees par site Nb moyen d'images externes Nb moyen de liens vers BAL Serveur Nb moyen de Nb moyen de Nb moyen d'hébergement liens internes liens externes d'images free_fr 6,4 20,1 3,5 7,0 0,8 0,4 perso.wanadoo.fr 5,4 9,6 1,9 5,1 0,3 0,5 perso.club-internet. 5,3 13,8 3,6 7,1 1,4 0,7 5,0 19,0 4,2 5,7 0,6 0,9 le-village.ifrance.c 4,8 7,0 3,1 5,0 0,6 0,8 4,8 6,1 3,7 4,6 0,5 0,4 ifrance.com 3,9 5,7 3,5 5,8 0,5 0,5 3,0 6,5 6,5 6,7 3,4 0,4 autres 3,2 10,3 4,5 6,5 0,9 0,5 Rq : sites perso wanadoo visitées : 44 pages en moyenne, 1,9 liens externes, 11 liens internes Une très faible part des sites est effectivement visitée Spécificités thématiques des hébergeurs de pages personnelles Extraction des contenus textuels d un échantillon de 4000 pages vues chez les différents hébergeurs de pages personnelles. Spécificités thématiques des pages visitées selon l hébergeur : Free : INTERDIT / SEXE / LOGICIEL / GRATUITE (reflet du double sens de «free») Chez : SEXE (plus hard) / SPONSOR (vers la sphère marchande) Wanadoo (id pour Club-Internet) : MOI-TOI / SE RACONTER / VIE / AMOUR /TRAVAIL multimania : FORMATION / DIVERTISSEMENT (bd, jeux, musique) / CHAT Geocities : pages perso en anglais Actes de l école Web Intelligence, page 303

246 Usages d internet : aspects sociaux Typologie des pages personnelles Pages de navigation (15%) Pages de contenu (72%) Pages élaborées (44%) Pages brouillon (28%) Pages à thème (16%) Pages moi (28%) référent référent émetteur récepteur émetteur récepteur Pages visitées : types de pages Les types de pages sont caractérisés par des configurations spécifiques de traits. Les types peuvent être interprétés comme des états différents d élaboration de la page Pages sophistiquées: beaucoup de liens, beaucoup d images pages d experts avec maîtrise de l écriture html, sans pronoms pages avec beaucoup de pronoms personnels, liens vers boîte aux lettres Pages brouillon : peu de liens, peu d images, peu de pronoms, peu de maîtrise dans la définition de la forme de la page On mesure plutôt le degré d'élaboration de la page que des sous-genres au sein des sites personnels => nécessité de revenir sur la définition de l'objet et sur une approche qualitative et compréhensive. Sites personnels : deux trajectoires contrastées Spirale descendante Site peu élaboré, à faible contenu, mal référencé, générant peu d audience => le site est progressivement abandonné Cercle vertueux Site à contenu de valeur, bien conçu, bien référencé, trouvant son public =>le site est régulièrement mis à jour et a une apparence qui le rapproche des sites professionnels Les lieux de la transformation (cercle vertueux) Autonomisation du site (acquisition d un nom de domaine) Disparition progressive du Moi au bénéfice du Thème Recentrage du site sur un seul Thème Ces changements sont pilotés par l audience Actes de l école Web Intelligence, page 304

247 Usages d internet : aspects sociaux Site Web Personnel En janvier 1999 En janvier 2001 Décembre 1998 Site Web Personnel Juin 2002 Un public très présent La relation avec le public est formatée par des compteurs (logique d audience) Par des échanges, surtout (engage le public vers la collaboration à la production du site) La croissance de l audience est une source d énergie et de motivation pour les créateurs de site Mais leur posture se déplace De la production de contenus durables et personnels A une logique d événements, de news, de mise à jour continuelle et de la mise à contribution d autres acteurs (Licoppe C. & Beaudouin V., La construction électronique du social : les sites personnels, Réseaux 116, ) Actes de l école Web Intelligence, page 305

248 Usages d internet : aspects sociaux Plan Histoire du média (côté offre) Innovation portée par les utilisateurs Reconfiguration des frontières entre production et consommation Evolution des usages (côté demande) En 2000 : Evolution des usages % de sessions avec accès au service Durée moyenne des sessions avec accès au service % panélistes ayant utilisé au moins une fois le service dans l'année Service Mail 38% 23 ' 79% WebMail 13% 37' 74% Messageries instantanées 11% 36' 25% Forum (Newsgroups) 5% 31' 24% Chat 3% 58' 28% Moteur 17% 43' 93% WEB 76% 30 ' 100% P2P : 14% En 2008 (premier trimestre) : % d'utilisateurs Moteur IM Vidéo sur internet Blogs Forums Jeux en réseaux P2P Chats Sites communautaires 92% 84% 49% 44% 38% 34% 15% 15% 14% 13% Actes de l école Web Intelligence, page 306

249 Usages d internet : aspects sociaux Evolution de la part des internautes accédant aux sites de partage vidéo (T. de Bailliencourt) 40% 36% 35% 30% 30% 24% 25% 21% 20% 18% 17% 15% 13% 11% 9% 10% Un autre 5% Les deux 5% 3% DailyMotion 1% 2% YouYube 0% avr-05 mai-05 juin-05 juil-05 août-05 sept-05 oct-05 nov-05 déc-05 janv-06 févr-06 mars-06 avr-06 mai-06 juin-06 juil-06 août-06 sept-06 oct-06 nov-06 déc-06 Clé de lecture : 36% des personnes qui se sont connectées au mois de décembre 2006 ont visité au moins une fois un site de partage vidéo. Diversité des formes d'engagement (1) Une distribution très inégale des usages d Internet (14% des internautes font 50% des sessions) Courbe de Gini % Sessions 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 50% de panelistes = 90% de sessions 14% de panelistes = 50% de sessions 0% 6% 11% 17% 23% 28% 34% 39% 45% 51% 56% 62% 67% 73% 79% 84% 90% 96% % panelistes Diversité des formes d'engagement (2) Forums : une minorité active, une majorité silencieuse Les degrés d engagement des acteurs dans les forums sont très variables des spectateurs invisibles (ignorés par les participants présents) : plus de 80 % du public [étude des logs de connexion sur le serveur] des visiteurs de passage : 60 % des participants «visibles» ne sont intervenus qu une fois en six mois (38% une fois en 4 mois sur les forums entreprise) un noyau de contributeurs très actifs : 15 intervenants sur 6000 écrivent 25 % des messages (35 auteurs sur 2606 postent un quart des messages sur les forums entreprise) Actes de l école Web Intelligence, page 307

250 Usages d internet : aspects sociaux Diversité des formes d'engagement (3) Flickr : la force des coopérations faibles (Beuscart et al.) 40% de comptes inactifs ou privés 20% utilisent un éventail large des fonctionnalités Quelques références bibliographiques Aguiton C. & Cardon D. (2007). "The Strength of Weak Cooperation:An attempt to Understand the Meaning of Web2.0", Communications & Strategies, Q1 2007, 65, p Beauvisage T., Beaudouin V. & Assadi H. (2007). "Internet 1.0: early users, early uses", Annals of Telecommunications, Vol. 62, n 3-4. Beauvisage T. (2007). "Les usages routiniers de l'informatique à domicile", Réseaux, 25, , p Beauvisage T. (2007). "Mesurer l'activité sur ordinateur. Enjeux et méthodes", Réseaux, 25, , p Beaudouin V. (2004). Mesurer les usages d'internet. In: G. Hébrail, L. Lebart and J.-M. Petit, Extraction et gestion des connaissances (EGC'2004). Clermont-Ferrand, RNTI. I, p Beaudouin V. & Licoppe C., Eds. (2002). Parcours sur internet. Réseaux. Paris, Hermès Beaudouin V. & Velkovska J. (1999). "Constitution d'un espace de communication sur Internet (Forums, pages personnelles, courrier électronique...)", Internet, un nouveau mode de communication?, 17, 97, p Cardon D., Smoreda Z. & Beaudouin V. (2005). Sociabilités et entrelacements des médias. In: P. Moati, Nouvelles technologies et modes de vie. Aliénation ou hypermodernité. Paris, Editions de l'aube, Licoppe C. & Beaudouin V. (2002). "La construction électronique du social : les sites personnels. L'exemple de la musique." Réseaux, Vol. 20, n 116, p. p Annexe Mesurer les usages d'internet Actes de l école Web Intelligence, page 308

251 Usages d internet : aspects sociaux Usages et utilisateurs d'internet Un exemple d'application des méthodes de fouille de données L'amont : Que cherche-t-on? Quelles données? Quels utilisateurs? Méthode Pré-traitements : catégorisation des services Intégration de données hétérogènes Classification en deux temps Résultats Cartographie des usages Enrichissement de l'interprétation Perspectives Typologiser les parcours Web et les utilisateurs en fonction du contenu des pages Contexte de la recheche Projet RNRT SensNet ( ) : Catégorisation sémantique des usages et des parcours sur le Web Partenaires : France Télécom R&D, NetValue, LIMSI, Paris III France Télécom R&D : Houssem Assadi, Valérie Beaudouin, Thomas Beauvisage, Christian Licoppe, Cezary Ziemlicki, - Arnaud Bergé (Keyrus) NetValue : Laurent Nicolas, Laurent Arbues LIMSI (CNRS) : Benoît Habert, Martine Hurault-Plantet, Michèle Jardino, Patrick Paroubek Paris III : Serge Fleury Projet labellisé en mai 2001 ; démarrage 2002 SensNet prend la suite d'un projet de recherche de FTR&D, TypWeb, qui impliquait les mêmes équipes. Pourquoi? Objectif du laboratoire de sciences humaines de France Télécom R&D Constituer une connaissance fine des usages des TIC (téléphone fixe, mobile, internet..) à destination des entités opérationnelles Comment? En menant des enquêtes sociologiques auprès des utilisateurs, dans l'entreprise, dans les foyers Combinaison de méthodes quantitatives (trafic, enquêtes), qualitatives, ethnographiques Avec des échantillons emboîtés l'entonnoir Dispositif mis au point pour le trafic téléphonique Analyse de trafic Enquête quanti avec qualification Entretie ns qualitati Observation ethno fs vidéo / analyse des conversations Actes de l école Web Intelligence, page 309

252 Usages d internet : aspects sociaux Application au cas d'internet Objectif global : Produire de la connaissance sur les utilisateurs et les usages d'internet (profils, évolution ) Quel trafic? Pourquoi analyser le trafic? Quel trafic? Le trafic de qui? Comment qualifier l'activité de l'internaute à partir des données de trafic? que nous dit une url? que signifient les traces laissées par des protocoles rares? Pourquoi analyser le trafic? Alors qu'il suffit d'interroger les utilisateurs, leur demander ce qu'ils font. La pratique d'internet est une des plus difficiles à faire décrire par l'utilisateur : Une grande diversité d'activités comunication, recherche, navigation, achat, écoute, téléchargement Une offre très abondante 3 millions de pages web différentes vues par 1000 personnes en un an Un contexte d'activité unique : devant un écran avec un clavier (et une souris), qui n'aide pas à différencier les tâches Décomposer l activité de l utilisateur derrière son écran à partir des traces pour recomposer des profils d utilisateurs Quelles données de trafic? Les principales sources de données de trafic internet sont : Les logs de serveurs internet : Point du vue du site et pas celui de l'utilisateur ; difficile de remonter à l'utilisateur Les sondes implantées sur le réseau : remonte tout le trafic internet difficile de remonter à l'utilisateur Les sondes placées sur le poste de l'utilisateur Possibilité d'identification fine de l'utilisateur Remontée de tout le trafic Pour la connaissance des usages globaux d'internet, les sondes sur le poste de l'utilisateur sont les plus adaptées Actes de l école Web Intelligence, page 310

253 Usages d internet : aspects sociaux Le trafic internet de qui? Quel échantillon? Mes voisins de bureau? Un échantillon recruté en ligne? Un échantillon représentatif de la population connectée à internet. Partenariat avec une société de mesure d'audience, Nielsen/NetRatings (ex NetValue) Des panels représentatifs de la population connectée à Internet à domicile Descriptif socio-démographique et équipement de chaque internaute Cohorte suivie dans la durée => approche longitudinale (600 internautes suivis pendant trois ans) Traces d utilisation d'internet récupérées sur le poste utilisateur Prise en compte de tous les usages d Internet : Web, mail, forum, chat, téléchargement, p2p Méthode : prétraitement Les traces techniques introduisent des différences qui ne sont pas forcément pertinentes en termes d'usage Lire et écrire ses mails avec un logiciel dédié à la messagerie ou sur un webmail (type HotMail) Faire du chat en utilisant mirc ou faire du chat sur le web Traces différentes / usages similaires Mise au point d'un système pour identifier toutes les URL qui correspondent à des services De communication (mail, chat, forums ) De recherche (moteurs, annuaires ) => donne la possibilité d'étudier les usages du mail, du chat Intégration de données hétérogènes La session est la seule unité qui permette une comparaison des usages des protocoles internet Chaque protocole laisse des traces de nature différente non comparables Le peer-to-peer est très "bavard" en traces réseau, le mail classique beaucoup moins. Définition de la session internet : Activité sur le réseau, quels que soient les protocoles utilisés sans interruption de plus de 30 Actes de l école Web Intelligence, page 311

254 Usages d internet : aspects sociaux Redéfinition des sessions Ce panéliste entre 12h55 et 14h43 a fait du web, a utilisé le Messager et envoyé un mail : on voit à travers ce simple exemple comment sont entrelacés les usages. => l intégration de l ensemble des protocoles est indispensable pour comprendre les usages. pan_id date type proto duree :31:45 Web http :31:53 Web http :43:12 Web http :43:22 Web http :32:05 Web http :32:29 Web http :32:33 Web http :32:58 Web http :49:26 Web http :49:31 Web http :07:24 Web http :07:30 Web http 11 pan_id date type proto duree :31:45 Web http :31:53 Web http :32:25 Autre Messager :33:20 Autre Messager :55:31 Autre Messager :02:52 Autre Messager :03:57 Autre Messager :42:58 Mail sendmail :43:12 Web http :43:22 Web http :43:56 Autre Messager :32:05 Web http :32:29 Web http :32:46 Autre Messager :33:24 Autre Messager :32:33 Web http :32:58 Web http :33:27 Autre Messager :36:09 Mail recvmail :38:51 Autre Messager :39:24 Autre Messager :48:40 Autre Messager :48:49 Autre Messager :49:26 Web http :49:31 Web http :50:04 Autre Messager :06:11 Mail sendmail :07:24 Web http :07:30 Web http :08:01 Autre Messager 4 Une illustration Segmentation des internautes sur la base de leurs pratiques Construire une typologie des internautes Définir un ensemble de services, protocoles observés Profil des sessions (présence/absence d un service) Web Moteur Mail WebMail Chat ICQ utilisateur 1 session utilisateur 1 session utilisateur 1 session utilisateur utilisateur utilisateur utilisateur utilisateur 1140session Profil des internautes (part des sessions avec accès au service) Web Moteur Mail WebMail Chat ICQ Intensité pratique utilisateur utilisateur ,6 0,2 0, Analyse en composantes principales et classification ascendante hiérarchique Cinq groupes d internautes Actes de l école Web Intelligence, page 312

255 Usages d internet : aspects sociaux Faibles utilisateurs : 47% des internautes et 15% des sessions Internet Sessions complexes (Web +mail+chat ) Forts utilisateurs : 53% des internautes ; 85% des sessions 20% 12% Utilisateurs Web, Courrier & Conversation (chat) Faible utilisation d'internet Forts utilisateurs du courrier électronique 21% Forte utilisation d'internet 22% Utilisateurs intensifs du Web 25% Très faibles utilisateurs Faibles utilisateurs Sessions simples (Web seul) Représentation fonctionnelle de la plateforme Données de trafic des panels NetValue -Panels France ( ), Royaume-Uni ( ), Espagne ( ) -Trafic Web et autres protocoles (mail, chat, ftp, p2p ) Ex. France 2002 = 3500 internautes, parcours Corpus de sites et de parcours -Aspiration de l'intégralité des parcours de 40 internautes sur un an (2002) - Aspiration de sites liés à ces parcours (en cours de définition) SensNetAspi : aspiration des sites et parcours SensNetXref : normalisation des documents aspirés Entrepôt de données SensNet Fouille et exploration de données - Dataminer - Replay Traitements statistiques - Haddock : mesure de distances, classification - Modules de traitements statistiques SAS Enrichissement des données CatService : catégorisation des services du Web Annuaires : catégorisation des sites Web visités grâce aux annuaires du Web SensNetCorpus : module d'élaboration d'indicateurs de description SensNetSession : module de description des sessions Actes de l école Web Intelligence, page 313

256 Actes de l école Web Intelligence, page 314

257

MAT 2377 Solutions to the Mi-term

MAT 2377 Solutions to the Mi-term MAT 2377 Solutions to the Mi-term Tuesday June 16 15 Time: 70 minutes Student Number: Name: Professor M. Alvo This is an open book exam. Standard calculators are permitted. Answer all questions. Place

Plus en détail

Instructions Mozilla Thunderbird Page 1

Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Ce manuel est écrit pour les utilisateurs qui font déjà configurer un compte de courrier électronique dans Mozilla Thunderbird et

Plus en détail

Software Design Description

Software Design Description Software Design Description ABSTRACT: KEYWORDS: APPROVED: AUTHOR PROJECT MANAGER PRODUCT OWNER General information/recommendations A SDD provides a representation of a software system created to facilitate

Plus en détail

MPLS, GMPLS et NGN. Sécurité MPLS. Jacques BAUDRON ixtel octobre 2009 jacques.baudron@ixtel.fr. Ingénierie Conseils Services Télécommunications

MPLS, GMPLS et NGN. Sécurité MPLS. Jacques BAUDRON ixtel octobre 2009 jacques.baudron@ixtel.fr. Ingénierie Conseils Services Télécommunications MPLS, GMPLS et NGN Sécurité MPLS Jacques BAUDRON ixtel octobre 2009 jacques.baudron@ixtel.fr 1 Contents Treats Requirements VPN Attacks & defence 3 8 14 19 2 3 Threats Threats Denial of service Resources

Plus en détail

CONTRAT D ETUDES - LEARNING AGREEMENT

CONTRAT D ETUDES - LEARNING AGREEMENT CONTRAT D ETUDES - LEARNING AGREEMENT Règles générales La présence aux séances d enseignement des modules choisis est obligatoire. Chaque module comporte des séances de travail encadrées et non encadrées

Plus en détail

ADQ IR Implementation

ADQ IR Implementation ADQ IR Implementation DSNA experience Direction Générale de l Aviation Civile CONTENTS DSNA considerations ADQ objectives The context : a coordinated approach DSNA approach to ADQ implementation The pillars

Plus en détail

Assoumta Djimrangaye Coordonnatrice de soutien au développement des affaires Business development support coordinator

Assoumta Djimrangaye Coordonnatrice de soutien au développement des affaires Business development support coordinator 2008-01-28 From: [] Sent: Monday, January 21, 2008 6:58 AM To: Web Administrator BCUC:EX Cc: 'Jean Paquin' Subject: RE: Request for Late Intervenorship - BCHydro Standing Offer C22-1 Dear Bonnie, Please

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

Nouvelles classes de problèmes pour la fouille de motifs intéressants dans les bases de données 2

Nouvelles classes de problèmes pour la fouille de motifs intéressants dans les bases de données 2 Nouvelles classes de problèmes pour la fouille de motifs intéressants dans les bases de données 2 Lhouari Nourine 1 1 Université Blaise Pascal, CNRS, LIMOS, France SeqBio 2012 Marne la vallée, France 2.

Plus en détail

IEEE Learning Technology Standards Committee Comité des Normes en Technologies d Apprentissage de l IEEE

IEEE Learning Technology Standards Committee Comité des Normes en Technologies d Apprentissage de l IEEE IEEE Learning Technology Standards Committee Comité des Normes en Technologies d Apprentissage de l IEEE Robby Robson Chair, LTSC Président, LTSC rrobson@eduworks.com 19 March, 2003 What is the LTSC? Le

Plus en détail

Smile Mobile Dashboard

Smile Mobile Dashboard Smile Mobile Dashboard 1. Magento Extension The iphone and Android applications require access to data from your Magento store. This data is provided through an extension, available on Magento Connect

Plus en détail

Rational Team Concert

Rational Team Concert Une gestion de projet agile avec Rational Team Concert Samira Bataouche Consultante, IBM Rational France 1 SCRUM en Bref Events Artifacts Development Team Source: Scrum Handbook 06 Décembre 2012 Agilité?

Plus en détail

Date: 09/11/15 www.crmconsult.com Version: 2.0

Date: 09/11/15 www.crmconsult.com Version: 2.0 Date: 9/11/2015 contact@crmconsult.fr Page 1 / 10 Table des matières 1 SUGARPSHOP : SCHEMA... 3 2 PRESENTATION... 4 3 SHOPFORCE WITH SCREENSHOTS... 5 3.1 CLIENTS... 5 3.2 ORDERS... 6 4 INSTALLATION...

Plus en détail

Les licences Creative Commons expliquées aux élèves

Les licences Creative Commons expliquées aux élèves Les licences Creative Commons expliquées aux élèves Source du document : http://framablog.org/index.php/post/2008/03/11/education-b2i-creative-commons Diapo 1 Creative Commons presents : Sharing Creative

Plus en détail

Please find attached a revised amendment letter, extending the contract until 31 st December 2011.

Please find attached a revised amendment letter, extending the contract until 31 st December 2011. Sent: 11 May 2011 10:53 Subject: Please find attached a revised amendment letter, extending the contract until 31 st December 2011. I look forward to receiving two signed copies of this letter. Sent: 10

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

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

Forthcoming Database

Forthcoming Database DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of

Plus en détail

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par. École Doctorale d Informatique, Télécommunications et Électronique de Paris THÈSE présentée à TÉLÉCOM PARISTECH pour obtenir le grade de DOCTEUR de TÉLÉCOM PARISTECH Mention Informatique et Réseaux par

Plus en détail

Registry. Pierre Le Sidaner Observatoire de Paris. Hackathon ASOV septembre 2015 1

Registry. Pierre Le Sidaner Observatoire de Paris. Hackathon ASOV septembre 2015 1 Registry Pierre Le Sidaner Observatoire de Paris Hackathon ASOV septembre 2015 1 Demain Le panorama change car l'interface des registries change. Dans le futur un nouveau service au STSCI et à l'esac mais

Plus en détail

Institut français des sciences et technologies des transports, de l aménagement

Institut français des sciences et technologies des transports, de l aménagement Institut français des sciences et technologies des transports, de l aménagement et des réseaux Session 3 Big Data and IT in Transport: Applications, Implications, Limitations Jacques Ehrlich/IFSTTAR h/ifsttar

Plus en détail

Initiative d excellence de l université de Bordeaux. Réunion du Comité stratégique 17-19 décembre 2014. Recommandations

Initiative d excellence de l université de Bordeaux. Réunion du Comité stratégique 17-19 décembre 2014. Recommandations Initiative d excellence de l université de Bordeaux Réunion du Comité stratégique 17-19 décembre 2014 Recommandations 2/1 RECOMMANDATIONS DU COMITE STRATEGIQUE Une feuille de route pour le conseil de gestion

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

Audio and Web Conferencing services. Orange Business Services. Web Conferencing

Audio and Web Conferencing services. Orange Business Services. Web Conferencing Audio and Web Conferencing services Orange Business Services Web Conferencing web conferencing completely integrated audio and web services conference availability 24hrs/7days up to 100 participants complete

Plus en détail

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Rational ClearCase or ClearCase MultiSite Version 7.0.1 Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Product Overview IBM Rational

Plus en détail

Sun ONE Application Server Platform Summary

Sun ONE Application Server Platform Summary Sun ONE Application Server Platform Summary Version 7, Update 3 Part Number 817-5602-10 February 2004 This document provides the specifics on supported platform components for the Sun Open Net Environment

Plus en détail

C est quoi, Facebook?

C est quoi, Facebook? C est quoi, Facebook? aujourd hui l un des sites Internet les plus visités au monde. Si tu as plus de 13 ans, tu fais peut-être partie des 750 millions de personnes dans le monde qui ont une page Facebook?

Plus en détail

Quick Start Guide This guide will help you install a base configuration of IBM Tivoli Key Lifecycle Manager.

Quick Start Guide This guide will help you install a base configuration of IBM Tivoli Key Lifecycle Manager. IBM Tivoli Key Lifecycle Manager Version 2.0.1 Quick Start Guide This guide will help you install a base configuration of IBM Tivoli Key Lifecycle Manager. National Language Version: To obtain the Quick

Plus en détail

eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME

eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME Agenda What do we have today? What are our plans? What needs to be solved! What do we have today?

Plus en détail

Editing and managing Systems engineering processes at Snecma

Editing and managing Systems engineering processes at Snecma Editing and managing Systems engineering processes at Snecma Atego workshop 2014-04-03 Ce document et les informations qu il contient sont la propriété de Ils ne doivent pas être copiés ni communiqués

Plus en détail

Exemple PLS avec SAS

Exemple PLS avec SAS Exemple PLS avec SAS This example, from Umetrics (1995), demonstrates different ways to examine a PLS model. The data come from the field of drug discovery. New drugs are developed from chemicals that

Plus en détail

Configuration de l'usurpation IP sur le Cache Engine dans une installation transparente avec commutateur de services de contenu

Configuration de l'usurpation IP sur le Cache Engine dans une installation transparente avec commutateur de services de contenu Configuration de l'usurpation IP sur le Cache Engine dans une installation transparente avec commutateur de services de contenu Contenu Introduction Avant de commencer Conventions Conditions préalables

Plus en détail

C est quoi, Facebook?

C est quoi, Facebook? C est quoi, Facebook? Si tu as plus de 13 ans, tu fais peut-être partie des 750 millions de personnes dans le monde qui ont un compte Facebook? Et si tu es plus jeune, tu as dû entendre parler autour de

Plus en détail

Me Mandessi Bell Evelyne. www.ohadalegis.com. Avocat - Consultante. 2013. Tous droits réservés

Me Mandessi Bell Evelyne. www.ohadalegis.com. Avocat - Consultante. 2013. Tous droits réservés Me Mandessi Bell Evelyne Avocat - Consultante www.ohadalegis.com 2013. Tous droits réservés Version française du Kit, à partir de la p. 3. Sommaire p. 6. Version anglaise du Kit, à partir de la p. 110.

Plus en détail

Comment concevoir et réaliser des applications mobiles combinant l'iot et le cognitif? Erwan Maréchal

Comment concevoir et réaliser des applications mobiles combinant l'iot et le cognitif? Erwan Maréchal IBM 2015 App Days Amphithéatre Blaise Pascal Comment concevoir et réaliser des applications mobiles combinant l'iot et le cognitif? Erwan Maréchal Appli Single Page : le concept du «Single Page App» Qu

Plus en détail

Academic Project. B3 - Architecture. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

Academic Project. B3 - Architecture. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA SUPINFO Academic Dept. Resit Project Academic Project 2012-2013 Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA Conditions d utilisations : SUPINFO International University vous

Plus en détail

Product Platform Development: A Functional Approach Considering Customer Preferences

Product Platform Development: A Functional Approach Considering Customer Preferences Product Platform Development: A Functional Approach Considering Customer Preferences THÈSE N O 4536 (2009) PRÉSENTÉE le 4 décembre 2009 À LA FACULTé SCIENCES ET TECHNIQUES DE L'INGÉNIEUR LABORATOIRE DES

Plus en détail

Introduction. Règlement général des TPs - Rappel. Objectifs du cours. Génie logiciel. Génie logiciel

Introduction. Règlement général des TPs - Rappel. Objectifs du cours. Génie logiciel. Génie logiciel Introduction Génie logiciel Philippe Dugerdil Génie logiciel «The disciplined application of engineering, scientific and mathematical principles, methods and tools to the economical production of quality

Plus en détail

Application Control technique Aymen Barhoumi, Pre-sales specialist 23/01/2015

Application Control technique Aymen Barhoumi, Pre-sales specialist 23/01/2015 Bienvenue Application Control technique Aymen Barhoumi, Pre-sales specialist 23/01/2015 Contexte 2 Agenda 1 Présentation de la Blade Application Control: catégorisation, Appwiki 2 Interfaçage avec la Blade

Plus en détail

A Model-Based Synthesis Process for Choreography Realizability

A Model-Based Synthesis Process for Choreography Realizability Vanessa Zahorian & Kristin Long in Divertimento N 15 - Photo (c) Erik Tomasson A Model-Based Synthesis Process for Choreography Realizability Marco Autili Enforcement marco.autili@univaq.it GSSi 2013 November

Plus en détail

WEB page builder and server for SCADA applications usable from a WEB navigator

WEB page builder and server for SCADA applications usable from a WEB navigator Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel

Plus en détail

2 players Ages 8+ Note: Please keep these instructions for future reference. WARNING. CHOKING HAZARD. Small parts. Not for children under 3 years.

2 players Ages 8+ Note: Please keep these instructions for future reference. WARNING. CHOKING HAZARD. Small parts. Not for children under 3 years. Linja Game Rules 2 players Ages 8+ Published under license from FoxMind Games NV, by: FoxMind Games BV Stadhouderskade 125hs Amsterdam, The Netherlands Distribution in North America: FoxMind USA 2710 Thomes

Plus en détail

DOCUMENTATION MODULE FOOTERCUSTOM Module crée par Prestacrea

DOCUMENTATION MODULE FOOTERCUSTOM Module crée par Prestacrea DOCUMENTATION MODULE FOOTERCUSTOM Module crée par Prestacrea INDEX : DOCUMENTATION - FRANCAIS... 2 1. INSTALLATION... 2 2. CONFIGURATION... 2 3. LICENCE ET COPYRIGHT... 4 4. MISES A JOUR ET SUPPORT...

Plus en détail

Testing : A Roadmap. Mary Jean Harrold. Présentation de Olivier Tissot

Testing : A Roadmap. Mary Jean Harrold. Présentation de Olivier Tissot Testing : A Roadmap Mary Jean Harrold Présentation de Olivier Tissot Testing : A Roadmap I. L auteur II. Introduction sur les test : les enjeux, la problématique III. Les tests : roadmap IV. Conclusion

Plus en détail

Les protocoles cryptographiques: sommes-nous bien protégés?

Les protocoles cryptographiques: sommes-nous bien protégés? Les protocoles cryptographiques: sommes-nous bien protégés? Stéphanie Delaune LSV, CNRS & ENS Cachan, France Jeudi 26 Juin 2014 S. Delaune (LSV) Les protocoles cryptographiques 26 Juin 2014 1 / 28 Cryptographic

Plus en détail

Un ACTIF InConToURnABLE PoUR DEs PARTEnARIATs significatifs. social. An ASSeT To meaningful PARTneRSHIPS

Un ACTIF InConToURnABLE PoUR DEs PARTEnARIATs significatifs. social. An ASSeT To meaningful PARTneRSHIPS Le capital Un ACTIF InConToURnABLE PoUR DEs PARTEnARIATs significatifs social capital An ASSeT To meaningful PARTneRSHIPS Présentation des participants participants presentation Fondation Dufresne et Gauthier

Plus en détail

SC 27/WG 5 Normes Privacy

SC 27/WG 5 Normes Privacy SC 27/WG 5 Normes Privacy Club 27001 Toulousain 12/12/2014 Lionel VODZISLAWSKY Chief Information Officer l.vodzislawsky@celtipharm.com PRE-CTPM 141212-Club27001 Toulouse normes WG5_LV L organisation de

Plus en détail

A propos de ce livre Ceci est une copie numérique d un ouvrage conservé depuis des générations dans les rayonnages d une bibliothèque avant d être numérisé avec précaution par Google dans le cadre d un

Plus en détail

Publication IEC 61000-4-3 (Edition 3.0 2008) I-SH 01

Publication IEC 61000-4-3 (Edition 3.0 2008) I-SH 01 Publication IEC 61000-4-3 (Edition 3.0 2008) I-SH 01 Electromagnetic compatibility (EMC) Part 4-3: Testing and measurement techniques Radiated, radio-frequency, electromagnetic field immunity test INTERPRETATION

Plus en détail

How To connect to TonVPN Max / Comment se connecter à TonVPN Max

How To connect to TonVPN Max / Comment se connecter à TonVPN Max How To connect to TonVPN Max / Comment se connecter à TonVPN Max Note : you need to run all those steps as an administrator or somebody having admin rights on the system. (most of the time root, or using

Plus en détail

AccessLearn Community Group: Introductory Survey. Groupe communautaire AccessLearn : étude introductive. Introduction.

AccessLearn Community Group: Introductory Survey. Groupe communautaire AccessLearn : étude introductive. Introduction. AccessLearn Community Group: Introductory Survey Introduction The W3C Accessible Online Learning Community Group (aka AccessLearn) is a place to discuss issues relating to accessibility and online learning,

Plus en détail

PROJET DE LOI C- BILL C- SECRET SECRET HOUSE OF COMMONS OF CANADA CHAMBRE DES COMMUNES DU CANADA

PROJET DE LOI C- BILL C- SECRET SECRET HOUSE OF COMMONS OF CANADA CHAMBRE DES COMMUNES DU CANADA SECRET C- SECRET C- First Session, Forty-first Parliament, Première session, quarante et unième législature, HOUSE OF COMMONS OF CANADA CHAMBRE DES COMMUNES DU CANADA BILL C- PROJET DE LOI C- An Act to

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

J2EE : Services Web. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved.

J2EE : Services Web. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved. J2EE : Services Web Stéphane Croisier, Directeur Serge Huber, Directeur Technique 13 Juin 2002 Aperçu Interopérabilité en XML/HTTP SOAP ebxml Outils d EAI JXTA Normes d interopérabilité XML SOAP/UDDI Inventé

Plus en détail

(Programme de formation pour les parents ~ Training program for parents)

(Programme de formation pour les parents ~ Training program for parents) PODUM-INFO-ACTION (PIA) La «carte routière» pour les parents, sur l éducation en langue française en Ontario A «road map» for parents, on French-language education in Ontario (Programme de formation pour

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

Voici un des développements récents en matière d arnaque tordue : l usurpation de compte Ebay

Voici un des développements récents en matière d arnaque tordue : l usurpation de compte Ebay Voici un des développements récents en matière d arnaque tordue : l usurpation de compte Ebay Pour résumer voici le type de procédure que nos arnaqueurs utilisent pour pirater votre compte : 1 Vous recevez

Plus en détail

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM 2015-2 APPLICATION FORM

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM 2015-2 APPLICATION FORM SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM 2015-2 APPLICATION FORM APPLICATION FORM / FORMULAIRE DE CANDIDATURE Note: If there is insufficient space to answer a question, please attach additional

Plus en détail

Reqtify@PSA Reqtify in support of Embeded Systems Development at PSA

Reqtify@PSA Reqtify in support of Embeded Systems Development at PSA Reqtify@PSA Reqtify in support of Embeded Systems Development at PSA Mathieu DUTHOIT April 2011 2 Content Use of Reqtify in its primary role : Requirements traceability & coverage analysis : Use of Reqtify

Plus en détail

UN NOUVEL ASSISTANT DE PREUVE POUR REVISITER THÉORIE DES TYPES HOMOTOPIQUES LA THÉORIE SUPPORTANT COQ AVEC LA NICOLAS TABAREAU

UN NOUVEL ASSISTANT DE PREUVE POUR REVISITER THÉORIE DES TYPES HOMOTOPIQUES LA THÉORIE SUPPORTANT COQ AVEC LA NICOLAS TABAREAU COQHOTT UN NOUVEL ASSISTANT DE PREUVE POUR REVISITER LA THÉORIE SUPPORTANT COQ AVEC LA THÉORIE DES TYPES HOMOTOPIQUES NICOLAS TABAREAU Le projet 2 The CoqHoTT project Design and implement a brand-new proof

Plus en détail

Contrôle Interne et Gouvernance IT avec Lotus Business Control and Reporting. Olivier Elluin

Contrôle Interne et Gouvernance IT avec Lotus Business Control and Reporting. Olivier Elluin Contrôle Interne et Gouvernance IT avec Lotus Business Control and Reporting Olivier Elluin Agenda Contrôle Interne et Gouvernance IT Lotus Business Control and Reporting Besoins Fonctions Générales Présentation

Plus en détail

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI 9/12/2014 Cloud & Security Sommaire Rappel court de Cloud Pour quoi cette sujet est important? Données sensibles dans le Cloud Les risques Top

Plus en détail

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007 Mon Service Public - Case study and Mapping to SAML/Liberty specifications Gaël Gourmelen - France Telecom 23/04/2007 Agenda Brief presentation of the "Mon Service Public" project (main features) Detailed

Plus en détail

Information Security Management Lifecycle of the supplier s relation

Information Security Management Lifecycle of the supplier s relation 1 Information Security Management Lifecycle of the supplier s relation VS Gery Mollers Conseiller en Sécurité du Système d Information 2 SUPPLIER GOVERNANCE Why? Undiable Partner for Infor. System Maintenance

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

A partir de ces différents matériels, l administrateur a déterminé huit configurations différentes. Il vous demande de les compléter.

A partir de ces différents matériels, l administrateur a déterminé huit configurations différentes. Il vous demande de les compléter. Exonet - Ressources mutualisées en réseau Description du thème Propriétés Intitulé long Formation concernée Présentation Modules Activités Compétences ; Savoir-faire Description Ressources mutualisées

Plus en détail

UML : Unified Modeling Language

UML : Unified Modeling Language UML : Unified Modeling Language Recommended: UML distilled A brief guide to the standard Object Modeling Language Addison Wesley based on Frank Maurer lecture, Univ. of Calgary in french : uml.free.fr/index.html

Plus en détail

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation THE CONSUMER PROTECTION ACT (C.C.S.M. c. C200) Call Centres Telemarketing Sales Regulation LOI SUR LA PROTECTION DU CONSOMMATEUR (c. C200 de la C.P.L.M.) Règlement sur le télémarketing et les centres d'appel

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

Rappels. Génie logiciel. Implemented tactics. Oldest architecture: Batch-Sequential

Rappels. Génie logiciel. Implemented tactics. Oldest architecture: Batch-Sequential Rappels Génie logiciel Philippe Dugerdil Composants, packages Couches & dépendances Principes de structuration Réutilisation / responsabilité Réutilisation & composants 09.12.2010 Oldest architecture:

Plus en détail

EUDAT and CINES data preservation services. Workshop PREDON Stéphane Coutin 05 nov 2014

EUDAT and CINES data preservation services. Workshop PREDON Stéphane Coutin 05 nov 2014 EUDAT and CINES data preservation services Workshop PREDON Stéphane Coutin 05 nov 2014 Le CINES Basé à Montpellier (Hérault, France) EPA créé en 1999, succédant au CNUSC (Centre National Universitaire

Plus en détail

6. Les désastres environnementaux sont plus fréquents. 7. On ne recycle pas ses déchets ménagers. 8. Il faut prendre une douche au lieu d un bain.

6. Les désastres environnementaux sont plus fréquents. 7. On ne recycle pas ses déchets ménagers. 8. Il faut prendre une douche au lieu d un bain. 1. Notre planète est menacée! 2. Il faut faire quelque chose! 3. On devrait faire quelque chose. 4. Il y a trop de circulation en ville. 5. L air est pollué. 6. Les désastres environnementaux sont plus

Plus en détail

Développement logiciel pour le Cloud (TLC)

Développement logiciel pour le Cloud (TLC) Table of Contents Développement logiciel pour le Cloud (TLC) 6. Infrastructure-as-a-Service Guillaume Pierre 1 Introduction 2 OpenStack Université de Rennes 1 Fall 2012 http://www.globule.org/~gpierre/

Plus en détail

Practice Exam Student User Guide

Practice Exam Student User Guide Practice Exam Student User Guide Voir la version française plus bas. 1. Go to http://training.iata.org/signinup 2. Enter your username and password to access your student profile Your profile was created

Plus en détail

Tagging and tracking mobile transactions

Tagging and tracking mobile transactions Tagging and tracking mobile transactions Chez IBM SWG un arrangement financier s appelle un play Pour cette présentation ce sera le «play mobile» ;O) Régis David regis_david@fr.ibm.com 13 Tagging and Tracking

Plus en détail

Contrôle d'accès Access control. Notice technique / Technical Manual

Contrôle d'accès Access control. Notice technique / Technical Manual p.1/18 Contrôle d'accès Access control INFX V2-AI Notice technique / Technical Manual p.2/18 Sommaire / Contents Remerciements... 3 Informations et recommandations... 4 Caractéristiques techniques... 5

Plus en détail

Annonce de voyage Concerne les voyages en Suisse par les transports publics Utilisation d un véhicule privé La demande d utilisation d un véhicule

Annonce de voyage Concerne les voyages en Suisse par les transports publics Utilisation d un véhicule privé La demande d utilisation d un véhicule Annonce de voyage Concerne les voyages en Suisse par les transports publics Utilisation d un véhicule privé La demande d utilisation d un véhicule privée ne doit plus être utilisée. Elle est remplacée

Plus en détail

GLOBAL COMPACT EXAMPLE

GLOBAL COMPACT EXAMPLE GLOBAL COMPACT EXAMPLE Global Compact Good Practice GROUPE SEB 2004-2005 1/4 FIRM: GROUPE SEB TITLE: GROUPE SEB Purchasing Policy contributing to sustainable development GC PRINCIPLES taken into account:

Plus en détail

DevOps / SmartCloud Orchestrator. Dominique Lacassagne Cloud Architect

DevOps / SmartCloud Orchestrator. Dominique Lacassagne Cloud Architect DevOps / SmartCloud Orchestrator Dominique Lacassagne Cloud Architect DevOps / SmartCloud Orchestrator ( SCO ) Introduction: where does SCO fit in the DevOps story? A quick review of SCO main features

Plus en détail

How to? / Flash the ATMEGA32

How to? / Flash the ATMEGA32 How to? / Flash the ATMEGA32 Français La programmation du microcontrôleur n est pas très compliquée mais elle nécessite un minimum d attention. Elle peut se faire directement sur la platine du Monome grâce

Plus en détail

video La bataille du logiciel libre pour HTML5

video La bataille du logiciel libre pour HTML5 video La bataille du logiciel libre pour HTML5 Sources: Cisco estimates based on CAIDA publications, Andrew Odlyzko http://www.wired.com/magazine/2010/08/ff_webrip/all/1 mercredi 13 juillet 2011

Plus en détail

Etudiants entrants / Incoming students 2014-2015

Etudiants entrants / Incoming students 2014-2015 Etudiants entrants / Incoming students 2014-2015 Service Relations Internationales de l IAE Karine MICHELET, Bureau AF114 www.iae-toulouse.fr international@iae-toulouse.fr Tel: 05 61 63 57 10 Ce guide

Plus en détail

Conférence «Accords transnationaux d entreprise» «Transnational Company Agreements» Conference

Conférence «Accords transnationaux d entreprise» «Transnational Company Agreements» Conference Conférence «Accords transnationaux d entreprise» «Transnational Company Agreements» Conference 13-14 novembre 2008-13th -14th Novembre 2008 Centre des Congrès, Lyon Le rôle des accords d entreprise transnationaux

Plus en détail

deux tâches dans le tableau et à cliquer sur l icône représentant une chaîne dans la barre d outils. 14- Délier les tâches : double cliquer sur la

deux tâches dans le tableau et à cliquer sur l icône représentant une chaîne dans la barre d outils. 14- Délier les tâches : double cliquer sur la MS Project 1- Créer un nouveau projet définir la date du déclenchement (début) ou de la fin : File New 2- Définir les détails du projet : File Properties (permet aussi de voir les détails : coûts, suivi,

Plus en détail

RAPID 3.34 - Prenez le contrôle sur vos données

RAPID 3.34 - Prenez le contrôle sur vos données RAPID 3.34 - Prenez le contrôle sur vos données Parmi les fonctions les plus demandées par nos utilisateurs, la navigation au clavier et la possibilité de disposer de champs supplémentaires arrivent aux

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

Quick Start Guide Guide de démarrage rapide

Quick Start Guide Guide de démarrage rapide Platinum App Bridge Kit Trousse de pont pour App Platinum MC Quick Start Guide Guide de démarrage rapide 1 Check kit contents. Vérifier le contenu de la trousse. A B E CA DB E C D A B E C D A B E C D C

Plus en détail

AINoE. Rapport sur l audition d AINoE Paris, 18 juin 2003

AINoE. Rapport sur l audition d AINoE Paris, 18 juin 2003 AINoE Abstract Interpretation Network of Excellence Patrick COUSOT (ENS, Coordinator) Rapport sur l audition d AINoE Paris, 18 juin 2003 Thématique Rapport sur l audition d AINoE Paris, 18 juin 2003 1

Plus en détail

Usage guidelines. About Google Book Search

Usage guidelines. About Google Book Search This is a digital copy of a book that was preserved for generations on library shelves before it was carefully scanned by Google as part of a project to make the world s books discoverable online. It has

Plus en détail

A propos de ce livre. Consignes d utilisation

A propos de ce livre. Consignes d utilisation A propos de ce livre Ceci est une copie numérique d un ouvrage conservé depuis des générations dans les rayonnages d une bibliothèque avant d être numérisé avec précaution par Google dans le cadre d un

Plus en détail

Become. Business Provider for Matheo Software

Become. Business Provider for Matheo Software Become Business Provider for Matheo Software Who we are? Matheo Software was created in 2003 by business intelligence and information processing professionals from higher education and research. Matheo

Plus en détail

DynDNS. Qu est-ce que le DynDNS?

DynDNS. Qu est-ce que le DynDNS? DynDNS. Qu est-ce que le DynDNS? Le DynDNS (Dynamic Domain Name Server) sert à attribuer un nom de domaine à une adresse ip dynamique. Chaque ordinateur utilise une adresse ip pour communiquer sur le réseau.

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

CHAPITRE 1 NOM DATE 1 UNE AMIE ET UN AMI. 1 - Mélanie Boucher Here is a picture of Mélanie Boucher. Write a story about her.

CHAPITRE 1 NOM DATE 1 UNE AMIE ET UN AMI. 1 - Mélanie Boucher Here is a picture of Mélanie Boucher. Write a story about her. CHAPITRE 1 NOM DATE 1 UNE AMIE ET UN AMI VOCABULAIRE Mots 1 1 - Mélanie Boucher Here is a picture of Mélanie Boucher. Write a story about her. You may want to use some of the following words Paris petite

Plus en détail

Design and creativity in French national and regional policies

Design and creativity in French national and regional policies Design and creativity in French national and regional policies p.01 15-06-09 French Innovation policy Distinction between technological innovation and non-technological innovation (including design) French

Plus en détail

AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr)

AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr) AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr) Doc.No. : EUM/OPS/TEN/13/706466 Issue : v3 Date : 7 May 2014 WBS : EUMETSAT Eumetsat-Allee 1, D-64295 Darmstadt, Germany Tel: +49 6151 807-7 Fax: +49

Plus en détail

Experiences TCM QUALITY MARK. Project management Management systems ISO 9001 ISO 14001 ISO 22000

Experiences TCM QUALITY MARK. Project management Management systems ISO 9001 ISO 14001 ISO 22000 TCM QUALITY MARK Jean-Marc Bachelet Tocema Europe workshop 4 Project management Management systems ISO 9001 ISO 14001 ISO 22000 + lead auditors for certification bodies Experiences Private and state companies,

Plus en détail

client, compte, budget, clientèle... customer, client, account, clientele, custom...

client, compte, budget, clientèle... customer, client, account, clientele, custom... , compte, budget, èle... customer,, account, ele, custom... De manière générale, le mot français (ou «e») se traduit en anglais, selon le contexte, par «customer» ou mais parfois par un autre terme. Le

Plus en détail

Guide à l usage des conférenciers (-ières) et des président(e)s de séance de TCPM2013 1

Guide à l usage des conférenciers (-ières) et des président(e)s de séance de TCPM2013 1 [AN ENGLISH VERSION FOLLOWS] Guide à l usage des conférenciers (-ières) et des président(e)s de séance de TCPM2013 1 Conférenciers (- ières) 1) Les communications en séances régulières ont une durée de

Plus en détail

GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables. Presentation and snapshot of achieved work

GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables. Presentation and snapshot of achieved work GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables Presentation and snapshot of achieved work FLEXIPAC meeting Bertrand Cornélusse, University of Liège December 2014 1 P L

Plus en détail