une m é thode pour l‘ é volution de sch é mas xml pr é servant la validit é des documents

90
1 Une méthode pour l‘évolution de schémas XML préservant la validité des documents Denio Duarte 1 1 Boursier du gouvernement brésilien - CAPES Université François-Rabelais de Tours - Campus Blois Laboratoire d’Informatique - LI Bases de données et Traitement des langues naturelles - BdTln

Upload: ismet

Post on 10-Jan-2016

31 views

Category:

Documents


1 download

DESCRIPTION

Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é des documents. Denio Duarte 1. Université François-Rabelais de Tours - Campus Blois Laboratoire d’Informatique - LI Bases de données et Traitement des langues naturelles - BdTln. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

1

Une méthode pour l‘évolution de schémas XML

préservant la validité des documents

Denio Duarte1

1Boursier du gouvernement brésilien - CAPES

Université François-Rabelais de Tours - Campus Blois

Laboratoire d’Informatique - LI

Bases de données et Traitement des langues naturelles - BdTln

Page 2: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 2

Document XML

Document XML

Motivation

Page 3: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 3

Document XML

Document XML

Document XML

Document XML

Document XML Document

XML

Motivation

Page 4: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 4

Document XML

Document XML

Document XML

Schéma(DTD)Documents valides

Motivation

Page 5: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 5

Document XML

Document XML

Document XML

Schéma

mise à jour

Motivation

Page 6: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 6

Document XML

Document XML

Document XML

Schéma

mise à jour

vérifier la validité

Motivation

Page 7: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 7

Document XML

Document XML

Document XML

Schéma

mise à jour

mise à jour valide ou invalide

Motivation

Page 8: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 8

Document XML

Document XML

Document XML

Schéma

Faire évoluer le schéma

Motivation

Page 9: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 9

Document XML

Document XML

Document XML

Schéma’

Motivation

Page 10: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 10

• Est-ce qu’un schéma peut être changé sans :

• Modifier les documents auparavant valides ?

• Revalider les documents auparavant valides ?

Motivation

Page 11: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 11

• Vérification de typage et inférence de type

• V. Vianu (PODS’03) et D. Suciu (SIGMOD’02)

• Adaptation des documents aux schémas• E. Kuikka et al (DocEng’02) et H. Su (WIDM’04)

• Primitives de mise à jour de schémas

• H. Su et al (SIGMOD’01) et L. Al-Jadir (OOIS’03)

• Apprentissage des automates

• L.G. Valiant (CACM’84) et E.M. Gold (Inf. and Control’67)

Motivation

Page 12: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 12

• But :

Proposer une méthode pour aider les

administrateurs dans la tâche

d’évolution des schémas XML qui

préserve la validité des documents

sans les modifier.

Motivation

Page 13: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 13

Document XML

Document XML

Document XML

Schéma

mise à jour

Motivation

Page 14: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 14

Document XML

Document XML

Document XML

Schéma

mise à jour

Document XML’

Motivation

Page 15: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 15

Document XML

Document XML

Document XML

Schéma

mise à jour

Document XML’

Motivation

Page 16: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 16

Document XML

Document XML

Document XML

Schéma’

Document XML’

Motivation

Page 17: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 17

• Approche

• GREC

• GREC-e

• Conclusion

• Perspectives

Plan

Page 18: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 18

• Documents vus comme des arbres (M. Murata – PODDP’98,

A. Bruggeman-Klein et al – TechRep’98, B. Bouchou et al – ICEIS’03) :

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Universite

Laboratoire Laboratoire

Chercheur

CId

data

Nom

Nom

data

Titre

data

Publication

Sujet

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

data

NomUniv

data

Page 19: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 19

Σ = {Universite, Chercheur, Publication, Revue, ....}

Q = {qUniversite, qChercheur, qPublication , qRevue ,.....}

Qf = {qUniversite }

