XML Schema Containment Checking Based on Semi-implicit Techniques

XML schemas are computer languages defining grammars for XML (Extensible Markup Languages) documents. Containment checking for XML schemas has many applications, and is thus important. Since XML schemas are related to the class of tree regular languages, their containment checking is reduced to the language containment problem for non-deterministic tree automata (NTAs). However, an NTA for a practical XML schema has 102-103 states for which the textbook algorithm based on naive determinization is expensive. Thus we in this paper consider techniques based on BDDs (binary decision diagrams). We used semi-implicit encoding which encodes a set of subsets of states as a BDD, rather than encoding a set of states by it. The experiment on several real-world XML schemas proves that our containment checker can answer problems that cannot be solved by previously known algorithms.

[1]  Bernd Finkbeiner,et al.  Language Containment Checking with Nondeterministic BDDs , 2001, TACAS.

[2]  Gabriel M. Kuper,et al.  Subsumption for XML types , 2001, ICDT.

[3]  Aske Simon Christensen,et al.  Static Analysis for Dynamic XML , 2002 .

[4]  Murali Mani,et al.  Taxonomy of XML schema languages using formal language theory , 2005, TOIT.

[5]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[6]  Nils Klarlund,et al.  Mona: Monadic Second-Order Logic in Practice , 1995, TACAS.

[7]  Nils Klarlund,et al.  Algorithms for Guided Tree Automata , 1996, Workshop on Implementing Automata.

[8]  Nils Klarlund,et al.  The DSD Schema Language , 2002, Automated Software Engineering.

[9]  Robert K. Brayton,et al.  Testing Language Containment for omega-Automata Using BDD's , 1995, Inf. Comput..

[10]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[11]  Alain J. Mayer,et al.  The Complexity of Word Problems - This Time with Interleaving , 1994, Inf. Comput..

[12]  Benjamin C. Pierce,et al.  Regular expression types for XML , 2000, TOPL.

[13]  Haruo Hosoya Validation and boolean operations for attribute-element constraints , 2002 .

[14]  Helmut Seidl Deciding Equivalence of Finite Tree Automata , 1990, SIAM J. Comput..

[15]  E BryantRandal Graph-Based Algorithms for Boolean Function Manipulation , 1986 .

[16]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[17]  Robert K. Brayton,et al.  Language containment of non-deterministic omega-automata , 1995, CHARME.