Anti-pattern Matching Modulo
Identifieur interne : 002C80 ( Istex/Corpus ); précédent : 002C79; suivant : 002C81Anti-pattern Matching Modulo
Auteurs : Claude Kirchner ; Radu Kopetz ; Pierre-Etienne MoreauSource :
- Lecture Notes in Computer Science [ 0302-9743 ]
Abstract
Abstract: Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a recent work, the notion of term was extended to the one of anti-term, i.e. terms that may contain complement symbols. Here we generalize the syntactic anti-pattern matching to anti-pattern matching modulo an arbitrary equational theory ε, and we study the specific and practically very useful case of associativity, possibly with a unity ( $\mathcal{AU}$ ). To this end, based on the syntacticness of associativity, we present a rule-based associative matching algorithm, and we extend it to $\mathcal{AU}$ . This algorithm is then used to solve $\mathcal{AU}$ anti-pattern matching problems. This allows us to be generic enough so that for instance, the AllDiff standard predicate of constraint programming becomes simply expressible in this framework. $\mathcal{AU}$ anti-patterns are implemented in the Tom language and we show some examples of their usage.
Url:
DOI: 10.1007/978-3-540-88282-4_26
Links to Exploration step
ISTEX:BCBCB505F6725B83E57366ABE84DD07287554931Le document en format XML
<record><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title xml:lang="en">Anti-pattern Matching Modulo</title>
<author><name sortKey="Kirchner, Claude" sort="Kirchner, Claude" uniqKey="Kirchner C" first="Claude" last="Kirchner">Claude Kirchner</name>
<affiliation><mods:affiliation>INRIA Bordeaux – Sud Ouest, </mods:affiliation>
</affiliation>
</author>
<author><name sortKey="Kopetz, Radu" sort="Kopetz, Radu" uniqKey="Kopetz R" first="Radu" last="Kopetz">Radu Kopetz</name>
<affiliation><mods:affiliation>INRIA Nancy – Grand Est, </mods:affiliation>
</affiliation>
</author>
<author><name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
<affiliation><mods:affiliation>INRIA Nancy – Grand Est, </mods:affiliation>
</affiliation>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:BCBCB505F6725B83E57366ABE84DD07287554931</idno>
<date when="2008" year="2008">2008</date>
<idno type="doi">10.1007/978-3-540-88282-4_26</idno>
<idno type="url">https://api.istex.fr/ark:/67375/HCB-HK37NL3B-X/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">002C80</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">002C80</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a" type="main" xml:lang="en">Anti-pattern Matching Modulo</title>
<author><name sortKey="Kirchner, Claude" sort="Kirchner, Claude" uniqKey="Kirchner C" first="Claude" last="Kirchner">Claude Kirchner</name>
<affiliation><mods:affiliation>INRIA Bordeaux – Sud Ouest, </mods:affiliation>
</affiliation>
</author>
<author><name sortKey="Kopetz, Radu" sort="Kopetz, Radu" uniqKey="Kopetz R" first="Radu" last="Kopetz">Radu Kopetz</name>
<affiliation><mods:affiliation>INRIA Nancy – Grand Est, </mods:affiliation>
</affiliation>
</author>
<author><name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
<affiliation><mods:affiliation>INRIA Nancy – Grand Est, </mods:affiliation>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<idno type="ISSN">0302-9743</idno>
<idno type="eISSN">1611-3349</idno>
<idno type="ISSN">0302-9743</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt><idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass></textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">Abstract: Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a recent work, the notion of term was extended to the one of anti-term, i.e. terms that may contain complement symbols. Here we generalize the syntactic anti-pattern matching to anti-pattern matching modulo an arbitrary equational theory ε, and we study the specific and practically very useful case of associativity, possibly with a unity ( $\mathcal{AU}$ ). To this end, based on the syntacticness of associativity, we present a rule-based associative matching algorithm, and we extend it to $\mathcal{AU}$ . This algorithm is then used to solve $\mathcal{AU}$ anti-pattern matching problems. This allows us to be generic enough so that for instance, the AllDiff standard predicate of constraint programming becomes simply expressible in this framework. $\mathcal{AU}$ anti-patterns are implemented in the Tom language and we show some examples of their usage.</div>
</front>
</TEI>
<istex><corpusName>springer-ebooks</corpusName>
<author><json:item><name>Claude Kirchner</name>
<affiliations><json:string>INRIA Bordeaux – Sud Ouest,</json:string>
</affiliations>
</json:item>
<json:item><name>Radu Kopetz</name>
<affiliations><json:string>INRIA Nancy – Grand Est,</json:string>
</affiliations>
</json:item>
<json:item><name>Pierre-Etienne Moreau</name>
<affiliations><json:string>INRIA Nancy – Grand Est,</json:string>
</affiliations>
</json:item>
</author>
<arkIstex>ark:/67375/HCB-HK37NL3B-X</arkIstex>
<language><json:string>eng</json:string>
</language>
<originalGenre><json:string>OriginalPaper</json:string>
</originalGenre>
<abstract>Abstract: Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a recent work, the notion of term was extended to the one of anti-term, i.e. terms that may contain complement symbols. Here we generalize the syntactic anti-pattern matching to anti-pattern matching modulo an arbitrary equational theory ε, and we study the specific and practically very useful case of associativity, possibly with a unity ( $\mathcal{AU}$ ). To this end, based on the syntacticness of associativity, we present a rule-based associative matching algorithm, and we extend it to $\mathcal{AU}$ . This algorithm is then used to solve $\mathcal{AU}$ anti-pattern matching problems. This allows us to be generic enough so that for instance, the AllDiff standard predicate of constraint programming becomes simply expressible in this framework. $\mathcal{AU}$ anti-patterns are implemented in the Tom language and we show some examples of their usage.</abstract>
<qualityIndicators><refBibsNative>false</refBibsNative>
<abstractWordCount>157</abstractWordCount>
<abstractCharCount>1029</abstractCharCount>
<keywordCount>0</keywordCount>
<score>8.884</score>
<pdfWordCount>5652</pdfWordCount>
<pdfCharCount>27447</pdfCharCount>
<pdfVersion>1.6</pdfVersion>
<pdfPageCount>12</pdfPageCount>
<pdfPageSize>430 x 660 pts</pdfPageSize>
</qualityIndicators>
<title>Anti-pattern Matching Modulo</title>
<chapterId><json:string>26</json:string>
<json:string>Chap26</json:string>
</chapterId>
<genre><json:string>conference</json:string>
</genre>
<serie><title>Lecture Notes in Computer Science</title>
<language><json:string>unknown</json:string>
</language>
<copyrightDate>2008</copyrightDate>
<issn><json:string>0302-9743</json:string>
</issn>
<eissn><json:string>1611-3349</json:string>
</eissn>
<editor><json:item><name>David Hutchison</name>
</json:item>
<json:item><name>Takeo Kanade</name>
</json:item>
<json:item><name>Josef Kittler</name>
</json:item>
<json:item><name>Jon M. Kleinberg</name>
</json:item>
<json:item><name>Friedemann Mattern</name>
</json:item>
<json:item><name>John C. Mitchell</name>
</json:item>
<json:item><name>Moni Naor</name>
</json:item>
<json:item><name>Oscar Nierstrasz</name>
</json:item>
<json:item><name>C. Pandu Rangan</name>
</json:item>
<json:item><name>Bernhard Steffen</name>
</json:item>
<json:item><name>Madhu Sudan</name>
</json:item>
<json:item><name>Demetri Terzopoulos</name>
</json:item>
<json:item><name>Doug Tygar</name>
</json:item>
<json:item><name>Moshe Y. Vardi</name>
</json:item>
<json:item><name>Gerhard Weikum</name>
</json:item>
</editor>
</serie>
<host><title>Language and Automata Theory and Applications</title>
<language><json:string>unknown</json:string>
</language>
<copyrightDate>2008</copyrightDate>
<doi><json:string>10.1007/978-3-540-88282-4</json:string>
</doi>
<issn><json:string>0302-9743</json:string>
</issn>
<eissn><json:string>1611-3349</json:string>
</eissn>
<eisbn><json:string>978-3-540-88282-4</json:string>
</eisbn>
<bookId><json:string>978-3-540-88282-4</json:string>
</bookId>
<isbn><json:string>978-3-540-88281-7</json:string>
</isbn>
<volume>5196</volume>
<pages><first>275</first>
<last>286</last>
</pages>
<genre><json:string>book-series</json:string>
</genre>
<editor><json:item><name>Carlos Martín-Vide</name>
<affiliations><json:string>Research Group on Mathematical Linguistics, Rovira i Virgili University, Plaza Imperial Tàrraco 1, 43005, Tarragona, Spain</json:string>
<json:string>E-mail: carlos.martin@urv.cat</json:string>
</affiliations>
</json:item>
<json:item><name>Friedrich Otto</name>
<affiliations><json:string>Fachbereich Elektrotechnik/Informatik, Universität Kassel, Wilhelmshöher Allee 73, 34121, Kassel, Germany</json:string>
<json:string>E-mail: otto@theory.informatik.uni-kassel.de</json:string>
</affiliations>
</json:item>
<json:item><name>Henning Fernau</name>
<affiliations><json:string>Fachbereich 4, Abteilung Informatik/Wirtschaftsinformatik, Universität Trier, Campus II, Gebäude H, 54286, Trier, Germany</json:string>
<json:string>E-mail: fernau@uni-trier.de</json:string>
</affiliations>
</json:item>
</editor>
<subject><json:item><value>Computer Science</value>
</json:item>
<json:item><value>Computer Science</value>
</json:item>
<json:item><value>Mathematical Logic and Formal Languages</value>
</json:item>
<json:item><value>Theory of Computation</value>
</json:item>
<json:item><value>Symbolic and Algebraic Manipulation</value>
</json:item>
<json:item><value>Logics and Meanings of Programs</value>
</json:item>
<json:item><value>Mathematics of Computing</value>
</json:item>
<json:item><value>Computation by Abstract Devices</value>
</json:item>
</subject>
</host>
<ark><json:string>ark:/67375/HCB-HK37NL3B-X</json:string>
</ark>
<publicationDate>2008</publicationDate>
<copyrightDate>2008</copyrightDate>
<doi><json:string>10.1007/978-3-540-88282-4_26</json:string>
</doi>
<id>BCBCB505F6725B83E57366ABE84DD07287554931</id>
<score>1</score>
<fulltext><json:item><extension>pdf</extension>
<original>true</original>
<mimetype>application/pdf</mimetype>
<uri>https://api.istex.fr/ark:/67375/HCB-HK37NL3B-X/fulltext.pdf</uri>
</json:item>
<json:item><extension>zip</extension>
<original>false</original>
<mimetype>application/zip</mimetype>
<uri>https://api.istex.fr/ark:/67375/HCB-HK37NL3B-X/bundle.zip</uri>
</json:item>
<istex:fulltextTEI uri="https://api.istex.fr/ark:/67375/HCB-HK37NL3B-X/fulltext.tei"><teiHeader><fileDesc><titleStmt><title level="a" type="main" xml:lang="en">Anti-pattern Matching Modulo</title>
</titleStmt>
<publicationStmt><authority>ISTEX</authority>
<availability><licence>Springer-Verlag Berlin Heidelberg</licence>
</availability>
<date when="2008">2008</date>
</publicationStmt>
<notesStmt><note type="conference" source="proceedings" scheme="https://content-type.data.istex.fr/ark:/67375/XTP-BFHXPBJJ-3">conference</note>
<note type="publication-type" subtype="book-series" scheme="https://publication-type.data.istex.fr/ark:/67375/JMC-0G6R5W5T-Z">book-series</note>
</notesStmt>
<sourceDesc><biblStruct><analytic><title level="a" type="main" xml:lang="en">Anti-pattern Matching Modulo</title>
<author><persName><forename type="first">Claude</forename>
<surname>Kirchner</surname>
</persName>
<affiliation><orgName type="institution">INRIA Bordeaux – Sud Ouest</orgName>
<address><country key=""></country>
</address>
</affiliation>
</author>
<author><persName><forename type="first">Radu</forename>
<surname>Kopetz</surname>
</persName>
<affiliation><orgName type="institution">INRIA Nancy – Grand Est</orgName>
<address><country key=""></country>
</address>
</affiliation>
</author>
<author><persName><forename type="first">Pierre-Etienne</forename>
<surname>Moreau</surname>
</persName>
<affiliation><orgName type="institution">INRIA Nancy – Grand Est</orgName>
<address><country key=""></country>
</address>
</affiliation>
</author>
<idno type="istex">BCBCB505F6725B83E57366ABE84DD07287554931</idno>
<idno type="ark">ark:/67375/HCB-HK37NL3B-X</idno>
<idno type="DOI">10.1007/978-3-540-88282-4_26</idno>
</analytic>
<monogr><title level="m" type="main">Language and Automata Theory and Applications</title>
<title level="m" type="sub">Second International Conference, LATA 2008, Tarragona, Spain, March 13-19, 2008. Revised Papers</title>
<title level="m" type="part">Contributed Papers</title>
<idno type="DOI">10.1007/978-3-540-88282-4</idno>
<idno type="book-id">978-3-540-88282-4</idno>
<idno type="ISBN">978-3-540-88281-7</idno>
<idno type="eISBN">978-3-540-88282-4</idno>
<idno type="chapter-id">Chap26</idno>
<idno type="part-id">Part2</idno>
<editor><persName><forename type="first">Carlos</forename>
<surname>Martín-Vide</surname>
</persName>
<email>carlos.martin@urv.cat</email>
<affiliation><orgName type="department">Research Group on Mathematical Linguistics</orgName>
<orgName type="institution">Rovira i Virgili University</orgName>
<address><street>Plaza Imperial Tàrraco 1</street>
<postCode>43005</postCode>
<settlement>Tarragona</settlement>
<country key="ES">SPAIN</country>
</address>
</affiliation>
</editor>
<editor><persName><forename type="first">Friedrich</forename>
<surname>Otto</surname>
</persName>
<email>otto@theory.informatik.uni-kassel.de</email>
<affiliation><orgName type="department">Fachbereich Elektrotechnik/Informatik</orgName>
<orgName type="institution">Universität Kassel</orgName>
<address><street>Wilhelmshöher Allee 73</street>
<postCode>34121</postCode>
<settlement>Kassel</settlement>
<country key="DE">GERMANY</country>
</address>
</affiliation>
</editor>
<editor><persName><forename type="first">Henning</forename>
<surname>Fernau</surname>
</persName>
<email>fernau@uni-trier.de</email>
<affiliation><orgName type="department">Fachbereich 4, Abteilung Informatik/Wirtschaftsinformatik</orgName>
<orgName type="institution">Universität Trier</orgName>
<address><street>Campus II, Gebäude H</street>
<postCode>54286</postCode>
<settlement>Trier</settlement>
<country key="DE">GERMANY</country>
</address>
</affiliation>
</editor>
<imprint><biblScope unit="vol">5196</biblScope>
<biblScope unit="page" from="275">275</biblScope>
<biblScope unit="page" to="286">286</biblScope>
<biblScope unit="chapter-count">44</biblScope>
<biblScope unit="part-chapter-count">40</biblScope>
</imprint>
</monogr>
<series><title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<editor><persName><forename type="first">David</forename>
<surname>Hutchison</surname>
</persName>
</editor>
<editor><persName><forename type="first">Takeo</forename>
<surname>Kanade</surname>
</persName>
</editor>
<editor><persName><forename type="first">Josef</forename>
<surname>Kittler</surname>
</persName>
</editor>
<editor><persName><forename type="first">Jon</forename>
<forename type="first">M.</forename>
<surname>Kleinberg</surname>
</persName>
</editor>
<editor><persName><forename type="first">Friedemann</forename>
<surname>Mattern</surname>
</persName>
</editor>
<editor><persName><forename type="first">John</forename>
<forename type="first">C.</forename>
<surname>Mitchell</surname>
</persName>
</editor>
<editor><persName><forename type="first">Moni</forename>
<surname>Naor</surname>
</persName>
</editor>
<editor><persName><forename type="first">Oscar</forename>
<surname>Nierstrasz</surname>
</persName>
</editor>
<editor><persName><forename type="first">C.</forename>
<surname>Pandu Rangan</surname>
</persName>
</editor>
<editor><persName><forename type="first">Bernhard</forename>
<surname>Steffen</surname>
</persName>
</editor>
<editor><persName><forename type="first">Madhu</forename>
<surname>Sudan</surname>
</persName>
</editor>
<editor><persName><forename type="first">Demetri</forename>
<surname>Terzopoulos</surname>
</persName>
</editor>
<editor><persName><forename type="first">Doug</forename>
<surname>Tygar</surname>
</persName>
</editor>
<editor><persName><forename type="first">Moshe</forename>
<forename type="first">Y.</forename>
<surname>Vardi</surname>
</persName>
</editor>
<editor><persName><forename type="first">Gerhard</forename>
<surname>Weikum</surname>
</persName>
</editor>
<idno type="pISSN">0302-9743</idno>
<idno type="eISSN">1611-3349</idno>
<idno type="seriesID">558</idno>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc><abstract xml:lang="en"><head>Abstract</head>
<p>Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a recent work, the notion of term was extended to the one of anti-term, <hi rend="italic">i.e.</hi>
terms that may contain complement symbols.</p>
<p>Here we generalize the syntactic anti-pattern matching to anti-pattern matching <hi rend="italic">modulo</hi>
an arbitrary equational theory <hi rend="italic">ε</hi>
, and we study the specific and practically very useful case of associativity, possibly with a unity (<formula xml:id="IEq1" notation="TEX"><media mimeType="image" url=""></media>
$\mathcal{AU}$
</formula>
). To this end, based on the <hi rend="italic">syntacticness</hi>
of associativity, we present a rule-based associative matching algorithm, and we extend it to <formula xml:id="IEq2" notation="TEX"><media mimeType="image" url=""></media>
$\mathcal{AU}$
</formula>
. This algorithm is then used to solve <formula xml:id="IEq3" notation="TEX"><media mimeType="image" url=""></media>
$\mathcal{AU}$
</formula>
anti-pattern matching problems. This allows us to be generic enough so that for instance, the <hi rend="italic">AllDiff</hi>
standard predicate of constraint programming becomes simply expressible in this framework. <formula xml:id="IEq4" notation="TEX"><media mimeType="image" url=""></media>
$\mathcal{AU}$
</formula>
anti-patterns are implemented in the <hi rend="smallCaps">Tom</hi>
language and we show some examples of their usage.</p>
</abstract>
<textClass ana="subject"><keywords scheme="book-subject-collection"><list><label>SUCO11645</label>
<item><term>Computer Science</term>
</item>
</list>
</keywords>
</textClass>
<textClass ana="subject"><keywords scheme="book-subject"><list><label>I</label>
<item><term type="Primary">Computer Science</term>
</item>
<label>I16048</label>
<item><term type="Secondary" subtype="priority-1">Mathematical Logic and Formal Languages</term>
</item>
<label>I16005</label>
<item><term type="Secondary" subtype="priority-2">Theory of Computation</term>
</item>
<label>I17052</label>
<item><term type="Secondary" subtype="priority-3">Symbolic and Algebraic Manipulation</term>
</item>
<label>I1603X</label>
<item><term type="Secondary" subtype="priority-4">Logics and Meanings of Programs</term>
</item>
<label>I17001</label>
<item><term type="Secondary" subtype="priority-5">Mathematics of Computing</term>
</item>
<label>I16013</label>
<item><term type="Secondary" subtype="priority-6">Computation by Abstract Devices</term>
</item>
</list>
</keywords>
</textClass>
<langUsage><language ident="EN"></language>
</langUsage>
</profileDesc>
</teiHeader>
</istex:fulltextTEI>
<json:item><extension>txt</extension>
<original>false</original>
<mimetype>text/plain</mimetype>
<uri>https://api.istex.fr/ark:/67375/HCB-HK37NL3B-X/fulltext.txt</uri>
</json:item>
</fulltext>
<metadata><istex:metadataXml wicri:clean="corpus springer-ebooks not found" wicri:toSee="no header"><istex:xmlDeclaration>version="1.0" encoding="UTF-8"</istex:xmlDeclaration>
<istex:docType PUBLIC="-//Springer-Verlag//DTD A++ V2.4//EN" URI="http://devel.springer.de/A++/V2.4/DTD/A++V2.4.dtd" name="istex:docType"></istex:docType>
<istex:document><Publisher><PublisherInfo><PublisherName>Springer Berlin Heidelberg</PublisherName>
<PublisherLocation>Berlin, Heidelberg</PublisherLocation>
</PublisherInfo>
<Series><SeriesInfo SeriesType="Series" TocLevels="0"><SeriesID>558</SeriesID>
<SeriesPrintISSN>0302-9743</SeriesPrintISSN>
<SeriesElectronicISSN>1611-3349</SeriesElectronicISSN>
<SeriesTitle Language="En">Lecture Notes in Computer Science</SeriesTitle>
</SeriesInfo>
<SeriesHeader><EditorGroup><Editor><EditorName DisplayOrder="Western"><GivenName>David</GivenName>
<FamilyName>Hutchison</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Takeo</GivenName>
<FamilyName>Kanade</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Josef</GivenName>
<FamilyName>Kittler</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Jon</GivenName>
<GivenName>M.</GivenName>
<FamilyName>Kleinberg</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Friedemann</GivenName>
<FamilyName>Mattern</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>John</GivenName>
<GivenName>C.</GivenName>
<FamilyName>Mitchell</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Moni</GivenName>
<FamilyName>Naor</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Oscar</GivenName>
<FamilyName>Nierstrasz</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>C.</GivenName>
<FamilyName>Pandu Rangan</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Bernhard</GivenName>
<FamilyName>Steffen</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Madhu</GivenName>
<FamilyName>Sudan</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Demetri</GivenName>
<FamilyName>Terzopoulos</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Doug</GivenName>
<FamilyName>Tygar</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Moshe</GivenName>
<GivenName>Y.</GivenName>
<FamilyName>Vardi</FamilyName>
</EditorName>
</Editor>
<Editor><EditorName DisplayOrder="Western"><GivenName>Gerhard</GivenName>
<FamilyName>Weikum</FamilyName>
</EditorName>
</Editor>
</EditorGroup>
</SeriesHeader>
<Book Language="En"><BookInfo BookProductType="Proceedings" ContainsESM="No" Language="En" MediaType="eBook" NumberingStyle="Unnumbered" OutputMedium="All" TocLevels="0"><BookID>978-3-540-88282-4</BookID>
<BookTitle>Language and Automata Theory and Applications</BookTitle>
<BookSubTitle>Second International Conference, LATA 2008, Tarragona, Spain, March 13-19, 2008. Revised Papers</BookSubTitle>
<BookVolumeNumber>5196</BookVolumeNumber>
<BookSequenceNumber>5196</BookSequenceNumber>
<BookDOI>10.1007/978-3-540-88282-4</BookDOI>
<BookTitleID>182790</BookTitleID>
<BookPrintISBN>978-3-540-88281-7</BookPrintISBN>
<BookElectronicISBN>978-3-540-88282-4</BookElectronicISBN>
<BookChapterCount>44</BookChapterCount>
<BookCopyright><CopyrightHolderName>Springer-Verlag Berlin Heidelberg</CopyrightHolderName>
<CopyrightYear>2008</CopyrightYear>
</BookCopyright>
<BookSubjectGroup><BookSubject Code="I" Type="Primary">Computer Science</BookSubject>
<BookSubject Code="I16048" Priority="1" Type="Secondary">Mathematical Logic and Formal Languages</BookSubject>
<BookSubject Code="I16005" Priority="2" Type="Secondary">Theory of Computation</BookSubject>
<BookSubject Code="I17052" Priority="3" Type="Secondary">Symbolic and Algebraic Manipulation</BookSubject>
<BookSubject Code="I1603X" Priority="4" Type="Secondary">Logics and Meanings of Programs</BookSubject>
<BookSubject Code="I17001" Priority="5" Type="Secondary">Mathematics of Computing</BookSubject>
<BookSubject Code="I16013" Priority="6" Type="Secondary">Computation by Abstract Devices</BookSubject>
<SubjectCollection Code="SUCO11645">Computer Science</SubjectCollection>
</BookSubjectGroup>
</BookInfo>
<BookHeader><EditorGroup><Editor AffiliationIDS="Aff1"><EditorName DisplayOrder="Western"><GivenName>Carlos</GivenName>
<FamilyName>Martín-Vide</FamilyName>
</EditorName>
<Contact><Email>carlos.martin@urv.cat</Email>
</Contact>
</Editor>
<Editor AffiliationIDS="Aff2"><EditorName DisplayOrder="Western"><GivenName>Friedrich</GivenName>
<FamilyName>Otto</FamilyName>
</EditorName>
<Contact><Email>otto@theory.informatik.uni-kassel.de</Email>
</Contact>
</Editor>
<Editor AffiliationIDS="Aff3"><EditorName DisplayOrder="Western"><GivenName>Henning</GivenName>
<FamilyName>Fernau</FamilyName>
</EditorName>
<Contact><Email>fernau@uni-trier.de</Email>
</Contact>
</Editor>
<Affiliation ID="Aff1"><OrgDivision>Research Group on Mathematical Linguistics</OrgDivision>
<OrgName>Rovira i Virgili University</OrgName>
<OrgAddress><Street>Plaza Imperial Tàrraco 1</Street>
<Postcode>43005</Postcode>
<City>Tarragona</City>
<Country>Spain</Country>
</OrgAddress>
</Affiliation>
<Affiliation ID="Aff2"><OrgDivision>Fachbereich Elektrotechnik/Informatik</OrgDivision>
<OrgName>Universität Kassel</OrgName>
<OrgAddress><Street>Wilhelmshöher Allee 73</Street>
<Postcode>34121</Postcode>
<City>Kassel</City>
<Country>Germany</Country>
</OrgAddress>
</Affiliation>
<Affiliation ID="Aff3"><OrgDivision>Fachbereich 4, Abteilung Informatik/Wirtschaftsinformatik</OrgDivision>
<OrgName>Universität Trier</OrgName>
<OrgAddress><Street>Campus II, Gebäude H</Street>
<Postcode>54286</Postcode>
<City>Trier</City>
<Country>Germany</Country>
</OrgAddress>
</Affiliation>
</EditorGroup>
</BookHeader>
<Part ID="Part2"><PartInfo TocLevels="0"><PartID>2</PartID>
<PartSequenceNumber>2</PartSequenceNumber>
<PartTitle>Contributed Papers</PartTitle>
<PartChapterCount>40</PartChapterCount>
<PartContext><SeriesID>558</SeriesID>
<BookTitle>Language and Automata Theory and Applications</BookTitle>
</PartContext>
</PartInfo>
<Chapter ID="Chap26" Language="En"><ChapterInfo ChapterType="OriginalPaper" ContainsESM="No" NumberingStyle="Unnumbered" TocLevels="0"><ChapterID>26</ChapterID>
<ChapterDOI>10.1007/978-3-540-88282-4_26</ChapterDOI>
<ChapterSequenceNumber>26</ChapterSequenceNumber>
<ChapterTitle Language="En">Anti-pattern Matching Modulo</ChapterTitle>
<ChapterFirstPage>275</ChapterFirstPage>
<ChapterLastPage>286</ChapterLastPage>
<ChapterCopyright><CopyrightHolderName>Springer-Verlag Berlin Heidelberg</CopyrightHolderName>
<CopyrightYear>2008</CopyrightYear>
</ChapterCopyright>
<ChapterGrants Type="Regular"><MetadataGrant Grant="OpenAccess"></MetadataGrant>
<AbstractGrant Grant="OpenAccess"></AbstractGrant>
<BodyPDFGrant Grant="Restricted"></BodyPDFGrant>
<BodyHTMLGrant Grant="Restricted"></BodyHTMLGrant>
<BibliographyGrant Grant="Restricted"></BibliographyGrant>
<ESMGrant Grant="Restricted"></ESMGrant>
</ChapterGrants>
<ChapterContext><SeriesID>558</SeriesID>
<PartID>2</PartID>
<BookID>978-3-540-88282-4</BookID>
<BookTitle>Language and Automata Theory and Applications</BookTitle>
</ChapterContext>
</ChapterInfo>
<ChapterHeader><AuthorGroup><Author AffiliationIDS="Aff4"><AuthorName DisplayOrder="Western"><GivenName>Claude</GivenName>
<FamilyName>Kirchner</FamilyName>
</AuthorName>
</Author>
<Author AffiliationIDS="Aff5"><AuthorName DisplayOrder="Western"><GivenName>Radu</GivenName>
<FamilyName>Kopetz</FamilyName>
</AuthorName>
</Author>
<Author AffiliationIDS="Aff5"><AuthorName DisplayOrder="Western"><GivenName>Pierre-Etienne</GivenName>
<FamilyName>Moreau</FamilyName>
</AuthorName>
</Author>
<Affiliation ID="Aff4"><OrgName>INRIA Bordeaux – Sud Ouest</OrgName>
<OrgAddress><Country> </Country>
</OrgAddress>
</Affiliation>
<Affiliation ID="Aff5"><OrgName>INRIA Nancy – Grand Est</OrgName>
<OrgAddress><Country> </Country>
</OrgAddress>
</Affiliation>
</AuthorGroup>
<Abstract ID="Abs1" Language="En"><Heading>Abstract</Heading>
<Para>Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a recent work, the notion of term was extended to the one of anti-term, <Emphasis Type="Italic">i.e.</Emphasis>
terms that may contain complement symbols.</Para>
<Para>Here we generalize the syntactic anti-pattern matching to anti-pattern matching <Emphasis Type="Italic">modulo</Emphasis>
an arbitrary equational theory <Emphasis Type="Italic">ε</Emphasis>
, and we study the specific and practically very useful case of associativity, possibly with a unity (<InlineEquation ID="IEq1"><InlineMediaObject><ImageObject FileRef="978-3-540-88282-4_26_Chapter_TeX2GIFIEq1.gif" Format="GIF" Color="BlackWhite" Type="Linedraw" Rendition="HTML"></ImageObject>
</InlineMediaObject>
<EquationSource Format="TEX">$\mathcal{AU}$</EquationSource>
</InlineEquation>
). To this end, based on the <Emphasis Type="Italic">syntacticness</Emphasis>
of associativity, we present a rule-based associative matching algorithm, and we extend it to <InlineEquation ID="IEq2"><InlineMediaObject><ImageObject FileRef="978-3-540-88282-4_26_Chapter_TeX2GIFIEq2.gif" Format="GIF" Color="BlackWhite" Type="Linedraw" Rendition="HTML"></ImageObject>
</InlineMediaObject>
<EquationSource Format="TEX">$\mathcal{AU}$</EquationSource>
</InlineEquation>
. This algorithm is then used to solve <InlineEquation ID="IEq3"><InlineMediaObject><ImageObject FileRef="978-3-540-88282-4_26_Chapter_TeX2GIFIEq3.gif" Format="GIF" Color="BlackWhite" Type="Linedraw" Rendition="HTML"></ImageObject>
</InlineMediaObject>
<EquationSource Format="TEX">$\mathcal{AU}$</EquationSource>
</InlineEquation>
anti-pattern matching problems. This allows us to be generic enough so that for instance, the <Emphasis Type="Italic">AllDiff</Emphasis>
standard predicate of constraint programming becomes simply expressible in this framework. <InlineEquation ID="IEq4"><InlineMediaObject><ImageObject FileRef="978-3-540-88282-4_26_Chapter_TeX2GIFIEq4.gif" Format="GIF" Color="BlackWhite" Type="Linedraw" Rendition="HTML"></ImageObject>
</InlineMediaObject>
<EquationSource Format="TEX">$\mathcal{AU}$</EquationSource>
</InlineEquation>
anti-patterns are implemented in the <Emphasis Type="SmallCaps">Tom</Emphasis>
language and we show some examples of their usage.</Para>
</Abstract>
</ChapterHeader>
<NoBody></NoBody>
</Chapter>
</Part>
</Book>
</Series>
</Publisher>
</istex:document>
</istex:metadataXml>
<mods version="3.6"><titleInfo lang="en"><title>Anti-pattern Matching Modulo</title>
</titleInfo>
<titleInfo type="alternative" contentType="CDATA"><title>Anti-pattern Matching Modulo</title>
</titleInfo>
<name type="personal"><namePart type="given">Claude</namePart>
<namePart type="family">Kirchner</namePart>
<affiliation>INRIA Bordeaux – Sud Ouest, </affiliation>
<role><roleTerm type="text">author</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Radu</namePart>
<namePart type="family">Kopetz</namePart>
<affiliation>INRIA Nancy – Grand Est, </affiliation>
<role><roleTerm type="text">author</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Pierre-Etienne</namePart>
<namePart type="family">Moreau</namePart>
<affiliation>INRIA Nancy – Grand Est, </affiliation>
<role><roleTerm type="text">author</roleTerm>
</role>
</name>
<typeOfResource>text</typeOfResource>
<genre displayLabel="OriginalPaper" authority="ISTEX" authorityURI="https://content-type.data.istex.fr" type="conference" valueURI="https://content-type.data.istex.fr/ark:/67375/XTP-BFHXPBJJ-3">conference</genre>
<originInfo><publisher>Springer Berlin Heidelberg</publisher>
<place><placeTerm type="text">Berlin, Heidelberg</placeTerm>
</place>
<dateIssued encoding="w3cdtf">2008</dateIssued>
<copyrightDate encoding="w3cdtf">2008</copyrightDate>
</originInfo>
<language><languageTerm type="code" authority="rfc3066">en</languageTerm>
<languageTerm type="code" authority="iso639-2b">eng</languageTerm>
</language>
<abstract lang="en">Abstract: Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a recent work, the notion of term was extended to the one of anti-term, i.e. terms that may contain complement symbols. Here we generalize the syntactic anti-pattern matching to anti-pattern matching modulo an arbitrary equational theory ε, and we study the specific and practically very useful case of associativity, possibly with a unity ( $\mathcal{AU}$ ). To this end, based on the syntacticness of associativity, we present a rule-based associative matching algorithm, and we extend it to $\mathcal{AU}$ . This algorithm is then used to solve $\mathcal{AU}$ anti-pattern matching problems. This allows us to be generic enough so that for instance, the AllDiff standard predicate of constraint programming becomes simply expressible in this framework. $\mathcal{AU}$ anti-patterns are implemented in the Tom language and we show some examples of their usage.</abstract>
<relatedItem type="host"><titleInfo><title>Language and Automata Theory and Applications</title>
<subTitle>Second International Conference, LATA 2008, Tarragona, Spain, March 13-19, 2008. Revised Papers</subTitle>
</titleInfo>
<name type="personal"><namePart type="given">Carlos</namePart>
<namePart type="family">Martín-Vide</namePart>
<affiliation>Research Group on Mathematical Linguistics, Rovira i Virgili University, Plaza Imperial Tàrraco 1, 43005, Tarragona, Spain</affiliation>
<affiliation>E-mail: carlos.martin@urv.cat</affiliation>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Friedrich</namePart>
<namePart type="family">Otto</namePart>
<affiliation>Fachbereich Elektrotechnik/Informatik, Universität Kassel, Wilhelmshöher Allee 73, 34121, Kassel, Germany</affiliation>
<affiliation>E-mail: otto@theory.informatik.uni-kassel.de</affiliation>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Henning</namePart>
<namePart type="family">Fernau</namePart>
<affiliation>Fachbereich 4, Abteilung Informatik/Wirtschaftsinformatik, Universität Trier, Campus II, Gebäude H, 54286, Trier, Germany</affiliation>
<affiliation>E-mail: fernau@uni-trier.de</affiliation>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<genre type="book-series" authority="ISTEX" authorityURI="https://publication-type.data.istex.fr" valueURI="https://publication-type.data.istex.fr/ark:/67375/JMC-0G6R5W5T-Z">book-series</genre>
<originInfo><publisher>Springer</publisher>
<copyrightDate encoding="w3cdtf">2008</copyrightDate>
<issuance>monographic</issuance>
</originInfo>
<subject><genre>Book-Subject-Collection</genre>
<topic authority="SpringerSubjectCodes" authorityURI="SUCO11645">Computer Science</topic>
</subject>
<subject><genre>Book-Subject-Group</genre>
<topic authority="SpringerSubjectCodes" authorityURI="I">Computer Science</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I16048">Mathematical Logic and Formal Languages</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I16005">Theory of Computation</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I17052">Symbolic and Algebraic Manipulation</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I1603X">Logics and Meanings of Programs</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I17001">Mathematics of Computing</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I16013">Computation by Abstract Devices</topic>
</subject>
<identifier type="DOI">10.1007/978-3-540-88282-4</identifier>
<identifier type="ISBN">978-3-540-88281-7</identifier>
<identifier type="eISBN">978-3-540-88282-4</identifier>
<identifier type="ISSN">0302-9743</identifier>
<identifier type="eISSN">1611-3349</identifier>
<identifier type="BookTitleID">182790</identifier>
<identifier type="BookID">978-3-540-88282-4</identifier>
<identifier type="BookChapterCount">44</identifier>
<identifier type="BookVolumeNumber">5196</identifier>
<identifier type="BookSequenceNumber">5196</identifier>
<identifier type="PartChapterCount">40</identifier>
<part><date>2008</date>
<detail type="part"><title>Contributed Papers</title>
</detail>
<detail type="volume"><number>5196</number>
<caption>vol.</caption>
</detail>
<extent unit="pages"><start>275</start>
<end>286</end>
</extent>
</part>
<recordInfo><recordOrigin>Springer-Verlag Berlin Heidelberg, 2008</recordOrigin>
</recordInfo>
</relatedItem>
<relatedItem type="series"><titleInfo><title>Lecture Notes in Computer Science</title>
</titleInfo>
<name type="personal"><namePart type="given">David</namePart>
<namePart type="family">Hutchison</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Takeo</namePart>
<namePart type="family">Kanade</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Josef</namePart>
<namePart type="family">Kittler</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Jon</namePart>
<namePart type="given">M.</namePart>
<namePart type="family">Kleinberg</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Friedemann</namePart>
<namePart type="family">Mattern</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">John</namePart>
<namePart type="given">C.</namePart>
<namePart type="family">Mitchell</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Moni</namePart>
<namePart type="family">Naor</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Oscar</namePart>
<namePart type="family">Nierstrasz</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">C.</namePart>
<namePart type="family">Pandu Rangan</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Bernhard</namePart>
<namePart type="family">Steffen</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Madhu</namePart>
<namePart type="family">Sudan</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Demetri</namePart>
<namePart type="family">Terzopoulos</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Doug</namePart>
<namePart type="family">Tygar</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Moshe</namePart>
<namePart type="given">Y.</namePart>
<namePart type="family">Vardi</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal"><namePart type="given">Gerhard</namePart>
<namePart type="family">Weikum</namePart>
<role><roleTerm type="text">editor</roleTerm>
</role>
</name>
<originInfo><publisher>Springer</publisher>
<copyrightDate encoding="w3cdtf">2008</copyrightDate>
<issuance>serial</issuance>
</originInfo>
<identifier type="ISSN">0302-9743</identifier>
<identifier type="eISSN">1611-3349</identifier>
<identifier type="SeriesID">558</identifier>
<recordInfo><recordOrigin>Springer-Verlag Berlin Heidelberg, 2008</recordOrigin>
</recordInfo>
</relatedItem>
<identifier type="istex">BCBCB505F6725B83E57366ABE84DD07287554931</identifier>
<identifier type="ark">ark:/67375/HCB-HK37NL3B-X</identifier>
<identifier type="DOI">10.1007/978-3-540-88282-4_26</identifier>
<identifier type="ChapterID">26</identifier>
<identifier type="ChapterID">Chap26</identifier>
<accessCondition type="use and reproduction" contentType="copyright">Springer-Verlag Berlin Heidelberg, 2008</accessCondition>
<recordInfo><recordContentSource authority="ISTEX" authorityURI="https://loaded-corpus.data.istex.fr" valueURI="https://loaded-corpus.data.istex.fr/ark:/67375/XBH-RLRX46XW-4">springer</recordContentSource>
<recordOrigin>Springer-Verlag Berlin Heidelberg, 2008</recordOrigin>
</recordInfo>
</mods>
<json:item><extension>json</extension>
<original>false</original>
<mimetype>application/json</mimetype>
<uri>https://api.istex.fr/ark:/67375/HCB-HK37NL3B-X/record.json</uri>
</json:item>
</metadata>
</istex>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Istex/Corpus
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 002C80 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Istex/Corpus/biblio.hfd -nk 002C80 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Lorraine |area= InforLorV4 |flux= Istex |étape= Corpus |type= RBID |clé= ISTEX:BCBCB505F6725B83E57366ABE84DD07287554931 |texte= Anti-pattern Matching Modulo }}
This area was generated with Dilib version V0.6.33. |