Δ = { Universite, < {qNom }, >, qLaboratoire+ qUniversite

Laboratoire, <, >, qNom qChercheur+ qPublication+ qLaboratoire

Chercheur, < {qCId }, >, qNom qTitre qChercheur

Publication, <, >, qSujet (qAnnee qRevue+)* qPublication

:

}

• Les schémas vus comme des automates d’arbres ( A. Bruggeman-Klein et al – Inf. and Comp.’98, B. Chidloskii - ADL’00,

B. Bouchou et al – ICEIS’03) :

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 20: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 20

• L’association d’états.

Publication

Sujet

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 21: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 21

• L’association d’états.

Publication

Sujet

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

?

qSujet

qdata

qAnnee

qdata

qRevue

qNom

qdata

qTArticle

qidAuts qdata

qdata

qAnnee

qdata

qRevue

qNom

qdata

qTArticle

qidAuts qdata

qdata

Publication, <, >, qSujet (qAnnee qRevue+)* qPublication

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 22: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 22

• L’association d’états.

Publication

Sujet

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

?

qSujet

qdata

qAnnee

qdata

qRevue

qNom

qdata

qTArticle

qidAuts qdata

qdata

qAnnee

qdata

qRevue

qNom

qdata

qTArticle

qidAuts qdata

qdata

qSujet qAnnee qRevue qAnnee qRevue L(qSujet (qAnnee qRevue+)* )

Publication, <, >, qSujet (qAnnee qRevue+)* qPublication

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 23: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 23

• L’association d’états.

Publication

Sujet

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

qPublication

qSujet

qdata

qAnnee

qdata

qRevue

qNom

qdata

qTArticle

qidAuts qdata

qdata

qAnnee

qdata

qRevue

qNom

qdata

qTArticle

qidAuts qdata

qdata

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 24: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 24

• Évolution du schéma (expressions régulières) :

• Connaître la syntaxe (parenthèses, ?, *, +, |)

• Connaître la sémantique

• Approches:

• Changer manuellement (revalidation, erreurs)

• Changer automatiquement (préserve la consistance)

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 25: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 25

• Automatique :

• L’administrateur modifie un document pour expliciter l’évolution du schéma souhaitée.

• L’évolution est transparente pour les autres applications qui utilisent le schéma.

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 26: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 26

Conference

Publication

Sujet

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

Annee

data

Revue

Nom

data

TArticle

idAuts data

data

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 27: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 27

?

qSujet

qdata

qAnnee

qdata

qRevue

qNom

qdata

qTArticle

qidAuts qdata

qdata

qAnnee

qdata

qRevue

qNom

qdata

qTArticle

qidAuts qdata

qdata

qSujet qAnnee qRevue qAnnee qRevue qConference L(qSujet (qAnnee qRevue+)* )

qConference

Motivation

Approche

GREC GREC-e Conclusion Perspectives

• Le système utilise l’automate d’arbre pour trouver les informations nécessaires à la modification du schéma.

Page 28: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 28

• La mise à jour : insert(5,Publication,Conference) (B. Bouchou et al - DBLP’03)

• Mot d’origine w= qSujet qAnnee qRevue qAnnee qRevue

• Mot mis à jour w’= qSujet qAnnee qRevue qAnnee qRevue qConference

w L(qSujet (qAnnee qRevue+)* )

w’ L(qSujet (qAnnee qRevue+)* )

0 1 2 3 4

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 29: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 29

• Expression régulière Automate d’états finis

• Algorithme de Glushkov Automate de Glushkov

• L’expression régulière est indicée : qSujet (qAnnee qRevue+)* qSujet1

(qAnnee2 qRevue3

+)* ou 1 (2 3+)*

