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

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

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

Motivation Document XML Document XML Denio Duarte

Motivation Denio Duarte Document XML Document XML Document XML

Motivation Documents valides Denio Duarte Schéma (DTD) Document XML

Motivation Denio Duarte Schéma Document XML Document XML Document XML mise à jour Denio Duarte

Motivation Denio Duarte Schéma vérifier la validité Document XML mise à jour Denio Duarte

mise à jour valide ou invalide Motivation Schéma mise à jour valide ou invalide Document XML Document XML Document XML mise à jour Denio Duarte

Faire évoluer le schéma Motivation Schéma Document XML Document XML Document XML Faire évoluer le schéma Denio Duarte

Motivation Schéma’ Document XML Document XML Document XML Denio Duarte

Motivation Est-ce qu’un schéma peut être changé sans : Modifier les documents auparavant valides ? Revalider les documents auparavant valides ? Denio Duarte

Motivation V. Vianu (PODS’03) et D. Suciu (SIGMOD’02) 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) Denio Duarte

Motivation 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. Denio Duarte

Motivation Denio Duarte Schéma Document XML Document XML Document XML mise à jour Denio Duarte

Motivation Denio Duarte Schéma Document XML Document XML’ Document XML mise à jour Denio Duarte

Motivation Denio Duarte Schéma Document XML Document XML’ Document XML mise à jour Denio Duarte

Motivation Denio Duarte Schéma’ Document XML Document XML’

Plan Approche GREC GREC-e Conclusion Perspectives Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche Documents vus comme des arbres (M. Murata – PODDP’98, A. Bruggeman-Klein et al – TechRep’98, B. Bouchou et al – ICEIS’03) : Universite NomUniv Laboratoire Laboratoire data Nom Chercheur Publication CId Nom Titre Sujet Annee Revue Annee Revue data data data data data data Nom TArticle data Nom TArticle data idAuts data data idAuts data data data Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche 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) : Σ = {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 : } Denio Duarte

L’association d’états. Motivation GREC GREC-e Conclusion Perspectives Approche L’association d’états. Publication Sujet data Annee Revue Nom TArticle idAuts Denio Duarte

L’association d’états. Motivation GREC GREC-e Conclusion Perspectives Approche L’association d’états. Publication Sujet data Annee Revue Nom TArticle idAuts Publication, <, >, qSujet (qAnnee qRevue+)*  qPublication ? qSujet qAnnee qRevue qAnnee qRevue qdata qdata qNom qTArticle qdata qNom qTArticle qdata qidAuts qdata qdata qidAuts qdata qdata qdata Denio Duarte

L’association d’états. Motivation GREC GREC-e Conclusion Perspectives Approche L’association d’états. Publication Sujet data Annee Revue Nom TArticle idAuts Publication, <, >, qSujet (qAnnee qRevue+)*  qPublication ? qSujet qAnnee qRevue qAnnee qRevue  L(qSujet (qAnnee qRevue+)* ) qSujet qAnnee qRevue qAnnee qRevue qdata qdata qNom qTArticle qdata qNom qTArticle qdata qidAuts qdata qdata qidAuts qdata qdata qdata Denio Duarte

L’association d’états. Motivation GREC GREC-e Conclusion Perspectives Approche L’association d’états. Publication Sujet data Annee Revue Nom TArticle idAuts qPublication qSujet qAnnee qRevue qAnnee qRevue qdata qdata qNom qTArticle qdata qNom qTArticle qdata qidAuts qdata qdata qidAuts qdata qdata qdata Denio Duarte

Évolution du schéma (expressions régulières) : Motivation GREC GREC-e Conclusion Perspectives Approche É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) Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche 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. Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche Denio Duarte Publication Sujet data Annee Revue Nom TArticle idAuts Conference Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche ? qSujet qAnnee qRevue qAnnee qRevue qConference  L(qSujet (qAnnee qRevue+)* ) qSujet qAnnee qRevue qAnnee qRevue qConference qdata qdata qNom qTArticle qdata qNom qTArticle qdata qidAuts qdata qdata qidAuts qdata qdata qdata Le système utilise l’automate d’arbre pour trouver les informations nécessaires à la modification du schéma. Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche 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+)* ) 1 2 3 4 Denio Duarte

