[5-25]Typed iterators for XML
Date:2010-05-24
Title: Typed iterators for XML
Speaker: Giuseppe Castagna, PPS Laboratory, Université Paris 7
Time: 3:30pm, Tuesday May 25
Venue: Lecture room, State Key Laboratory of Computer Science, Level 3 Building #5, Institute of Software, CAS
Abstract
joint work with Kim Nguyen
XML transformations are very sensitive to types: XML types describe the tags and attributes of XML elements as well as the number, kind, and order of their sub-elements. Therefore, even very basic operations such as changing a tag, renaming an attribute, or adding an element generally imply conspicuous changes from the type of the input to the type of the output. Such operations are applied on XML documents by iterators that, to be useful, need to be typed by some kind of polymorphism that goes beyond what currently exists.
For this reason these iterators are not programmed but, rather, hard-coded in the language. However, this approach soon reaches its limits, as the hard-coded iterators cannot cover fairly standard usage scenarios.
As a solution to this problem we propose a generic language to define iterators for XML data to be grafted on some host programming language. We show that our language mostly offers the required degree of polymorphism, study its formal properties, and show its expressiveness and practical impact by providing several usage examples and encodings.
Bio:
Former founder and head of the “Programming Languages” group in École Normale Supérieure, since fall 2006 Giuseppe Castagna has CNRS Senior Researcher position in the PPS Laboratory in University Paris 7. Secretary of AFIF (Association Française d'Informatique Fondamentale: French chapter of EATCS), member of the Conseil National des Universités (1999-2003), member of recruiting committees, reviewer for the Italian Ministry of Scientific Research and the Natural Sciences and Engineering Research Council of Canada, member of the advisory board of a European project, reviewer for several French national research organisations.
Coeditor of several journal special issues (Information and Computation, Theoretical Computer Science, Logical Methods in Computer Science) of proceedings (ESOP'09, PLANX'06), author of a book (Birkhäuser - Boston - 379 page) of two book chapters and of nearly 80 refereed articles.
More than 3000 citations recorded, excluding self-citations h-index = 25 : 25 publications with at least 25 citations each; g-index = 51 : the most cited 51 publications have at least 2601 (=51^2) citations.
Joint keynote speaker of ICALP 2005 and ACM PPDP 2005; joint invited speaker of DBPL 2005 and XSym 2005 (and of further 7 international conferences). Chair or member of over 30 program, organisation, or steering committees of international events among which the reference events of different research areas: programming languages (POPL, ESOP, FoSSaCS), object-oriented languages (ECOOP), concurrency theory (CONCUR), XML language technologies (PLAN-X).
Developpement: principal investigator and responsible of the programming language CDuce (distribution available for Windows, Mac OSX on www.cduce.org et included in all main Linux distributions: Debian, Fedora, Mandriva, Ubuntu).
Several areas of research. Main contributions in the following domains: (1) object-oriented languages (typing of multi-methods, covariance and contravariance), (2) concurrent mobile calculi (Seal Calculus, Boxed Ambients), (3) transformation languages for XML documents (semantic subtyping, CDuce programming language), (4) foundation of web-services (“theory of contracts”, foundation of session types). Contributions to dependent type theory, module systems, language-level security, bioinformatics, definition and optimization of queries languages for native XML databases.