• Un seul état initial, chaque position a un seul état et, si on ajoute une marque de fin (e.g., #), un seul état final :

qSujet (qAnnee qRevue+)*# ou 1 (2 3+)* 4

0 1 2 3qSujet qAnnee

qAnnee

qRevue

qRevue

4

#

#

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 30: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 30

• Les automates de Glushkov ont des propriétés que nous exploitons dans notre méthode (P. Caron et D. Ziadi - TCS’00) :

• Homogène : un état est toujours atteint par un même symbole

• Les orbites : sous-expressions étoilées de l’expression régulière

• Hamac : il existe (i) un état qui atteint tous les autres états et (ii) un état dont tous les autres états l’atteint (grâce à la marque de fin #)

• Réduction : Automate Expression régulière d’origine

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 31: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 31

• Homogène :

0 1 2 3qSujet qAnnee

qAnnee

qRevue

qRevue

4

#

#

0 1 2 3 4

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 32: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 32

• Orbites x Sous-expressions étoilées :

qSujet (qAnnee qRevue+)*# 1 (2 3+)*4

0 1 2 3 4

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 33: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 33

• Hamac :

0 1 2 3 4

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 34: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 34

• Réduction (exploitée par notre méthode) :

•D’abord : calculer et supprimer les orbites maximales :

• H={} (hiérarchie des orbites maximales)

0 1 2 3 4

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 35: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 35

H={{2,3}}

0 1 2 3 4

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 36: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 36

0 1 2 3 4

Graphe de Glushkov sans orbite

Hiérarchie des orbites

Motivation

Approche

GREC GREC-e Conclusion Perspectives

H={{3},{2,3}}

Page 37: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 37

• Ensuite appliquer trois règles de réduction (plus décoration) :

• R1 : Concaténation

• R2 : Union

• R3 : Optionalité

x y xy

x

y

x|y

x x?

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 38: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 38

1 2 3 40 H={{3},{2,3}}0 -

décoration +

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 39: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 39

1 2 3 40

1 2 3+ 40

H={{3},{2,3}}

H={{2,3}}R1

0 -

1 -

décoration +

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 40: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 40

1 2 3 40

1 2 3+ 40

H={{3},{2,3}}

1 (2 3+)+ 40

H={{2,3}}R1

H={{2,3}}

0 -

1 -

2 -

décoration +

décoration +

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 41: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 41

1 2 3 40

1 2 3+ 40

H={{3},{2,3}}

1 (2 3+)+ 40

H={{2,3}}R1

H={{2,3}}

1 (2 3+)+ 40 H={}R3

0 -

1 -

2 -

3 -

décoration +

décoration +

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 42: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 42

1 2 3 40

1 2 3+ 40

H={{3},{2,3}}

1 (2 3+)+ 40

H={{2,3}}R1

H={{2,3}}

1 (2 3+)+ 40 H={}R3

1 (2 3+)* 40

0 1 (2 3+)* 4

R1

0 1 (2 3+)* 4

0 -

1 -

2 -

3 -

4 -

5 - Résultat:R1R1

décoration +

décoration +

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 43: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 43

1 2 3 40

1 2 3+ 40

H={{3},{2,3}}

1 (2 3+)+ 40

H={{2,3}}R1

H={{2,3}}

1 (2 3+)+ 40 H={}R3

1 (2 3+)* 40

0 1 (2 3+)* 4

R1

0 1 (2 3+)* 4

0 -

1 -

2 -

3 -

4 -

5 -Résultat:R1

R1

1 (2 3+)* qSujet (qAnnee qRevue+)*

Motivation

Approche

GREC GREC-e Conclusion Perspectives

Page 44: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 44

• Un document mis à jour sert comme guide pour

l’évolution du schéma.

• L’automate qui accepte le langage de l’expression

régulière d’origine est modifié

• Le processus de réduction de l’automate de Glushkov

est la base de l’approche.

• Plusieurs candidats sont générés et l’administrateur

choisit celui qui lui convient le plus.

Motivation Approche

GREC (Generate Regular Expression Choices)

GREC-e Conclusion Perspectives

Page 45: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 45

• L’algorithme GREC :

Motivation Approche

GREC

GREC-e Conclusion Perspectives

x

y

z

w

R2

x

y

z

ws

x y|z w

R3

x y|z w

s

x (y|z)? w

R1

x (y|z)? w

s

x

y|s

z

w

x s?(y|z) w

x (y|z)?s ? w

GREC

GREC

GREC

*

*

*

Page 46: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 46

• Mot w’= qSujet qAnnee qRevue qAnnee qRevue qConference#

0 1 2 3 4

Dernier état atteint avant l’échec de l’automate

Prochain état à exécuter si le nouveau symbole

n’existait pas

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 47: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 47

• Mot w’= qSujet qAnnee qRevue qAnnee qRevue qConference#

0 1 2 3 4

snl

snr

Un nouveau nœud qui représente qConference : snew

<snl, snr , snew> < 3, 4 , 5>

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 48: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 48

• Entrée de l’algorithme GREC :

1 2 3 40G:

H: {{3},{2,3}}

Triplet: < snl : 3, snr : 4 , snew : 5>

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 49: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 49

• Exécution de GREC :

1 2 3 40 H={{3},{2,3}}

Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 50: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 50

• Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) :

1 2 3 40 H={{3},{2,3}}

Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit

x

snl xsnr

x

x

Condition:snew

snew

Nouveaux graphes:

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 51: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 51

• Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) :