qSujet (qAnnee qRevue+)*# ou 1 (2 3+)* 4 Motivation GREC GREC-e Conclusion Perspectives Approche 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 # qAnnee qSujet qAnnee qRevue # 1 2 3 4 qRevue Denio Duarte

Homogène : un état est toujours atteint par un même symbole Motivation GREC GREC-e Conclusion Perspectives Approche 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 Denio Duarte

Homogène : Motivation GREC GREC-e Conclusion Perspectives Approche # qAnnee qSujet qAnnee qRevue # 1 2 3 4 qRevue 1 2 3 4 Denio Duarte

Orbites x Sous-expressions étoilées : Motivation GREC GREC-e Conclusion Perspectives Approche Orbites x Sous-expressions étoilées : qSujet (qAnnee qRevue+)*#  1 (2 3+)*4 1 2 3 4 Denio Duarte

Hamac : Motivation GREC GREC-e Conclusion Perspectives Approche 1 2 3 4 Denio Duarte

Réduction (exploitée par notre méthode) : Motivation GREC GREC-e Conclusion Perspectives Approche Réduction (exploitée par notre méthode) : D’abord : calculer et supprimer les orbites maximales : H={} (hiérarchie des orbites maximales) 1 2 3 4 Denio Duarte

H={{2,3}} Motivation GREC GREC-e Conclusion Perspectives Approche 1 2 3 4 Denio Duarte

H={{3},{2,3}} Motivation GREC GREC-e Conclusion Perspectives Approche Hiérarchie des orbites 1 2 3 4 Graphe de Glushkov sans orbite Denio Duarte

Ensuite appliquer trois règles de réduction (plus décoration) : Motivation GREC GREC-e Conclusion Perspectives Approche Ensuite appliquer trois règles de réduction (plus décoration) : R1 : Concaténation R2 : Union R3 : Optionalité x y xy y x|y x x x? Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche 0 - décoration + 0 - 1 2 3 4 H={{3},{2,3}} Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche 0 - décoration + 0 - 1 2 3 4 H={{3},{2,3}} 1 - 1 2 3+ 4 H={{2,3}} R1 Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche 0 - décoration + 0 - 1 2 3 4 H={{3},{2,3}} 1 - 1 2 3+ 4 H={{2,3}} R1 décoration + H={{2,3}} 2 - 1 (2 3+)+ 4 Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche 0 - décoration + 0 - 1 2 3 4 H={{3},{2,3}} 1 - 1 2 3+ 4 H={{2,3}} R1 décoration + H={{2,3}} 2 - 1 (2 3+)+ 4 R3 H={} 3 - 1 (2 3+)+ 4 Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche 0 - décoration + 0 - 1 2 3 4 H={{3},{2,3}} 1 - 1 2 3+ 4 H={{2,3}} R1 décoration + H={{2,3}} 2 - 1 (2 3+)+ 4 R3 H={} 3 - 1 (2 3+)+ 4 R1 4 - 1 (2 3+)* 4 R1 R1 Résultat: 5 - 0 1 (2 3+)* 4 0 1 (2 3+)* 4 Denio Duarte

Motivation GREC GREC-e Conclusion Perspectives Approche 0 - 1 2 3 4 H={{3},{2,3}} 1 - 1 2 3+ 4 H={{2,3}} R1 H={{2,3}} 2 - 1 (2 3+)+ 4 R3 H={} 3 - 1 (2 3+)+ 4 R1 4 - 1 (2 3+)* 4 R1 Résultat: R1 0 1 (2 3+)* 4 5 - 0 1 (2 3+)* 4 1 (2 3+)*  qSujet (qAnnee qRevue+)* Denio Duarte

