File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/82/c82-1064_metho.xml
Size: 18,249 bytes
Last Modified: 2025-10-06 14:11:29
<?xml version="1.0" standalone="yes"?> <Paper uid="C82-1064"> <Title>UTILISATION DO PARALLELISME EN TRADUCTION AUTOMATISEE PAR ORDINATEUR</Title> <Section position="4" start_page="397" end_page="397" type="metho"> <SectionTitle> STRUCTURES A TRANSFORMER </SectionTitle> <Paragraph position="0"> L'id~e est de d~finir une structure de donn6es qui soit, en un certain sens, paral161e. Etant donn~ que la structure d'arbre appara~t dans de nombreux syst~mes de representation m~talinguistique (arbres syntagmatiques, arbres de d~pendance, arbres applicationnels, arbres projectifs .... ), ainsi que presque partout en informatique, en particulier dans les langages de programmation, et en alg~bre, nous avons cherch6 une structure pour la manipulation d'arbres qui permette de factoriser une multiplicit~ de r~sultats arborescents. Nous d6finissons plusieurs fonctions et propriQt~s sur cette classe d'objets qui peuvent ~tre utiles dans le processus de transformation.</Paragraph> <Paragraph position="1"> Les multi-arborescences A tranches (m.a.t.) sont des structures arborescentes qui repr~sentent des familles d'arborescences qui ont ~t~ &quot;factoris~es&quot; d'une certaine fa~on et qui s'adaptent naturellement ~ la manipulation d'ambigu~t~s. Dans le cas !e plus simple, on ales arborescences classiques orient~es telles qu'a la figure Ib que l'on appelle A une tranche. S'il y a plus d'une tranche, il s'agit d'arborescences du type pr6c~dent, mais qui portent au moins une feuille rattach~e ~ une deuxi6me tranche. Ces feuilles peuvent ~tre de trois types : ensemble, liste ou piste.</Paragraph> <Paragraph position="2"> Si c'est un ensemble, on trouvera dans une deuxi~me tranche un ensemble d'au moins deux multi-arborescences, qui seront affect~es ~ cette feuille sans ordre sp~cifique. Les multi-arborescences de type ensemble permettent d'exprimer d'une fa~on condens~e un ensemble de choix possibles, par exemple Ic et d (elles sont 6quivalentes). Ceci est int~ressant pour le traitement des ambiguTt~s ou pour l'application des analyseurs &quot;context-free&quot; ~ programmation dynamique (6).</Paragraph> <Paragraph position="3"> Si c'est une liste, on aura une s~quence non vide et ordonn~e de multi-arborescences. Les listes sont une mani~re commode de manipuler un sous-ensemble de fils d'un noeud. Par exemple figure le et f (elles sont ~quivalentes).</Paragraph> <Paragraph position="4"> Si c'est une piste, on aura une s~quence non vide et ordonn~e de multi-arborescences avec un ~16ment distingu~ appel~ trace, qui permet de mettre en relief un chemin dans la m.a.t. Par exemple, le chemin marqu~ par les doubles traits sur l'arborescence de la figure Ig est repr~sent~ dans la figure lh. Ce type de structure peut ~tre int~ressant pour llutilisation de grammaires projectives.</Paragraph> <Paragraph position="5"> On accepte des multi-arborescences a plusieurs tranches mais avec un hombre fini de noeuds, et par cons6quent un nombre fini de tranches. II n'y a pas de retour arri~re entre les diff~rentes liaisons inter-tranches de sorte que les boucles sont interdites. Voir un exemple plus complexe d'une m.a.t. A 5 tranches dans la figure 2a.</Paragraph> <Paragraph position="6"> Chaque noeud feuille qui ne fait pas de r~f~rence ~ d'autres tranches porte une d~coration. C'est-~-dire, une structure de donn~es g~n~rale qui peut 6ire compl~tement manipul~e et d~finie par l'utilisateur. Dans les exemples donn~s, les lettres A, B, C, etc. sont les d~corations affect~es aux noeud.</Paragraph> <Paragraph position="7"> 400 J.N. VERASTEGUI-CARVAJAL Nous avons d~finit une s~rie d'op~rateurs sur les m.a.t, qui permettent de connaitre, entre autres, le type du noeud, son contenu, le nombre d'arbres ou de noeuds rattach6s directement ou indirectement a un noeud donn~, le nombre de fils apparents ou v~ritables d'un noeud, le niveau d'un noeud ou distance ~ la racine de la m.a.t, et la tranche ~ laquelle appartient un noeud. Nous avons d~finit des relations d'~quivalence et d'ordre entre m.a.t, et deux op~rateurs (~clatement et factorisation) tr6s utiles qui permettent de tester si deux m.a.t, sont ~quivalentes. II y a aussi une s~rie d'op~rateurs pour l'extraction de sous-m.a.t, d'une m.a.t.</Paragraph> <Paragraph position="8"> donn~e qui permettent de trouver, par exemple, un noeud ou un chemin d'une m.a.t.</Paragraph> </Section> <Section position="5" start_page="397" end_page="397" type="metho"> <SectionTitle> REGLES ET GRAMMAIRES </SectionTitle> <Paragraph position="0"> Une grammaire consiste en un ensemble de r~gles de r~criture muni d'une relation d'ordre partiel, qui s'appliquent sur une structure ~ transformer. Dans notre cas, il s'agit d'une multi-arborescence a tranches (m.a.t.). Les r~gles ont un haut degr~ implicite de parall~iisme dans la phase de reconnaissance ainsi que dans la phase de transformation. L'expression de l'ordre relatif entre noeuds fr~res est raffin~e pour permettre un contr61e des choix de patrons et d'images dans les r6gles.</Paragraph> <Paragraph position="1"> En effet, nous avons ~tudi~ des expressions d'ordre pour des ensembles de permutations d'~l~ments d'un ensemble donn~ et nous avons d~fini plusieurs op~rateurs qui Nous d~finissons plus pr~cis~ment le contexte d'une r~gle pour maximiser le parall~lisme et ~liminer le risque de destruction de la structure arborescente sur laquelle on travaille. Ce contexte, qui peut ~tre d~termin~ de mani~re statique par le compilateur, n'est pas une nouvelle source de descriptions d~taill~es 6crites par l'utilisateur mais une convention naturelle. D'autre part, l'utilisateur dispose d'un contr61e sur le parall~lisme par l'expression d'un ordre de priorit6s sur l'application des r~gles et grammaires.</Paragraph> <Paragraph position="2"> Une r~gle comporte une partie gauche, dite &quot;de reconnaissance&quot;, et une partie droite, dite &quot;de transformation&quot;. Dans la partie gauche, on trouve un sch6ma et un pr~dicat sur les valeurs des d~corations associ~es aux noeuds de la m.a~.t. La par ~ ~te est constitute d'une m.a.t, ima__~et des modifications des d~corations port~es par les noeuds de la m.a~tTTmage. ~our tout noeud de l~m.a.t, objet, chaque r~gle d6finit une ~num~ration canonique des occurrences possibles de cette r~gle, enracin~es sur ce noeud, ce qui donne une priorit~ de ces occurrences entre elles : soit priorit~ vers la gauche ou vers la droite, ou vers le haut ou vers le bassi elles partent du m~me niveau ou pas.</Paragraph> <Paragraph position="3"> Un schema est un ensemble de &quot;points&quot; en forme de structure arborescente qui d~finit~onditions g~om~triques ou structurales demand~es aux sous-ensembles de noeuds d'une m.a.t, objet. Un sous-ensemble ainsi choisi, est li~ ~ l'ensemble de points du schema de sorte que a chaque point corresponde un ou plusieurs noeuds de la m.a.t. Chaque sch6ma peut comporter des sous-sch~mas de diff~rents types parmi lesquels, les schemas verticaux et horizontaux qui servent ~ rep~rer des chemins et des listes d'une m.a.t. Une occurrence d'une r~gle est un ensemble de noeuds d'une m.a.t, qui V~rifie le sch~pr~dicat de la r~gle. Un schema est divis~ en deux parties : une passive et une autre active. Un point est actif si l'un~ au moins des conditions suivantes est r~alis~e : - il n'appara~t pas dans l'image ; - il change de p~re ou de liste ; - sa d~coration est modifi~e ; - l'ordre de ses fils ou ~l~ments est modifi~ ; - il porte un nouveau fils ou ~16ment dans l'image ; - il perd un de ses fils ou ~l~ments.</Paragraph> <Paragraph position="4"> Les points correspondant a des schemas verticaux ou horizontaux sont tous actifs si leurs noms n'apparaissent pas dans l'image. Tousles points modifies par des op~rateurs dans l'image sont actif. Un point qui n'est pas actif est passif. L'ensemble des points passifs--d-r~nschama est appel~ le contexte. On ~onc que, l~contexte peut ~tre non connexe (au contraire de ROBRAT~il peut atre d~termin~ statiquement.</Paragraph> <Paragraph position="5"> Dans la figure 2b, on a une m.a.t, compos~ de neuf noeuds, chacun avec une variable simple comme d~coration associ~e, et deux r~gles a appliquer en paral1~le. La r~gle 1 est plus prioritaire que la r~gle 2. S'il y a plusieurs occurrences de la r6gle I qui s'intersectent sur un m~me noeud qui est actif pour les deux, on prend 402 J.N. VERASTEGUI-CARVAJAL la plus ~ gauche (/) et la plus haute (~), et si c'~st la r~gle 2 on prend la plus droite (/) et la plus basse (+). La r~gle 1 contient 3 points actifs (1,2,3) et 2 points passifs (0,4), on demande que la valeur du point 4 soit &quot;g&quot;, et on veut que les noeuds 4 et 3 soient adjacents dans l'image. La r~gle 2 contient 6 points actifs (0,1,2,4,5,6) et i point passif (3), on demande que les points 6 et 4 soient adjacents et que la valeur du point 6 soit &quot;g&quot;, et on veut que la valeur du noeud 6 soit ~gale A celle du noeud 4 dans l'image. Comme on peut le v0ir dans la figure 2b, ces deux r~gles sont applicables en parall61e sur les noeud 3 et 1 de l'arborescence, mais si on les applique darts un ordre s6quentiel, seulement une des deux pourra 6tre utilis~e.</Paragraph> <Paragraph position="6"> Une grammaire est compos~e d'un ensemble de r6gles, muni d'une relation d'ordre partiel, et d'un ensemble d'options de contr61e. La relation d'ordre donne une priorit~ d'application aux r~gles en cas de conflit hors des contextes, et les options indiquent la faGon dont ces r~gles seront utilis~es dans le processus de transformation d'une m.a.t. La composition de grammaires permet de cr6er des sy__sst~mes transformationnels (ST), c'est-~-dire un ensemble de grammaires structur~ en r~seau ou graphe orient~ et ordonn~ qui porte des conditions de parcours sur les arcs et des conditions d'application d'une grammaire sur les noeuds. Le syst~me prend un ST et une m.a.t. 0 et donne comme r~su!tat la m.a.t, produite par l'application du ST sur 0o Ceci ~st r~alis~ par unc s~quence d'applications des grammaires du ST .sur les transformations successives de 0. Les options de contr61e sur les grammaires et les r~seaux essayent entre autres de rendre le syst6me d~cidable. Le syst~me transformationnel le plus simple est cempos6 d'une seule grammaire avec un pr~dicat toujours vrai comme condition de parcours.</Paragraph> <Paragraph position="7"> Soit G une grammaire compos~e des r~gles R1, R2 ..... Rm et soit 0 une m.a.t, que l'on veut transformer par G. Chacune des m r~gles d~finit une conjecture locale sur 0 que l'on note CLi pour i E (1,m) compos~e des occurrences de la r~gle i dans 0. Si aucune des r6gles n'est applicable, alors toutes les CLi seront vides et le r6sultat de l'application de G sur 0 est 0, on dit qu'il y a eu un nombre de passages ~gal ~ z~ro. Sinon, un sous-ensemble d'occurrences sera choisi parmi tous I-~--C-\[T~-, tel qu'il n'y ait pas d'intersections des parties actives (hors du contexte) de chaque occurrence.</Paragraph> <Paragraph position="8"> les autres. On ap-plique en parall~le les transformations indiqu~es ; avec des appels r~cursifs ~ventuels et on retrouve une m.a.t. O' comme r~sultat. Cet ensemble d'op~rations est appel~ un passage. L'it~ration contr61~e, par les options de la grammaire, peut continuer jusq-~'arriv~e dans un ~tat d'arr~t, avec une m.a.t. 0&quot; comme r~sultat final, apr~s un nombre de passages sup~rieur ou ~gal z~ro.</Paragraph> </Section> <Section position="6" start_page="397" end_page="397" type="metho"> <SectionTitle> REALISATION DE STAR-PALE </SectionTitle> <Paragraph position="0"> L'id6e de base est de ne regarder ni les r~gles ni les m.a.t, comme des ~l~ments passifs qu'on manipule, mais comme des processus qui coop~rent ~ la r~alisation d'une tache commune, lls sent donc en communication entre eux et d~veloppent un travail simultan~. Des applications semblables a celle-ci peuvent se trouver en (7, 8). Cette idle peut ~tre g~n~ralis~e au niveau des grammaires dans un syst~me transformationnel, en ajoutant une communication entre les processus qui repr~sentent les grammaires.</Paragraph> <Paragraph position="1"> Pour chacune des r~gles, on active un processus qui sera charg~ de questionner les noeuds de la m.a.t, pour savoir si la r~gle est applicable ~ cet endroit, c'est-~-dire s'il existe une occurrence de la r~gle enracin~e sur ce point. II y a deux ~tapes dans chaque processus : il faut reconnaitre un schema dans la structure, puis transformer une partie de celle-ci. Chacune de ces ~tapes est faite en parall~le, mais on ne commence la transformation que lorsque la reconnaissance globale a 6t6 r~alis~e pour tousles noeuds et routes les r~gles, en tenant compte de toutes les restrictions d'application entre les r~gles, c'est-a-dire lorsqu'une conjecture globale est trouv~e. Par centre, la reconnaissance peut d~marrer pour le passage suivant des r~gles s'il yen a, en parall~le avec la transformation pr~c~dente.</Paragraph> <Paragraph position="2"> Pour r~aliser une transformation, le syst~me utilise deux principes qui seront d~crits d'une mani~re g~n~rale. Chaque processus repr~sentant un noeud de la m.a.t, se trouve dans un ~tat particulier, depuis lequel il est capable d'envoyer et de recevoir des messages. Ces messages contr61ent la synchronisation et le changement d'~tat de chaque processus. Le graphe de la figure 3a illustre les possibilit6s de transitions d'6tat d'un noeud en STAR-PALE.</Paragraph> <Paragraph position="3"> - L'~tat libre (L) est affect~ aux noeuds de la m.a.t, qui sent &quot;inactifs&quot;, soit parce qu'~iennent d'etre cr~s et n'ont pas encore commenc~ l'~tape de reconnaissance ou de transformation, soit parce qu'ils viennent de finir une reconnaissance ou une transformation et qu'ils sent pr~ts ~ recevoir des messages, lls ont aussi le r61e de &quot;retransmettre&quot; des messages qui vent en direction de leurs descendants.</Paragraph> <Paragraph position="4"> - L'~tat test (T) indique que le noeud se trouve en train de d~terminer la conjecture locale-des r~gles. Le r~sultat des operations r~alis~es dans cet ~tat d~termine si le noeud se trouve dans la zone d'action d'au moins une r~gle applicable. Si ce n'est pas le cas, il peut se preparer pour le prochain passage de r6gles et pour cela il passe a l'~tat initialisation (I)~ Autrement, il doit attendre la d~finition de la conjecture ~ passage pour savoir le sort qui lui est destin~.</Paragraph> <Paragraph position="5"> - L'~tat attente (A) sert ~ la d~termination de la conjecture globale partielle (parce qu oT-on-ne--tient cempte que des conflits depuis le niveau du noeud vers le bas) par une recherche de conflits de bas en haut de la m.a.t. Une fois finie cette operation pour le noeud, il passe ~ l'~tat pr~t (P) de faGon directe ou bien au travers de l'~tat r~vision (R).</Paragraph> <Paragraph position="6"> - L'6tat pr~t est un ~tat interm~diaire oQ le noeud.a une conjecture globale partielle (ve--rs-le bas) et attend ou bien un message qui lui indique qu'elle est bien 404 J.N. VERASTEGU1-CARVAJAL d~finitive, ou des messages indiquant des modifications ~ lui faire avant de passer la transformation. S'il y a des changements, il revient ~ l'~tat attente en passant par l'~tat r~vision. Sinon, une fois connue la conjecture glob~initive, il change d'~tat pou-~ phase de transformation. II passe dans l'~tat m~tamorphose (M) s'il participe d'une faGon active aux changements, et sinon difectement dans l'~tat initialisation.</Paragraph> <Paragraph position="7"> - L'6tat r~vision sert ~ constater des modifications de la conjecture globale partielle du~ un moment donn~. II s'agit d'un ~tat interm~diaire et obligatoiFe dans les deux sens entre les ~tats pr6__~t et attente, en cas de &quot;retour arri~re&quot; jusqu'~ ce dernier.</Paragraph> <Paragraph position="8"> - L'~tat m~tamorphose est r~serv~ aux noeuds racines des r6gles applicables. Ces noeuds seront charges d'effectuer la transformation. Un noeud dans cet ~tat ale droit de crier ou de supprimer d'autres noeuds et de modifier leurs d~corations. II peut s' &quot;autosupprimer&quot; ~ la fin de la transformation si c'est n~cessaire, sinon il passe ~ l'~tat initialisation, - L'~tat initialisation est un ~tat d'attente d'autorisation d'aller au passage suivant de r~gles. ~ffet, un noeud dans cet ~tat peut encore #tre supprim~.</Paragraph> <Paragraph position="9"> Dans ce cas, il passe a l'~tat suppression (S), sinon, il arrive a l'~tat libre pour un nouveau passage de r~gles. Le cycle est ainsi fermi.</Paragraph> <Paragraph position="10"> - L'~tat suRpression est un ~tat final o~ un noeud est maintenu pour indiquer le nom du noeu~ qui- le remplace, ou simplement pour noter qu'il ne dolt plus ~tre pris en compte. Une fois qu'il ne sera plus n~cessaire, il pourra ~tre ~limin~ r~ellement, en lib~rant la place occup~e.</Paragraph> <Paragraph position="11"> Les messages repr~sentent des signaux ou des questions et peuvent produire des changements d'~tat des destinataires. Nous avons d~finit 13 types de messages : reconnaissance, d~part, confirmation, refus, prevention, reconfiguration, modification, pas de modification, ordre de transformation, suppression, nouveau nom, identification et fin de transformation. Le syst~me de communication des messages se comporte de sorte que, lorsqu'un noeud envoie plusieurs messages a un m~me noeud, ils seront reGus par le destinataire dans le m~me ordre que celui dans lequel ils ont ~t~ exp~di~s.</Paragraph> <Paragraph position="12"> Nous avons pu constater en faisant des transformations avec cette m~thode que les diff~rents processus peuvent travailler en parall~le et en synchronisation avec une bonne performance. Ceci peut ~tre visualis~ a l'aide d'un graphe de messages (voir figure 3b qui est une partie du graphe correspondant a l'application des r~gles de la figure 2b)oO chaque noeud repr~sente un message et un arc du noeud i au noeud j indique que le message i precede le message j. Par cons#quent, tousles messages sur la m~me colonne sont susceptibles d'etre envoy~s en parall~le et les diff#rents travaux r~alis~s entre temps peuvent ~tre executes simultan~ment.</Paragraph> </Section> class="xml-element"></Paper>