1 2 3 40 H={{3},{2,3}}

Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit

x

snl xsnr

x

x

Condition:snew

snew

Nouveaux graphes:

La condition est vérifiée: H’={{3,5},{2,3,5}}

1 2 3 40

5

1 2 3 40

50 1 (2 (3 5?)+)*40 1 (2 (3 5*)+)*4

0 1 (2 (3|5)+)*4

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 52: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 52

• Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) :Pas 3: décorer le nœud 2 3

H={{2,3}}1 2 3+ 40

x

snl xsnr

x

x

Condition:snew

snew

Nouveaux graphes:

Nouveaux graphes

1 2 3+ 40

5

1 2 3+ 40

5

0 1 (2 3+ 5?)*40 1 (2 3+ 5*)*4

0 1 (2 3+ | 5)*4

Motivation Approche

GREC

GREC-e Conclusion Perspectives

H’={{2,3,5}}

Page 53: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 53

• Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) :Pas 5: Appliquer R1 sur les nœuds 2 3 et 4

H={}1 (2 3+)* 40

x

snl x y = snr

Condition:

y Nouveau graphe: x y

snew

Nouveau graphe :

1 (2 3+)* 40

50 1 (2 3+)*5?40 1 (2 3+)*5*4

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 54: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 54

• Le résultat de l’exécution de GREC :qSujet(qAnnee (qRevue

qConference?) +)*

qSujet (qAnnee (qRevue qConference*) +)* Dans qRevue+

qSujet (qAnnee (qRevue|qConference)+)*

qSujet (qAnnee qRevue+ qConference?)*

qSujet (qAnnee qRevue+ qConference*)* Dans (qAnnee qRevue

+ )*

qSujet (qAnnee qRevue+ |qConference)*

qSujet (qAnneeqRevue+)*qConference?

qSujet (qAnnee qRevue+)*qConference*

En dehors des sous-expressions étoilées

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 55: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 55

• L’utilisateur peut choisir le meilleur candidat selon sa connaissance de l’application. Ex :

La règle de transition d’origine : Publication, <, >, qSujet (qAnnee qRevue+)* qPublication

Le candidat choisit : qSujet (qAnnee (qRevue|qConference)+)*

La nouvelle règle de transition : Publication, <, >, qSujet (qAnnee (qRevue|qConference)+)*

qPublication

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 56: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 56

• Objectifs :

• La validité des documents est respectée sans les modifier et le

document mis à jour est valide :

L(E) {w’} L(E’)

• Distance entre E et E’ :

• Pos(E) et Pos (E’) : ensemble de positions de E et E’