GREC (Generate Regular Expression Choices) Motivation Approche GREC-e Conclusion Perspectives GREC (Generate Regular Expression Choices) 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. Denio Duarte

L’algorithme GREC :         Motivation Approche GREC-e Conclusion Perspectives GREC L’algorithme GREC : y y GREC * y|s   x w x s w x w R2 z z z  R3 GREC *   y|z y|z s?(y|z) x w x w x w  s R1 s GREC  * (y|z)? (y|z)?  x w x w (y|z)?s ? x w Denio Duarte

Mot w’= qSujet qAnnee qRevue qAnnee qRevue qConference# Motivation Approche GREC-e Conclusion Perspectives GREC Mot w’= qSujet qAnnee qRevue qAnnee qRevue qConference# 1 2 3 4 Prochain état à exécuter si le nouveau symbole n’existait pas Dernier état atteint avant l’échec de l’automate Denio Duarte

Un nouveau nœud qui représente qConference : Motivation Approche GREC-e Conclusion Perspectives GREC Mot w’= qSujet qAnnee qRevue qAnnee qRevue qConference# 1 2 3 4 snr snl snew Un nouveau nœud qui représente qConference : <snl, snr , snew>  < 3, 4 , 5> Denio Duarte

Entrée de l’algorithme GREC : Motivation Approche GREC-e Conclusion Perspectives GREC Entrée de l’algorithme GREC : G: 1 2 3 4 H: {{3},{2,3}} Triplet: < snl : 3, snr : 4 , snew : 5> Denio Duarte

Exécution de GREC : Motivation Approche GREC-e Conclusion Perspectives Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit H={{3},{2,3}} 1 2 3 4 Denio Duarte

Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) : Motivation Approche GREC-e Conclusion Perspectives GREC Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) : Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit H={{3},{2,3}} 1 2 3 4 snew Condition: snl  x x x snr Nouveaux graphes: snew x Denio Duarte

Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) : Motivation Approche GREC-e Conclusion Perspectives GREC Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) : Pas 1: Décoration du nœud 3 – vérifier si un nouveau graphe peut être construit H={{3},{2,3}} 1 2 3 4 snew Condition: snl  x x x snr Nouveaux graphes: snew x La condition est vérifiée: H’={{3,5},{2,3,5}} 1 2 3 4 1 2 3 4 5 0 1 (2 (3 5?)+)*4 0 1 (2 (3 5*)+)*4 5 0 1 (2 (3|5)+)*4 Denio Duarte

Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) : Motivation Approche GREC-e Conclusion Perspectives GREC Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) : Pas 3: décorer le nœud 2 3 1 2 3+ 4 H={{2,3}} snew Condition: snl  x x x snr Nouveaux graphes: snew x Nouveaux graphes H’={{2,3,5}} 1 2 3+ 4 5 1 2 3+ 4 5 0 1 (2 3+ 5?)*4 0 1 (2 3+ 5*)*4 0 1 (2 3+ | 5)*4 Denio Duarte

Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) : Motivation Approche GREC-e Conclusion Perspectives GREC Exécution de GREC (rappel < snl : 3, snr : 4 , snew : 5> ) : Pas 5: Appliquer R1 sur les nœuds 2 3 et 4 1 (2 3+)* 4 H={} Condition: snew snl  x y = snr x Nouveau graphe: y x y Nouveau graphe : 5 0 1 (2 3+)*5?4 0 1 (2 3+)*5*4 1 (2 3+)* 4 Denio Duarte

Le résultat de l’exécution de GREC : Motivation Approche GREC-e Conclusion Perspectives GREC 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 Denio Duarte

La règle de transition d’origine : Le candidat choisit : Motivation Approche GREC-e Conclusion Perspectives GREC 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 Denio Duarte

Objectifs : Distance entre E et E’ : Motivation Approche GREC-e Conclusion Perspectives GREC 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?) +)* Denio Duarte

Motivation Approche GREC-e Conclusion Perspectives GREC 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 Denio Duarte

