XML Integrity Constraints
|
|
- Kerrie George
- 6 years ago
- Views:
Transcription
1 XML Integrity Constraints Mirian Halfeld Ferrari European Master s Program - Information Technologies for Business Intelligence Mirian Halfeld Ferrari (IT4BI) XML-IC 1 / 23
2 References and general information Bibliographic notes Béatrice Bouchou, Mírian Halfeld Ferrari Alves, Maria Adriana Vidigal de Lima. Attribute Grammar for XML Integrity Constraint Validation. DEXA (1) 2011 : Ullman and Widom, A first course in base systems, Prentice-Hall International, For some notions on relational bases. Béatrice Bouchou, Mírian Halfeld Ferrari, Maria Adriana Lima. Contraintes d intégrité pour XML. Visite guidée par une syntaxe homogène. Technique et Science Informatiques 28(3) : (2009) Béatrice Bouchou, Ahmed Cheriat, Mírian Halfeld Ferrari, Dominique Laurent, Maria Adriana Lima, Martin A. Musicante. Efficient Constraint Validation for Updated XML Database. Informatica (Slovenia) 31(3) : (2007) Mirian Halfeld Ferrari (IT4BI) XML-IC 2 / 23
3 Introduction Importance of integrity constraints Integrity constraints are traditionally part of a schema specification. Integrity constraints are important in order to define some semantics and to assure consistence. Several constraint languages for XML have been proposed. Different kinds of integrity constraints : keys (XKeys), foreign keys (XFK), functional dependencies (XFD), inclusion dependencies (XID) Mirian Halfeld Ferrari (IT4BI) XML-IC 3 / 23
4 To Express Integrity Constraints Path, Patterns and Instances Paths A path for an XML tree t is defined by a sequence of tags or labels. Our path languages : used to define integrity constraints over XML trees : Path language PL s (defined by ρ ::= l ρ/ρ _). Path language PL (defined by υ ::= [ ] ρ υ//ρ). The language PL s describes a path in t, while PL is a generalization of PL s including "//". A path P is valid if it conforms to the syntax of PL s or PL and for all tag l P, if l = or l Σ att, then l is the last symbol in P. Examples : /// or fac//student/coursetaken/coursecode Mirian Halfeld Ferrari (IT4BI) XML-IC 4 / 23
5 To Express Integrity Constraints Path, Patterns and Instances Path Instances Let I = v 1 /.../v n be a sequence of positions such that each v i is a direct descendant of v i 1 in t. I is an instance of P over t if and only if the sequence t(v 1 )/.../t(v n) L(A P ). A P the finite-state automaton defined according to P. fac // student / coursetaken / coursecode / fac... 0 students 0.0 student id name coursetaken coursetaken coursetaken marriedto coursecode deptname deptname coursecode deptname Peter Smith St001 Maria Caldas C BD 07S2 Computing Math C Theory 07S1 Computing Mirian Halfeld Ferrari (IT4BI) XML-IC 5 / 23
6 To Express Integrity Constraints Path, Patterns and Instances Patterns and pattern instances A pattern is a finite set of prefix-closed paths in a tree t. An instance of a pattern is defined by considering the longest common prefix and an unique instance for it. A set of paths : {fac//student/coursetaken/coursecode, fac//student/coursetaken/deptname})) Common prefix : fac//student/coursetaken fac fac This is not a pattern instance!!... 0 // students student / coursetaken / / 0.0 student... coursecode deptname / / id name coursetaken coursetaken coursetaken marriedto τ C/P,C/Q = [C BD 07S2, Computing] τ C/P,C/Q = [M 1, Math] deptname coursecode deptname coursecode coursecode deptname St001 Maria Caldas C Theory 07S1 Computing M-1 Math C BD 07S2 Computing Peter Smith Mirian Halfeld Ferrari (IT4BI) XML-IC 6 / 23
7 To Express Integrity Constraints Equalities Two types of equality Value equality : two nodes are value equal when they are roots of isomorphic sub-trees. Node equality : two nodes are node equal when they are the same position. ε 0 1 Nodes 0.1 and 1.1 are value equal pname pname Proj1 MSI Proj2 MSI price price 955X Neo 955X Neo ,00 185,00 Mirian Halfeld Ferrari (IT4BI) XML-IC 7 / 23
8 Different Integrity Constraints Functional Dependencies Functional Dependencies in Relational Databases The relational case In a relational base a functional dependency is defined as follows : Let U be the set of attributes of a relation schema R. We usually write R[U]. Let X U and A U. An instance I of R satisfies the functional dependency X A when for all two tuples u and v if u[x] = v[x] then u[a] = v[a] Given X A, we say that X functionally determines A. Consider the functional dependency Name, Year Activity Name Year Activity Mario 2010 theatre Diana 2010 theatre Peter 2010 volleyball Barbara 2011 volleyball Mario 2011 football Mirian Halfeld Ferrari (IT4BI) XML-IC 8 / 23
9 Different Integrity Constraints Functional Dependencies XFD Syntax An XML functional dependency (XFD) is an expression of the form : Notation γ = (C,({P 1 [E 1 ],...,P k [E k ]} Q [E])) C, P 1...P k and Q are path expressions. Path C represents the context for the dependency verification. {P 1,...,P k } are the determinant paths of the XFD. Q is the dependent path. Symbols E 1,...,E k represent the associated equality type. Mirian Halfeld Ferrari (IT4BI) XML-IC 9 / 23
10 Different Integrity Constraints Functional Dependencies XFD Semantics Let XML document T XFD γ = (C, ({P 1 [E 1 ],..., P k [E k ]} Q [E])) Pattern P : {C/P 1,...,C/P k, C/Q} XFD satisfaction T = γ if and only if for all two instances (I 1, I 2 ) of pattern P in T that coincide at least on their prefix C, we have : τ 1 [C/P 1,...,C/P k ] = Ei,i [1...k] τ 2 [C/P 1,...,C/P k ] τ 1 [C/Q] = E τ 2 [C/Q] where τ 1 (resp. τ 2 ) is the tuple obtained from I 1 (resp. I 2 ). Mirian Halfeld Ferrari (IT4BI) XML-IC 10 / 23
11 Different Integrity Constraints Functional Dependencies XFD Example γ 1 : (,( {///@sname[v], ////[V]} ////price[v]) )) ε pname Proj1 MSI [MSI, 955X Neo,185,00] [MSI, K8N,182,90] price quantity price quantity 955X Neo K8N , ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 11 / 23
12 General ideas A general integrity constraint validation method Our goal : integrity constraint validation on XML documents. Our validation method : a grammarware (based on a grammar) describing an XML document to which we associate attributes and semantic rules. Attribute grammar : the grammar is augmented by semantic rules that define, for each integrity constraint, the verification process. Mirian Halfeld Ferrari (IT4BI) XML-IC 12 / 23
13 General ideas Building an attribute grammar Attribute grammar : attach a set of semantic rules to each production of a context-free grammar. General CFG (context free grammar) to describe an XML tree. Rule for the root element : ROOT α 1...α m. Rule for an internal element node : A α 1...α m. Rule for an element containing and for an attribute : A. Mirian Halfeld Ferrari (IT4BI) XML-IC 13 / 23
14 FSA and TSAs for XFD To model the paths of an XFD, we use finite-state automata (FSA) or transducers (FST). γ : (/,( {//@sname[v],///[v]} ///quantity[v]) )) M : e 0 e 1 e 2 T : e 3 e e (V,1) e 6 5 e (V,2) 7 T" : e 8 e 9 e 10 quantity e V 11 Mirian Halfeld Ferrari (IT4BI) XML-IC 14 / 23
15 Attribute Grammar for XFD Validation Descending Direction : Inherited Attribute conf conf is used at each node to indicate its role concerning an XFD its value is a set of FSA configurations all nodes are bound to a conf attribute, except nodes conf is an empty set when the node is not in any XFD path Mirian Halfeld Ferrari (IT4BI) XML-IC 15 / 23
16 Example : Descending direction M : e0 e1 e2 T e3 e4 e6 (V,1) e5 e7 (V,2) quantity T" : e8 e9 e10 e11 V conf = {M.e1} ǫ 0 conf = {M.e2} conf = {} conf = {T.e4, T.e9} pname conf = {T.e5} conf = {T.e6, T.e10} conf = {T.e6, Proj1 MSI conf = {T.e7} conf = {T.e7} price quantity price quantity 955X Neo conf = {} conf = {T.e11} K8N conf = {} conf = {T.e11} , ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 16 / 23
17 Example : Descending direction M : e0 e1 e2 T e3 e4 e5 (V,1) e6 e7 (V,2) quantity T" : e8 e9 e10 e11 V ǫ conf = {M.e1} 0 conf = {M.e2} conf = {} pname conf = {T.e4, T.e9} conf = {T.e5} conf = {T.e6, T.e10} conf = {T.e6, Proj1 MSI conf = {T.e7} 955X Neo price quantity 185,00 conf = {} conf = {T.e11} conf = {T.e7} price quantity K8N conf = {} conf = {T.e11} ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 16 / 23
18 Example : Descending direction M : e0 e1 e2 T e3 e4 e5 (V,1) e6 e7 (V,2) quantity T" : e8 e9 e10 e11 V conf = {M.e1} ǫ 0 conf = {M.e2} conf = {} conf = {T.e4, T.e9} pname conf = {T.e5} conf = {T.e6, T.e10} conf = {T.e6, Proj1 MSI conf = {T.e7} 955X Neo price quantity 185,00 conf = {} conf = {T.e11} conf = {T.e7} price quantity K8N conf = {} conf = {T.e11} ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 16 / 23
19 Example : Descending direction M : e0 e1 e2 T e3 e4 e5 (V,1) e6 e7 (V,2) quantity T" : e8 e9 e10 e11 V ǫ conf = {M.e1} 0 conf = {M.e2} conf = {} conf = {T.e4, T.e9} pname conf = {T.e5} conf = {T.e6, T.e10} conf = {T.e6, Proj1 MSI conf = {T.e7} 955X Neo price quantity 185,00 conf = {} conf = {T.e11} conf = {T.e7} price quantity K8N conf = {} conf = {T.e11} ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 16 / 23
20 Example : Descending direction M : e0 e1 e2 T e3 e4 e5 (V,1) e6 e7 (V,2) quantity T" : e8 e9 e10 e11 V conf = {M.e1} ǫ 0 conf = {M.e2} conf = {} conf = {T.e4, T.e9} pname conf = {T.e5} conf = {T.e6, T.e10} conf = {T.e6, Proj1 MSI conf = {T.e7} 955X Neo price quantity 185,00 conf = {} conf = {T.e11} conf = {T.e7} price quantity K8N conf = {} conf = {T.e11} ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 16 / 23
21 Example : Descending direction M : e0 e1 e2 T e3 e4 e5 (V,1) e6 e7 (V,2) quantity T" : e8 e9 e10 e11 V ǫ conf = {M.e1} 0 conf = {M.e2} conf = {} conf = {T.e4, T.e9} pname conf = {T.e5} conf = {T.e6, T.e10} conf = {T.e6, Proj1 MSI conf = {T.e7} 955X Neo price quantity 185,00 conf = {} conf = {T.e11} conf = {T.e7} price quantity K8N conf = {} conf = {T.e11} ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 16 / 23
22 Example : Descending direction M : e0 e1 e2 T e3 e4 e5 (V,1) e6 e7 (V,2) quantity T" : e8 e9 e10 e11 V conf = {M.e1} ǫ 0 conf = {M.e2} conf = {} conf = {T.e4, T.e9} pname conf = {T.e5} conf = {T.e6, T.e10} conf = {T.e6, Proj1 MSI conf = {T.e7} 955X Neo conf = {T.e7} price quantity price quantity conf = {} conf = {T.e11} K8N conf = {} conf = {T.e11} , ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 16 / 23
23 Just an example of a rule in the attribute grammar Production Attributes ROOT α 1... α m ROOT.conf := { M.q 1 δ M (q 0, ROOT) = q 1 } /* Inherited Attributes */ for each α i (1 i m) do α i.conf := { M.q δ M (q 1,α i ) = q } if (q 1 F M ) then α i.conf := α i.conf { T.q 1 δ T (q 0,α i ) = q 1 } { T.q 1 δ T (q 0,α i ) = q 1 } Mirian Halfeld Ferrari (IT4BI) XML-IC 17 / 23
24 Attribute Grammar for XFD Validation Ascending Direction : Synthesized Attributes c, inters, dc, ds j. c carries the dependency validity (true or false) from context level to the root. inters gathers the values from the nodes that are in determinant and dependent path intersections. ds j and dc store the values needed to verify the dependency. Mirian Halfeld Ferrari (IT4BI) XML-IC 18 / 23
25 Example : Ascending direction Computing synthesized attributes : ǫ c =< true > 0 c =< true > inters = {<< MSI, 955XNeo >, 5 >,<< MSI, K 8N >, 7 >} pname ds1 =< MSI > Proj ds1 =< MSI MSI inters = {<< ǫ, 955XNeo >, 5 >} ds2 =< 955XNeo > dc =< 5 > inters = {<< ǫ, K 8N >, 7 >} ds2 =< K 8N > dc =< 7 > ds2 =< 955XNeo > dc =< 5 > ds2 =< K 8N > dc =< 7 > price quantity price quantity 955X Neo K8N , ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 19 / 23
26 Example : Ascending direction Computing synthesized attributes : c =< true > ǫ 0 c =< true > inters = {<< MSI, 955XNeo >, 5 >,<< MSI, K 8N >, 7 >} pname ds1 =< MSI > Proj ds1 =< MSI MSI inters = {<< ǫ, 955XNeo >, 5 >} ds2 =< 955XNeo > dc =< 5 > inters = {<< ǫ, K 8N >, 7 >} ds2 =< K 8N > dc =< 7 > ds2 =< 955XNeo > dc =< 5 > ds2 =< K 8N > dc =< 7 > price quantity price quantity 955X Neo K8N , ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 19 / 23
27 Example : Ascending direction Computing synthesized attributes : ǫ c =< true > 0 c =< true > inters = {<< MSI, 955XNeo >, 5 >,<< MSI, K 8N >, 7 >} pname ds1 =< MSI > Proj inters = {<< ǫ, 955XNeo >, 5 >} ds1 =< MSI > ds2 =< 955XNeo dc =< 5 > MSI inters = {<< ǫ, K 8N >, 7 >} ds2 =< K 8N > dc =< 7 > ds2 =< 955XNeo > dc =< 5 > ds2 =< K 8N > dc =< 7 > price quantity price quantity 955X Neo K8N , ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 19 / 23
28 Example : Ascending direction Computing synthesized attributes : ǫ c =< true > 0 c =< true > inters = {<< MSI, 955XNeo >, 5 >,<< MSI, K 8N >, 7 >} pname ds1 =< MSI > Proj inters = {<< ǫ, 955XNeo >, 5 >} ds1 =< MSI > ds2 =< 955XNeo dc =< 5 > MSI inters = {<< ǫ, K 8N >, 7 >} ds2 =< K 8N > dc =< 7 > ds2 =< 955XNeo > dc =< 5 > ds2 =< K 8N > dc =< 7 > price quantity price quantity 955X Neo K8N , ,90 7 Mirian Halfeld Ferrari (IT4BI) XML-IC 19 / 23
29 Just an example of a rule in the attribute grammar Production Attributes A /* Synthesized Attributes */ for each configuration M.q in A.conf do if (M = T ) (q F T ) y := λ T (q) j := y.rank if (y.equality = V ) then A.ds j := < value(t, ) > else A.ds j := < value(t, A) > if (M = T ) (q F T ) if (λ T (q) = V ) then A.dc := < value(t, ) > else A.dc := < pos(t, A) > Mirian Halfeld Ferrari (IT4BI) XML-IC 20 / 23
30 XFD Validation Overview xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx XML Document Validation using Attribute Grammar TRUE / FALSE (for each constraint) XFDs InhAtt_Stack SyntAtt_Stack Validation_HTables Auxiliary Data Structures Mirian Halfeld Ferrari (IT4BI) XML-IC 21 / 23
31 XFD Validation Overview : Auxiliary Structures Mirian Halfeld Ferrari (IT4BI) XML-IC 22 / 23
32 Overview of other Integrity constraints Constr. Path expression FSA Attributes XFD (C, ({P 1 [E 1 ],..., P k [E k ]} Q [E])) M, T and T Inherit. : : conf Synth. : c, inters, ds j, dc XID (C,({P 1,...,P k } {Q 1...Q k })) M, T and T Inherit. : : conf Synth. : c, inters, ds j, dc j XKeys (C,(Tg,{P 1,...,P k })) A C, A Tg et A P Inherit. : conf Synth. : c, tg et f XFK (C,(Tg R, {P R 1,...,P R k }) (Tg, {P 1,...,P k })) A C, A R Tg, A R P Inherit : conf Synth. : c, tg et f Mirian Halfeld Ferrari (IT4BI) XML-IC 23 / 23
Conditional functional dependencies validation for XML data: an approach based on attribute grammar
Journal of Applied Computing Research, 3(2):103-117 July-December 2013 2013 by Unisinos - doi: 10.4013/jacr.2013.32.04 Conditional functional dependencies validation for XML data: an approach based on
More informationIncremental Constraint Checking for XML Documents
Incremental Constraint Checking for XML Documents Maria Adriana Abrão 1, Béatrice Bouchou 1, Mírian Halfeld Ferrari 1, Dominique Laurent 2, and Martin A. Musicante 3 1 Université François Rabelais - LI/Antenne
More informationSyntax Analysis Part I
Syntax Analysis Part I Chapter 4: Context-Free Grammars Slides adapted from : Robert van Engelen, Florida State University Position of a Parser in the Compiler Model Source Program Lexical Analyzer Token,
More informationCompiler Design 1. Bottom-UP Parsing. Goutam Biswas. Lect 6
Compiler Design 1 Bottom-UP Parsing Compiler Design 2 The Process The parse tree is built starting from the leaf nodes labeled by the terminals (tokens). The parser tries to discover appropriate reductions,
More informationFinite automata in the mathematical theory of programming
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 1. pp. 91 98. Finite automata in the mathematical theory of programming Valerie Novitzká,
More informationFAdo: Interactive Tools for Learning Formal Computational Models
FAdo: Interactive Tools for Learning Formal Computational Models Rogério Reis Nelma Moreira DCC-FC& LIACC, Universidade do Porto R. do Campo Alegre 823, 4150 Porto, Portugal {rvr,nam}@ncc.up.pt Abstract
More informationEvaluation of Semantic Actions in Predictive Non- Recursive Parsing
Evaluation of Semantic Actions in Predictive Non- Recursive Parsing José L. Fuertes, Aurora Pérez Dept. LSIIS School of Computing. Technical University of Madrid Madrid, Spain Abstract To implement a syntax-directed
More informationMidterm Exam II CIS 341: Foundations of Computer Science II Spring 2006, day section Prof. Marvin K. Nakayama
Midterm Exam II CIS 341: Foundations of Computer Science II Spring 2006, day section Prof. Marvin K. Nakayama Print family (or last) name: Print given (or first) name: I have read and understand all of
More informationXML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9
XML databases Jan Chomicki University at Buffalo Jan Chomicki (University at Buffalo) XML databases 1 / 9 Outline 1 XML data model 2 XPath 3 XQuery Jan Chomicki (University at Buffalo) XML databases 2
More informationMA513: Formal Languages and Automata Theory Topic: Context-free Grammars (CFG) Lecture Number 18 Date: September 12, 2011
MA53: Formal Languages and Automata Theory Topic: Context-free Grammars (CFG) Lecture Number 8 Date: September 2, 20 xercise: Define a context-free grammar that represents (a simplification of) expressions
More informationIntroduction to Syntax Analysis
Compiler Design 1 Introduction to Syntax Analysis Compiler Design 2 Syntax Analysis The syntactic or the structural correctness of a program is checked during the syntax analysis phase of compilation.
More informationCompilers Course Lecture 4: Context Free Grammars
Compilers Course Lecture 4: Context Free Grammars Example: attempt to define simple arithmetic expressions using named regular expressions: num = [0-9]+ sum = expr "+" expr expr = "(" sum ")" num Appears
More informationIncremental Maintenance of Data Warehouses Based on Past Temporal Logic Operators
Journal of Universal Computer Science, vol. 10, no. 9 (2004), 1035-1064 submitted: 15/12/03, accepted: 18/7/04, appeared: 28/9/04 J.UCS Incremental Maintenance of Data Warehouses Based on Past Temporal
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016 Lecture 15 Ana Bove May 23rd 2016 More on Turing machines; Summary of the course. Overview of today s lecture: Recap: PDA, TM Push-down
More informationIntroduction to Syntax Analysis. The Second Phase of Front-End
Compiler Design IIIT Kalyani, WB 1 Introduction to Syntax Analysis The Second Phase of Front-End Compiler Design IIIT Kalyani, WB 2 Syntax Analysis The syntactic or the structural correctness of a program
More information2.2.2.Relational Database concept
Foreign key:- is a field (or collection of fields) in one table that uniquely identifies a row of another table. In simpler words, the foreign key is defined in a second table, but it refers to the primary
More informationHomework. Announcements. Before We Start. Languages. Plan for today. Chomsky Normal Form. Final Exam Dates have been announced
Homework Homework #3 returned Homework #4 due today Homework #5 Pg 169 -- Exercise 4 Pg 183 -- Exercise 4c,e,i Pg 184 -- Exercise 10 Pg 184 -- Exercise 12 Pg 185 -- Exercise 17 Due 10 / 17 Announcements
More informationCourse Project 2 Regular Expressions
Course Project 2 Regular Expressions CSE 30151 Spring 2017 Version of February 16, 2017 In this project, you ll write a regular expression matcher similar to grep, called mere (for match and echo using
More informationPS3 - Comments. Describe precisely the language accepted by this nondeterministic PDA.
University of Virginia - cs3102: Theory of Computation Spring 2010 PS3 - Comments Average: 46.6 (full credit for each question is 55 points) Problem 1: Mystery Language. (Average 8.5 / 10) In Class 7,
More informationSyntax Analysis. Martin Sulzmann. Martin Sulzmann Syntax Analysis 1 / 38
Syntax Analysis Martin Sulzmann Martin Sulzmann Syntax Analysis 1 / 38 Syntax Analysis Objective Recognize individual tokens as sentences of a language (beyond regular languages). Example 1 (OK) Program
More informationRealizability Analysis of Top-down Web Service Composition Specifications. Xiang Fu
ealizability Analysis 1 unning head: EALIZABILITY ANALYSIS ealizability Analysis of Top-down Web Service Composition Specifications Xiang Fu School of Computer and Information Sciences, Georgia Southwestern
More informationWeb Science & Technologies University of Koblenz Landau, Germany. Relational Data Model
Web Science & Technologies University of Koblenz Landau, Germany Relational Data Model Overview Relational data model; Tuples and relations; Schemas and instances; Named vs. unnamed perspective; Relational
More informationIntroduction to Lexing and Parsing
Introduction to Lexing and Parsing ECE 351: Compilers Jon Eyolfson University of Waterloo June 18, 2012 1 Riddle Me This, Riddle Me That What is a compiler? 1 Riddle Me This, Riddle Me That What is a compiler?
More informationContext-Free Languages & Grammars (CFLs & CFGs) Reading: Chapter 5
Context-Free Languages & Grammars (CFLs & CFGs) Reading: Chapter 5 1 Not all languages are regular So what happens to the languages which are not regular? Can we still come up with a language recognizer?
More informationDefining Languages GMU
Defining Languages CS463 @ GMU How do we discuss languages? We might focus on these qualities: readability: how well does a language explicitly and clearly describe its purpose? writability: how expressive
More informationTowards the Preservation of Referential Constraints in XML Data Transformation for Integration
Towards the Preservation of Referential Constraints in XML Data Transformation for Integration Md. Sumon Shahriar and Jixue Liu Data and Web Engineering Lab School of Computer and Information Science University
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 11 Ana Bove April 26th 2018 Recap: Regular Languages Decision properties of RL: Is it empty? Does it contain this word? Contains
More informationCS Lecture 2. The Front End. Lecture 2 Lexical Analysis
CS 1622 Lecture 2 Lexical Analysis CS 1622 Lecture 2 1 Lecture 2 Review of last lecture and finish up overview The first compiler phase: lexical analysis Reading: Chapter 2 in text (by 1/18) CS 1622 Lecture
More informationSemantic Integrity Constraint Checking for Multiple XML Databases
Semantic Integrity Constraint Checking for Multiple XML Databases Praveen Madiraju, Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta GA 30302 {cscpnmx,raj}@cs.gsu.edu
More informationBuilding Compilers with Phoenix
Building Compilers with Phoenix Syntax-Directed Translation Structure of a Compiler Character Stream Intermediate Representation Lexical Analyzer Machine-Independent Optimizer token stream Intermediate
More informationDatabase Theory VU , SS Introduction: Relational Query Languages. Reinhard Pichler
Database Theory Database Theory VU 181.140, SS 2018 1. Introduction: Relational Query Languages Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 6 March,
More informationXML Research for Formal Language Theorists
XML Research for Formal Language Theorists Wim Martens TU Dortmund Wim Martens (TU Dortmund) XML for Formal Language Theorists May 14, 2008 1 / 65 Goal of this talk XML Research vs Formal Languages Wim
More informationFormal languages and computation models
Formal languages and computation models Guy Perrier Bibliography John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman - Introduction to Automata Theory, Languages, and Computation - Addison Wesley, 2006.
More informationContext Free Languages and Pushdown Automata
Context Free Languages and Pushdown Automata COMP2600 Formal Methods for Software Engineering Ranald Clouston Australian National University Semester 2, 2013 COMP 2600 Context Free Languages and Pushdown
More informationChapter 14: Pushdown Automata
Chapter 14: Pushdown Automata Peter Cappello Department of Computer Science University of California, Santa Barbara Santa Barbara, CA 93106 cappello@cs.ucsb.edu The corresponding textbook chapter should
More informationSubstitution in Structural Operational Semantics and value-passing process calculi
Substitution in Structural Operational Semantics and value-passing process calculi Sam Staton Computer Laboratory University of Cambridge Abstract Consider a process calculus that allows agents to communicate
More informationCSE 344 JANUARY 26 TH DATALOG
CSE 344 JANUARY 26 TH DATALOG ADMINISTRATIVE MINUTIAE HW3 and OQ3 out HW3 due next Friday OQ3 due next Wednesday HW4 out next week: on Datalog Midterm reminder: Feb 9 th RELATIONAL ALGEBRA Set-at-a-time
More informationClosure Properties of CFLs; Introducing TMs. CS154 Chris Pollett Apr 9, 2007.
Closure Properties of CFLs; Introducing TMs CS154 Chris Pollett Apr 9, 2007. Outline Closure Properties of Context Free Languages Algorithms for CFLs Introducing Turing Machines Closure Properties of CFL
More informationLexical and Syntax Analysis. Bottom-Up Parsing
Lexical and Syntax Analysis Bottom-Up Parsing Parsing There are two ways to construct derivation of a grammar. Top-Down: begin with start symbol; repeatedly replace an instance of a production s LHS with
More informationDerivations of a CFG. MACM 300 Formal Languages and Automata. Context-free Grammars. Derivations and parse trees
Derivations of a CFG MACM 300 Formal Languages and Automata Anoop Sarkar http://www.cs.sfu.ca/~anoop strings grow on trees strings grow on Noun strings grow Object strings Verb Object Noun Verb Object
More informationTheory Bridge Exam Example Questions Version of June 6, 2008
Theory Bridge Exam Example Questions Version of June 6, 2008 This is a collection of sample theory bridge exam questions. This is just to get some idea of the format of the bridge exam and the level of
More informationWEEK 3. EE562 Slides and Modified Slides from Database Management Systems, R.Ramakrishnan 1
WEEK 3 EE562 Slides and Modified Slides from Database Management Systems, R.Ramakrishnan 1 Find names of parts supplied by supplier S1 (Book Notation) (using JOIN) SP JOIN P WHERE S# = S1 {PNAME} (SP WHERE
More informationCOP 3402 Systems Software Syntax Analysis (Parser)
COP 3402 Systems Software Syntax Analysis (Parser) Syntax Analysis 1 Outline 1. Definition of Parsing 2. Context Free Grammars 3. Ambiguous/Unambiguous Grammars Syntax Analysis 2 Lexical and Syntax Analysis
More informationIntroduction to Lexical Analysis
Introduction to Lexical Analysis Outline Informal sketch of lexical analysis Identifies tokens in input string Issues in lexical analysis Lookahead Ambiguities Specifying lexical analyzers (lexers) Regular
More informationNested Words. A model of linear and hierarchical structure in data. Examples of such data
Nested Words A model of linear and hierarchical structure in data. s o m e w o r d Examples of such data Executions of procedural programs Marked-up languages such as XML Annotated linguistic data Example:
More informationDefining syntax using CFGs
Defining syntax using CFGs Roadmap Last time Defined context-free grammar This time CFGs for specifying a language s syntax Language membership List grammars Resolving ambiguity CFG Review G = (N,Σ,P,S)
More informationAn Algorithm for Transformation of Finite Automata to Regular Expressions
INFORMATICA, 2000, Vol. 11, No. 1, 65 70 65 2000 Institute of Mathematics and Informatics, Vilnius An Algorithm for Transformation of Finite Automata to Regular Expressions Larisa STANEVICHENE, Aleksei
More information3. Syntax Analysis. Andrea Polini. Formal Languages and Compilers Master in Computer Science University of Camerino
3. Syntax Analysis Andrea Polini Formal Languages and Compilers Master in Computer Science University of Camerino (Formal Languages and Compilers) 3. Syntax Analysis CS@UNICAM 1 / 54 Syntax Analysis: the
More informationPrices and Auctions in Markets with Complex Constraints
Conference on Frontiers of Economics and Computer Science Becker-Friedman Institute Prices and Auctions in Markets with Complex Constraints Paul Milgrom Stanford University & Auctionomics August 2016 1
More informationRegular Languages (14 points) Solution: Problem 1 (6 points) Minimize the following automaton M. Show that the resulting DFA is minimal.
Regular Languages (14 points) Problem 1 (6 points) inimize the following automaton Show that the resulting DFA is minimal. Solution: We apply the State Reduction by Set Partitioning algorithm (särskiljandealgoritmen)
More information1. [5 points each] True or False. If the question is currently open, write O or Open.
University of Nevada, Las Vegas Computer Science 456/656 Spring 2018 Practice for the Final on May 9, 2018 The entire examination is 775 points. The real final will be much shorter. Name: No books, notes,
More informationViola: A Verifier For Interoperating Components
Viola: A Verifier For Interoperating Components Mark Grechanik The University of Texas at Austin, Austin TX 78729, USA, gmark@cs.utexas.edu Abstract. Two or more components (e.g., objects, modules, or
More informationPlan of the lecture. G53RDB: Theory of Relational Databases Lecture 1. Textbook. Practicalities: assessment. Aims and objectives of the course
Plan of the lecture G53RDB: Theory of Relational Databases Lecture 1 Practicalities Aims and objectives of the course Plan of the course Relational model: what are relations, some terminology Relational
More informationRemoving XML Data Redundancies Using Functional and Equality-Generating Dependencies
Removing XML Data Redundancies Using Functional and Equality-Generating Dependencies Junhu Wang 1 Rodney Topor 2 1 INT, Griffith University, Gold Coast, Australia J.Wang@griffith.edu.au 2 CIT, Griffith
More informationLimited Automata and Unary Languages
Limited Automata and Unary Languages Giovanni Pighizzini and Luca Prigioniero Dipartimento di Informatica, Università degli Studi di Milano, Italy {pighizzini,prigioniero}@di.unimi.it Abstract. Limited
More informationElement Algebra. 1 Introduction. M. G. Manukyan
Element Algebra M. G. Manukyan Yerevan State University Yerevan, 0025 mgm@ysu.am Abstract. An element algebra supporting the element calculus is proposed. The input and output of our algebra are xdm-elements.
More informationΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών
ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών Lecture 5b Syntax Analysis Elias Athanasopoulos eliasathan@cs.ucy.ac.cy Regular Expressions vs Context-Free Grammars Grammar for the regular expression (a b)*abb
More informationA Characterization of the Chomsky Hierarchy by String Turing Machines
A Characterization of the Chomsky Hierarchy by String Turing Machines Hans W. Lang University of Applied Sciences, Flensburg, Germany Abstract A string Turing machine is a variant of a Turing machine designed
More informationLexical Analysis. Introduction
Lexical Analysis Introduction Copyright 2015, Pedro C. Diniz, all rights reserved. Students enrolled in the Compilers class at the University of Southern California have explicit permission to make copies
More informationData integration lecture 2
PhD course on View-based query processing Data integration lecture 2 Riccardo Rosati Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza {rosati}@dis.uniroma1.it Corso di Dottorato
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design
i About the Tutorial A compiler translates the codes written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target
More informationTheoretical Part. Chapter one:- - What are the Phases of compiler? Answer:
Theoretical Part Chapter one:- - What are the Phases of compiler? Six phases Scanner Parser Semantic Analyzer Source code optimizer Code generator Target Code Optimizer Three auxiliary components Literal
More informationCIS 330: Applied Database Systems. ER to Relational Relational Algebra
CIS 330: Applied Database Systems ER to Relational Relational Algebra 1 Logical DB Design: ER to Relational Entity sets to tables: ssn name Employees lot CREATE TABLE Employees (ssn CHAR(11), name CHAR(20),
More informationCOSC 122 Computer Fluency. Databases. Dr. Ramon Lawrence University of British Columbia Okanagan
COSC 122 Computer Fluency Databases Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) Databases allow for easy storage and retrieval of large amounts of information.
More informationAn Analysis of Approaches to XML Schema Inference
An Analysis of Approaches to XML Schema Inference Irena Mlynkova irena.mlynkova@mff.cuni.cz Charles University Faculty of Mathematics and Physics Department of Software Engineering Prague, Czech Republic
More informationRelational Algebra. Procedural language Six basic operators
Relational algebra Relational Algebra Procedural language Six basic operators select: σ project: union: set difference: Cartesian product: x rename: ρ The operators take one or two relations as inputs
More informationSpecifying Syntax COMP360
Specifying Syntax COMP360 The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking
More informationUNIT -2 LEXICAL ANALYSIS
OVER VIEW OF LEXICAL ANALYSIS UNIT -2 LEXICAL ANALYSIS o To identify the tokens we need some method of describing the possible tokens that can appear in the input stream. For this purpose we introduce
More informationIntroduction to Parsing. Lecture 8
Introduction to Parsing Lecture 8 Adapted from slides by G. Necula Outline Limitations of regular languages Parser overview Context-free grammars (CFG s) Derivations Languages and Automata Formal languages
More informationLecture Query evaluation. Combining operators. Logical query optimization. By Marina Barsky Winter 2016, University of Toronto
Lecture 02.03. Query evaluation Combining operators. Logical query optimization By Marina Barsky Winter 2016, University of Toronto Quick recap: Relational Algebra Operators Core operators: Selection σ
More informationOn the Recognizability of Arrow and Graph Languages
On the Recognizability of Arrow and Graph Languages Christoph Blume Sander Bruggink Barbara König Universität Duisburg-Essen, Germany Background Applications of finite automata and regular (word) languages
More informationThe SQL data-definition language (DDL) allows defining :
Introduction to SQL Introduction to SQL Overview of the SQL Query Language Data Definition Basic Query Structure Additional Basic Operations Set Operations Null Values Aggregate Functions Nested Subqueries
More informationGreedy regular expression matching
Greedy regular expression matching Alain Frisch (ENS Paris) Luca Cardelli (MSR Cambridge) PLAN-X 2004 p.1/16 The matching problem Problem = project the structure of a regular expression on a flat sequence.
More informationCPS 216 Spring 2003 Homework #1 Assigned: Wednesday, January 22 Due: Monday, February 10
CPS 216 Spring 2003 Homework #1 Assigned: Wednesday, January 22 Due: Monday, February 10 Note: This is a long homework. Start early! If you have already taken CPS 196.3 or an equivalent undergraduate course
More informationDatabase Theory VU , SS Introduction: Relational Query Languages. Reinhard Pichler
Database Theory Database Theory VU 181.140, SS 2011 1. Introduction: Relational Query Languages Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 8 March,
More informationSQL - Data Query language
SQL - Data Query language Eduardo J Ruiz October 20, 2009 1 Basic Structure The simple structure for a SQL query is the following: select a1...an from t1... tr where C Where t 1... t r is a list of relations
More informationContext-Free Languages and Parse Trees
Context-Free Languages and Parse Trees Mridul Aanjaneya Stanford University July 12, 2012 Mridul Aanjaneya Automata Theory 1/ 41 Context-Free Grammars A context-free grammar is a notation for describing
More information6. Relational Algebra (Part II)
6. Relational Algebra (Part II) 6.1. Introduction In the previous chapter, we introduced relational algebra as a fundamental model of relational database manipulation. In particular, we defined and discussed
More informationAn Initial Approach to Explaining SLA Inconsistencies
An Initial Approach to Explaining SLA Inconsistencies Carlos Müller, Antonio Ruiz-Cortés, Manuel Resinas Dpto. Lenguajes y Sistemas Informáticos ETS. Ingeniería Informática - Universidad de Sevilla (Spain
More informationCompilers and computer architecture From strings to ASTs (2): context free grammars
1 / 1 Compilers and computer architecture From strings to ASTs (2): context free grammars Martin Berger October 2018 Recall the function of compilers 2 / 1 3 / 1 Recall we are discussing parsing Source
More informationReducing Clocks in Timed Automata while Preserving Bisimulation
Reducing Clocks in Timed Automata while Preserving Bisimulation Shibashis Guha Chinmay Narayan S. Arun-Kumar Indian Institute of Technology Delhi {shibashis, chinmay, sak}@cse.iitd.ac.in arxiv:1404.6613v2
More informationProgramming Assignment in Semantics of Programming Languages
Programming Assignment in Semantics of Programming Languages The programming assignment ( lab ) is to implement a byte code interpreter and verifier for a simple object oriented byte code language which
More informationStreaming Tree Transducers
Streaming Tree Transducers Rajeev Alur and Loris D Antoni University of Pennsylvania Abstract. Theory of tree transducers provides a foundation for understanding expressiveness and complexity of analysis
More informationTyped Lambda Calculus for Syntacticians
Department of Linguistics Ohio State University January 12, 2012 The Two Sides of Typed Lambda Calculus A typed lambda calculus (TLC) can be viewed in two complementary ways: model-theoretically, as a
More informationTyped Lambda Calculus
Department of Linguistics Ohio State University Sept. 8, 2016 The Two Sides of A typed lambda calculus (TLC) can be viewed in two complementary ways: model-theoretically, as a system of notation for functions
More informationStatic Analysis and Verification in Databases. Victor Vianu U.C. San Diego
Static Analysis and Verification in Databases Victor Vianu U.C. San Diego What is it? Reasoning about queries and applications to guarantee correctness good performance Important to experts... SQL queries
More informationUniversity of Nevada, Las Vegas Computer Science 456/656 Fall 2016
University of Nevada, Las Vegas Computer Science 456/656 Fall 2016 The entire examination is 925 points. The real final will be much shorter. Name: No books, notes, scratch paper, or calculators. Use pen
More informationOutline. Limitations of regular languages. Introduction to Parsing. Parser overview. Context-free grammars (CFG s)
Outline Limitations of regular languages Introduction to Parsing Parser overview Lecture 8 Adapted from slides by G. Necula Context-free grammars (CFG s) Derivations Languages and Automata Formal languages
More informationSemantical Characterization of unbounded-nondeterministic ASMs
Semantical Characterization of unbounded-nondeterministic ASMs Berlin, 26/27 Feb 2007 Andreas Glausch Humboldt-Universität zu Berlin Department of Computer Science Abstract State Machines (ASMs) state
More informationGrammars and Parsing. Paul Klint. Grammars and Parsing
Paul Klint Grammars and Languages are one of the most established areas of Natural Language Processing and Computer Science 2 N. Chomsky, Aspects of the theory of syntax, 1965 3 A Language...... is a (possibly
More informationRegular Path Queries on Graphs with Data
Regular Path Queries on Graphs with Data Leonid Libkin Domagoj Vrgoč ABSTRACT Graph data models received much attention lately due to applications in social networks, semantic web, biological databases
More informationStatic type safety guarantees for the operators of a relational database querying system. Cédric Lavanchy
Static type safety guarantees for the operators of a relational database querying system Cédric Lavanchy June 6, 2008 Contents 1 Previous work 2 2 Goal 3 3 Theory bases 4 3.1 Typing a relation...........................
More informationRelational Model and Relational Algebra A Short Review Class Notes - CS582-01
Relational Model and Relational Algebra A Short Review Class Notes - CS582-01 Tran Cao Son January 12, 2002 0.1 Basics The following definitions are from the book [1] Relational Model. Relations are tables
More information1. The Relational Model
1. The Relational Model Stéphane Bressan January 22, 2015 This lecture is based on material by Professor Ling Tok Wang. CS 4221: Database Design The Relational Model Ling Tok Wang National University of
More informationLanguages and Compilers
Principles of Software Engineering and Operational Systems Languages and Compilers SDAGE: Level I 2012-13 3. Formal Languages, Grammars and Automata Dr Valery Adzhiev vadzhiev@bournemouth.ac.uk Office:
More informationA new generation of tools for SGML
Article A new generation of tools for SGML R. W. Matzen Oklahoma State University Department of Computer Science EMAIL rmatzen@acm.org Exceptions are used in many standard DTDs, including HTML, because
More informationApplications of Tree Automata Theory Lecture I: Tree Automata
Applications of Tree Automata Theory Lecture I: Tree Automata Andreas Maletti Institute of Computer Science Universität Leipzig, Germany on leave from: Institute for Natural Language Processing Universität
More informationCS 321 Programming Languages and Compilers. VI. Parsing
CS 321 Programming Languages and Compilers VI. Parsing Parsing Calculate grammatical structure of program, like diagramming sentences, where: Tokens = words Programs = sentences For further information,
More informationMidterm Exam. CSCI 3136: Principles of Programming Languages. February 20, Group 2
Banner number: Name: Midterm Exam CSCI 336: Principles of Programming Languages February 2, 23 Group Group 2 Group 3 Question. Question 2. Question 3. Question.2 Question 2.2 Question 3.2 Question.3 Question
More informationSyntax Analysis. Prof. James L. Frankel Harvard University. Version of 6:43 PM 6-Feb-2018 Copyright 2018, 2015 James L. Frankel. All rights reserved.
Syntax Analysis Prof. James L. Frankel Harvard University Version of 6:43 PM 6-Feb-2018 Copyright 2018, 2015 James L. Frankel. All rights reserved. Context-Free Grammar (CFG) terminals non-terminals start
More information