• Distance entre E et E’ : |Pos(E)|-|Pos(E’)|

D(qSujet(qAnnee qRevue+)* , qSujet (qAnnee (qRevue|qConference)+)*) = |{1,2,3}|-|

{1,2,3,4}|=|-1|=1

• Permet d’éviter qSujet(qAnnee qRevue+)* (qAnnee (qRevue

qConference?) +)*

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 57: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 57

function GREC(Gwo, H, snl,snr, snew) { setRegExp:=;

if (Gwo n'a qu'un noeud) {

return } else { Ri := ChooseRule(Gwo,H);

for each (Gnew,Hnew):=LookForGraphAlternative(Gwo,H,Ri,snl,snr,snew) do

setRegExp=setRegExp {GraphToRegExp(Gnew, Hnew)};

(Gwo',H’):= ApplyRule(Ri,Gwo,H);

setRegExp=setRegExp GREC(Gwo', H',snl,snr,snew);} return setRegExp }

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Page 58: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 58

Document XML

Document XML

Document XML

Schéma

mise à jour

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Document XML’

GREC

Page 59: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 59

Document XML

Document XML

Document XML

Schéma

Motivation Approche

GREC

GREC-e Conclusion Perspectives

GREC

Candidats

Page 60: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 60

Document XML

Document XML

Document XML

Schéma’

Motivation Approche

GREC

GREC-e Conclusion Perspectives

Document XML’

Page 61: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 61

• Et si le mot a plusieurs positions mises à jour ?

• w= qSujet qAnnee qRevue qAnnee qRevue#

• w’= qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference #

• Construire plusieurs triplets <snl, snr, snew>

• Trouver les positions qui provoquent l’échec de l’automate

• Trouver un rapport entre ces positions.

• Algorithme GREC-e

Motivation Approche GREC

GREC-e

Conclusion Perspectives

0 1 2 3 4 5

Page 62: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 62

• Séquence de mises à jour sur des fils d’un même

nœud père d’un arbre (document) XML :

• insert(5,Conference), insert(5,Brevet), insert(5,Conference).

• Basé sur la séquence de mises à jour, construire un

tableau avec les correspondance entre le mot d’origine

et le mot résultat de la mise à jour.

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 63: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 63

• Mot d’origine w= qSujet qAnnee qRevue qAnnee qRevue#

• Mot mis à jour w’= qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference#

old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

qConference qBrevet qConference

# #

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 64: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 64

• Mot d’origine w= qSujet qAnnee qRevue qAnnee qRevue#

• Mot mis à jour w’= qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference#

old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

qConference qBrevet qConference

# #

Une ligne w[k:m] w[i:j] : rien à faireUne ligne w[i:j] : les symboles w[i:j] ont été insérés

Une ligne w[i:j] : les symboles w[i:j] ont été supprimés

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 65: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 65

old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

qConference qBrevet qConference

# #

Colonne old et new : on avance les états dans l’automate

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 66: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 66

old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

qConference qBrevet qConference

# #

Colonne old et new : on avance les états dans l’automate

Colonne old = : on cherche si les symboles insérés provoquent le échec de l’automate

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 67: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 67

old (w) new (w’)qSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

qConference qBrevet qConference

# #

Colonne new = : on cherche si les symboles supprimés sont obligatoires

Colonne old et new : on avance les états dans l’automate

Colonne old = : on cherche si les symboles insérés provoquent le échec de l’automate

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 68: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 68

• Le tableau est utilisé pour trouver les triplets et le

rapport entre les positions :

Motivation Approche GREC

GREC-e

Conclusion Perspectives

0 1 2 3 4

old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

0 1 2 3 4

qConference qBrevet qConference

5

Page 69: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 69

• Le tableau est utilisé pour trouver les triplets et le

rapport entre les positions :

Motivation Approche GREC

GREC-e

Conclusion Perspectives

0 1 2 3 4

old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

0 1 2 3 4

qConference qBrevet qConference

5

# #

<3,4,5>

Page 70: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 70

• Le tableau est utilisé pour trouver les triplets et le

rapport entre les positions :

Motivation Approche GREC

GREC-e

Conclusion Perspectives

0 1 2 3 4

old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

0 1 2 3 4

qConference qBrevet qConference

6

Page 71: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 71

• Le tableau est utilisé pour trouver les triplets et le

rapport entre les positions :

Motivation Approche GREC

GREC-e

Conclusion Perspectives

0 1 2 3 4

old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

0 1 2 3 4

qConference qBrevet qConference

6

# #

<3,4,6> et un couple (5,6)

Page 72: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 72

• Le tableau est utilisé pour trouver les triplets et le

rapport entre les positions :

Motivation Approche GREC

GREC-e

Conclusion Perspectives

0 1 2 3 4

old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

0 1 2 3 4

qConference qBrevet qConference

7

Page 73: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 73

• Le tableau est utilisé pour trouver les triplets et le

rapport entre les positions :

Motivation Approche GREC

GREC-e

Conclusion Perspectives

0 1 2 3 4

old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

0 1 2 3 4

qConference qBrevet qConference

7

<3,4,7> n’est pas proposé car <3,4,5> a été déjà proposé

Page 74: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 74

• Le tableau est utilisé pour trouver les triplets et le

rapport entre les positions :

Motivation Approche GREC

GREC-e

Conclusion Perspectives

0 1 2 3 4

old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

0 1 2 3 4

qConference qBrevet qConference

Cependant, la restriction (6,5) est construite

Page 75: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 75

• Le tableau est utilisé pour trouver les triplets et le

rapport entre les positions :

Motivation Approche GREC

GREC-e

Conclusion Perspectives

0 1 2 3 4

old newqSujet qAnnee qRevue qAnnee qRevue qSujet qAnnee qRevue qAnnee qRevue

0 1 2 3 4

qConference qBrevet qConference

# #

Il n’y a plus de ligne avec w[i:j] ou w[i:j]

Triplets : <3,4,5> et <3,4,6> Restrictions : (5,6) et (6,5)

Page 76: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 76

• Entrée de l’algorithme GREC-e :

1 2 3 40G:

H: {{3},{2,3}}

Triplets: <<3,4,5>,<3,4,6>>

Ensemble de paires: {(5, 6), (6, 5)}

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 77: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 77

• Exécution de GREC-e :

1 2 3 40 H={{3},{2,3}}

Pas 1: Décoration du noeud 3

Les conditions de construction des nouveaux graphes sont vérifiées pour les deux triplets: <3,4,5> et <3,4,6>.

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 78: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 78

• Exécution de GREC-e : {(5, 6) , (6, 5)}

1 2 3 40

5

6

1 2 3 40

5

6

1 2 3 40

5 6

Voir GREC

H’={{3,5,6},{2,3,5,6}}

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 79: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 79

• Exécution de GREC-e : {(5, 6) , (6, 5)}

1 2 3 40

5

6

1 2 3 40

5

6

1 2 3 40

5 6

0 1 (2 (3 (5|6)?)+)*4

0 1 (2 (3 (5|6)*)+)*4

0 1 (2 (3 5? 6?)+)*4

0 1 (2 (3 5* 6*)+)*4

0 1 (2 (3 (5 6)?)+)*4

0 1 (2 (3 (5 6)*)+)*4

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 80: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 80

• Exécution de GREC-e : {(5,6) , (6, 5)}

1 2 3 40

5

6

1 2 3 40

5

6

1 2 3 40

5 6

0 1 (2 (3 (5|6)?)+)*4

0 1 (2 (3 (5|6)*)+)*4

0 1 (2 (3 5? 6?)+)*4

0 1 (2 (3 5* 6*)+)*4

0 1 (2 (3 (5 6)?)+)*4

0 1 (2 (3 (5 6)*)+)*4

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 81: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 81

• Exécution de GREC-e : {(5, 6) , (6, 5)}

1 2 3 40

5

6

1 2 3 40

5 6

H’={{3,5,6},{2,3,5,6}}

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 82: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 82

• Exécution de GREC-e : {(5, 6) , (6, 5)}

1 2 3 40

5 0 1 (2 (3|5|6)+)*4

0 1 (2 (3|(5 6)?)+)*4

0 1 (2 (3|(5 6)*)+)*46

1 2 3 40

5 6

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 83: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 83

• Exécution de GREC-e : {(5, 6) , (6, 5)}

1 2 3 40

5 0 1 (2 (3|5|6)+)*4

0 1 (2 (3|(5 6)?)+)*4

0 1 (2 (3|(5 6)*)+)*46

1 2 3 40

5 6

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 84: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 84

• Le résultat de l’exécution de GREC-e (avec Revue) :

a) 0 1 (2 (3 (5|6)*)+)*4 qSujet(qAnnee (qRevue ( qConference | qBrevet)*) +)*