Motivation Approche GREC-e Conclusion Perspectives GREC Denio Duarte Schéma GREC Document XML Document XML Document XML’ Document XML mise à jour Denio Duarte

Motivation Approche GREC-e Conclusion Perspectives GREC Denio Duarte Schéma GREC Document XML Candidats Document XML Document XML Denio Duarte

Motivation Approche GREC-e Conclusion Perspectives GREC Denio Duarte Schéma’ Document XML Document XML Document XML’ Document XML Denio Duarte

Et si le mot a plusieurs positions mises à jour ? Motivation Approche GREC Conclusion Perspectives GREC-e 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 1 2 3 4 5 Denio Duarte

Motivation Approche GREC Conclusion Perspectives GREC-e 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. Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e 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  qConference qBrevet qConference # Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e 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  qConference qBrevet qConference # Une ligne w[k:m]  w[i:j] : rien à faire Une 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 Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e old (w) new (w’) qSujet qAnnee qRevue qAnnee qRevue  qConference qBrevet qConference # Colonne old   et new   : on avance les états dans l’automate Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e old (w) new (w’) qSujet qAnnee qRevue qAnnee qRevue  qConference qBrevet qConference # Colonne old =  : on cherche si les symboles insérés provoquent le échec de l’automate Colonne old   et new   : on avance les états dans l’automate Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e old (w) new (w’) qSujet qAnnee qRevue qAnnee qRevue  qConference qBrevet qConference # Colonne old =  : on cherche si les symboles insérés provoquent le échec de l’automate Colonne old   et new   : on avance les états dans l’automate Colonne new =  : on cherche si les symboles supprimés sont obligatoires Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e Le tableau est utilisé pour trouver les triplets et le rapport entre les positions : old new qSujet qAnnee qRevue qAnnee qRevue 1 2 3 4  qConference qBrevet qConference 1 2 3 4 5  Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e Le tableau est utilisé pour trouver les triplets et le rapport entre les positions : old new qSujet qAnnee qRevue qAnnee qRevue 1 2 3 4  qConference qBrevet qConference 1 2 3 4 5  # <3,4,5> Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e Le tableau est utilisé pour trouver les triplets et le rapport entre les positions : old new qSujet qAnnee qRevue qAnnee qRevue 1 2 3 4  qConference qBrevet qConference 1 2 3 4 6  Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e Le tableau est utilisé pour trouver les triplets et le rapport entre les positions : old new qSujet qAnnee qRevue qAnnee qRevue 1 2 3 4  qConference qBrevet qConference 1 2 3 4 6  # <3,4,6> et un couple (5,6) Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e Le tableau est utilisé pour trouver les triplets et le rapport entre les positions : old new qSujet qAnnee qRevue qAnnee qRevue 1 2 3 4  qConference qBrevet qConference 1 2 3 4 7  Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e Le tableau est utilisé pour trouver les triplets et le rapport entre les positions : old new qSujet qAnnee qRevue qAnnee qRevue 1 2 3 4  qConference qBrevet qConference 1 2 3 4 7  <3,4,7> n’est pas proposé car <3,4,5> a été déjà proposé Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e Le tableau est utilisé pour trouver les triplets et le rapport entre les positions : old new qSujet qAnnee qRevue qAnnee qRevue 1 2 3 4  qConference qBrevet qConference 1 2 3 4  Cependant, la restriction (6,5) est construite Denio Duarte

qSujet qAnnee qRevue qAnnee qRevue qConference qBrevet qConference Motivation Approche GREC Conclusion Perspectives GREC-e Le tableau est utilisé pour trouver les triplets et le rapport entre les positions : old new qSujet qAnnee qRevue qAnnee qRevue 1 2 3 4  qConference qBrevet qConference 1 2 3 4 # 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) Denio Duarte

Entrée de l’algorithme GREC-e : Motivation Approche GREC Conclusion Perspectives GREC-e Entrée de l’algorithme GREC-e : G: 1 2 3 4 H: {{3},{2,3}} Triplets: <<3,4,5>,<3,4,6>> Ensemble de paires: {(5, 6), (6, 5)} Denio Duarte

Exécution de GREC-e : Motivation Approche GREC Conclusion Perspectives Pas 1: Décoration du noeud 3 H={{3},{2,3}} 1 2 3 4 Les conditions de construction des nouveaux graphes sont vérifiées pour les deux triplets: <3,4,5> et <3,4,6>. Denio Duarte

Exécution de GREC-e : {(5, 6) , (6, 5)} Motivation Approche GREC Conclusion Perspectives GREC-e Exécution de GREC-e : {(5, 6) , (6, 5)} H’={{3,5,6},{2,3,5,6}} 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 Voir GREC Denio Duarte

Exécution de GREC-e : {(5, 6) , (6, 5)} Motivation Approche GREC Conclusion Perspectives GREC-e Exécution de GREC-e : {(5, 6) , (6, 5)} 1 2 3 4 5 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 6 1 2 3 4 5 6 1 2 3 4 5 6 Denio Duarte

Exécution de GREC-e : {(5,6) , (6, 5)} Motivation Approche GREC Conclusion Perspectives GREC-e Exécution de GREC-e : {(5,6) , (6, 5)} 1 2 3 4 5 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 6 1 2 3 4 5 6 1 2 3 4 5 6 Denio Duarte

Exécution de GREC-e : {(5, 6) , (6, 5)} Motivation Approche GREC Conclusion Perspectives GREC-e Exécution de GREC-e : {(5, 6) , (6, 5)} H’={{3,5,6},{2,3,5,6}} 1 2 3 4 5 6 1 2 3 4 5 6 Denio Duarte

Exécution de GREC-e : {(5, 6) , (6, 5)} Motivation Approche GREC Conclusion Perspectives GREC-e Exécution de GREC-e : {(5, 6) , (6, 5)} 1 2 3 4 0 1 (2 (3|5|6)+)*4 0 1 (2 (3|(5 6)?)+)*4 0 1 (2 (3|(5 6)*)+)*4 5 6 1 2 3 4 5 6 Denio Duarte

Exécution de GREC-e : {(5, 6) , (6, 5)} Motivation Approche GREC Conclusion Perspectives GREC-e Exécution de GREC-e : {(5, 6) , (6, 5)} 1 2 3 4 0 1 (2 (3|5|6)+)*4 0 1 (2 (3|(5 6)?)+)*4 0 1 (2 (3|(5 6)*)+)*4 5 6 1 2 3 4 5 6 Denio Duarte

Le résultat de l’exécution de GREC-e (avec Revue) : Motivation Approche GREC Conclusion Perspectives GREC-e Le résultat de l’exécution de GREC-e (avec Revue) : 0 1 (2 (3 (5|6)*)+)*4 qSujet(qAnnee (qRevue ( qConference | qBrevet)*) +)* 0 1 (2 (3 (5 6)*)+)*4 qSujet (qAnnee (qRevue ( qConference qBrevet)*) +)* 0 1 (2 (3|5|6)+)*4 qSujet (qAnnee (qRevue|qConference | qBrevet)+)* 0 1 (2 (3|(5 6)*)+)*4 qSujet (qAnnee (qRevue|( qConference qBrevet)*)+)* Voir GREC Denio Duarte

L’utilisateur choisit le candidat. Ex : Motivation Approche GREC Conclusion Perspectives GREC-e 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 Denio Duarte

Les propriétés de GREC-e sont les mêmes de GREC : Motivation Approche GREC Conclusion Perspectives GREC-e 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 Denio Duarte

Motivation Approche GREC Conclusion Perspectives GREC-e 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 Denio Duarte

Fondée sur un document exemple (mis à jour) Motivation Approche GREC GREC-e Perspectives Conclusion 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. Denio Duarte

Proposer une notion de distance plus précise Motivation Approche GREC GREC-e Conclusion Perspectives 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) Denio Duarte

Merci Denio Duarte