b) 0 1 (2 (3 (5 6)*)+)*4 qSujet (qAnnee (qRevue ( qConference qBrevet)*) +)*

c) 0 1 (2 (3|5|6)+)*4 qSujet (qAnnee (qRevue|qConference | qBrevet)+)*

d) 0 1 (2 (3|(5 6)*)+)*4 qSujet (qAnnee (qRevue|( qConference qBrevet)*)+)*

Voir GREC

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 85: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 85

• L’utilisateur choisit le candidat. Ex :

La règle de transition d’origine :Publication, <, >, qSujet (qAnnee qRevue+)* qPublication

Le candidat choisit :

qSujet (qAnnee (qRevue|qConference | qBrevet)+)*

La nouvelle règle de transition : Publication, <, >, qSujet (qAnnee (qRevue|qConference | qBrevet)+)* qPublication

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 86: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 86

• Les propriétés de GREC-e sont les mêmes de GREC :

• L(E) {w’} L(E’)

• Un nouvel ensemble de documents est accepté.

• Distance entre E et E’ est égale au nombre de triplets

trouvés

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 87: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 87

function GREC-e(Gwo, H, RTState, STrans) { setRegExp:=;

if (RTState est vide) { return (setRegExp=setRegExp {GraphToRegExp(Gnew, Hnew)}); } if (Gwo n'a qu'un noeud) {return }

Ri := ChooseRule(Gwo,H); for each (Gnew,Hnew,RTStates’) := LookForGraphAlternative-e(Gwo,H,Ri,RTStates,STrans) do setRegExp=setRegExp GREC-e(Gnew,Hnew,RTStates’,STrans);

(Gwo',H’):= ApplyRule(Ri,Gwo,H);

setRegExp=setRegExp GREC(Gwo', H', RTStates,STrans);

return setRegExp }

Motivation Approche GREC

GREC-e

Conclusion Perspectives

Page 88: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 88

• Méthode d’aide à l’utilisateur pour l’évolution de schémas XML qui préserve la validité des documents sans les modifier.

• Fondée sur un document exemple (mis à jour)

• Plusieurs candidats sont proposés en essayant de garder la structure de l’expression régulière d’origine.

Motivation Approche GREC GREC-e

Conclusion

Perspectives

Page 89: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 89

• Généraliser la méthode pour qu'elle prenne en considération différents mots appartenant à différents noeuds de l'arbre ayant la même étiquette :

– Plusieurs paires (w,w’)

• Proposer une notion de distance plus précise

• Appliquer la méthode dans l'ensemble du schéma (non plus une seule expression régulière)

Motivation Approche GREC GREC-e Conclusion

Perspectives

Page 90: Une m é thode pour l‘ é volution de sch é mas XML pr é servant la validit é  des documents

Denio Duarte 90

Merci