Dynamic Web data : a process algebraic approach

Peer to peer systems, exchanging dynamic documents through Web services, are a simple and effective platform for data integration on the internet. Dynamic documents can contain both data and references to external sources in the form of links, calls to web services, or coordination scripts. XML standards, and industrial platforms for web services, provide the technological basis for building such systems. We argue that process algebras are a promising tool for studying and understanding their formal properties. In this thesis, we define the Xdπ-calculus with the aim of reasoning about dynamic Web data. Xdπ terms represent networks of peers, each consisting of an XML data repository and a working space where processes are allowed to run. Processes, inspired by the π-calculus, can communicate with each other, query and update the local repository, or migrate to other peers to continue execution. Data can contain scripted processes, which can be executed by other processes. For example, Xdπ processes can be used to embed service calls in documents and to model Web services. We investigate behavioural equivalences for Xdπ, comparing several observable properties, such as the shape of data trees and the communication actions attempted by processes. To simplify reasoning on equivalences, we introduce Core Xdπ, a calculus which is semantically equivalent to Xdπ, but where processes are located explicitly and are separated from the data repository. To help proving equivalences, which require a costly property of closure under contexts, we define a coinductive relation (called domain bisimilarity) which does not quantify over contexts and which entails process equivalence. Its definition is non-standard, because scripts are part of the values, and process equivalences are sensitive to the set of locations constituting the network. We apply bisimilarity to study some communication patterns used by servers in distributed query systems, and we propose a new pattern involving mobile code. Declaration about conjoint work The composition of the thesis is entirely my own. The Xdπ model and the behavioural equivalences as presented in this thesis, are a revised and extended version of the ones presented in earlier work done in collaboration with my supervisor Philippa Gardner. The technical development of the behavioural equivalences is mostly my own. The design of Core Xdπ is inspired by previous work on polyadic synchronization done in collaboration with Marco Carbone.

[1]  Thomas Kistler,et al.  WebL - A Programming Language for the Web , 1998, Comput. Networks.

[2]  Philippa Gardner,et al.  Behavioural equivalences for dynamic Web data , 2008, J. Log. Algebraic Methods Program..

[3]  Martin Berger,et al.  The Two-Phase Commitment Protocol in an Extended pi-Calculus , 2003, EXPRESS.

[4]  Davide Sangiorgi,et al.  Typing and subtyping for mobile processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[5]  Giuseppe Castagna,et al.  CDuce: an XML-centric general-purpose language , 2003, ICFP '03.

[6]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[7]  Philippa Gardner,et al.  Modelling dynamic web data , 2003, Theor. Comput. Sci..

[8]  George C. Necula,et al.  Safe, Untrusted Agents Using Proof-Carrying Code , 1998, Mobile Agents and Security.

[9]  Roberto Bruni,et al.  Orchestrating Transactions in Join Calculus , 2002, CONCUR.

[10]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[11]  Davide Sangiorgi,et al.  A Theory of Bisimulation for the pi-Calculus , 1993, CONCUR.

[12]  Vladimiro Sassone,et al.  A Calculus of Mobile Resources , 2002, CONCUR.

[13]  Sergio Maffeis,et al.  On the Expressive Power of Polyadic Synchronisation in pi-calculus , 2002, EXPRESS.

[14]  Matthew Hennessy,et al.  A Theory of System Behaviour in the Presence of Node and Link Failures , 2005, CONCUR.

[15]  Daniele Varacca,et al.  Semantic subtyping for the pi-calculus , 2008, Theor. Comput. Sci..

[16]  Andrew D. Gordon,et al.  Validating a web service security abstraction by typing , 2002, XMLSEC '02.

[17]  Ioana Manolescu,et al.  Active XML: A Data-Centric Perspective on Web Services , 2004, Web Dynamics.

[18]  Martín Abadi,et al.  A calculus for cryptographic protocols: the spi calculus , 1997, CCS '97.

[19]  Luca Cardelli,et al.  A Query Language Based on the Ambient Logic , 2001, SEBD.

[20]  Claus Brabrand,et al.  The bigwig Project , 2000 .

[21]  Cédric Fournet,et al.  The reflexive CHAM and the join-calculus , 1996, POPL '96.

[22]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[23]  Donald Kossmann,et al.  The state of the art in distributed query processing , 2000, CSUR.

[24]  Luca Cardelli,et al.  Service Combinators for Web Computing , 1999, DSL.

[25]  Julian Rathke,et al.  Towards a behavioural theory of access and mobility control in distributed systems , 2004, Theor. Comput. Sci..

[26]  Arnaud Sahuguet,et al.  Distributed Query Optimization : Can Mobile Agents Help ? , 2000 .

[27]  Jan Vitek,et al.  Seal: A Framework for Secure Mobile Computations , 1998, ICCL Workshop: Internet Programming Languages.

[28]  Alfons Kemper,et al.  Hyperqueries: Dynamic Distributed Query Processing on the Internet , 2001, VLDB.

[29]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[30]  Arnaud Sahuguet,et al.  ubQL, a Language for Programming Distributed Query Systems , 2001, WebDB.

[31]  Cosimo Laneve,et al.  PiDuce: A Process Calculus with Native XML Datatypes , 2005, EPEW/WS-FM.

[32]  Nobuko Yoshida,et al.  On Reduction-Based Process Semantics , 1995, Theor. Comput. Sci..

[33]  Dan Suciu,et al.  Data on the Web: From Relations to Semistructured Data and XML , 1999 .

[34]  R. Bone Discovery , 1938, Nature.

[35]  Benjamin C. Pierce,et al.  XDuce: A statically typed XML processing language , 2003, TOIT.

[36]  Andrea Ferrara,et al.  Web services: a process algebra approach , 2004, ICSOC '04.

[37]  Peter Sewell,et al.  Iota: A concurrent XML scripting language with applications to Home Area Networking , 2003 .

[38]  James Riely,et al.  Resource Access Control in Systems of Mobile Agents , 2002, HLCL.

[39]  Julian Rathke,et al.  safeDpi: a language for controlling mobile code , 2005, Acta Informatica.

[40]  Alfons Kemper,et al.  ObjectGlobe: Ubiquitous query processing on the Internet , 2001, The VLDB Journal.

[41]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[42]  Stefano Ceri,et al.  Comparative analysis of five XML query languages , 1999, SGMD.

[43]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[44]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[45]  Simon L. Peyton Jones,et al.  Template meta-programming for Haskell , 2002, Haskell '02.

[46]  Martín Abadi,et al.  Mobile values, new names, and secure communication , 2001, POPL '01.

[47]  Matthew Hennessy,et al.  A theory of weak bisimulation for core CML , 1996, ICFP '96.

[48]  Matthias Felleisen,et al.  Modeling Web Interactions , 2003, ESOP.

[49]  Peter Sewell,et al.  Nomadic pict: correct communication infrastructure for mobile computation , 2001, POPL '01.

[50]  Davide Sangiorgi,et al.  Behavioral equivalence in the polymorphic pi-calculus , 2000, JACM.

[51]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .

[52]  Lucia Acciai,et al.  XPi: A typed process calculus for XML messaging , 2008, Sci. Comput. Program..

[53]  Cosimo Laneve,et al.  Foundations of Web Transactions , 2005, FoSSaCS.

[54]  David Maier,et al.  Mutant Query Plans , 2002, Inf. Softw. Technol..

[55]  Bent Thomsen,et al.  A calculus of higher order communicating systems , 1989, POPL '89.

[56]  Arnaud Sahuguet,et al.  Ubql: a distributed query language to program distributed query systems , 2002 .

[57]  Andrew D. Gordon,et al.  A type discipline for authorization policies , 2005, TOPL.

[58]  Andrew M. Pitts,et al.  A New Approach to Abstract Syntax with Variable Binding , 2002, Formal Aspects of Computing.

[59]  Murdoch J. Gabbay The π-Calculus in FM , 2003 .

[60]  Sergio Maffeis,et al.  Sequence Types for the pi-calculus , 2005, ITRS.

[61]  Julian Rathke,et al.  Contextual equivalence for higher-order pi-calculus revisited , 2005, Log. Methods Comput. Sci..

[62]  Nobuko Yoshida,et al.  Channel dependent types for higher-order mobile processes , 2004, POPL.

[63]  Martin Friedrich Berger Towards abstractions for distributed systems , 2003 .

[64]  Sergio Maffeis,et al.  Process Calculi and Peer-to-peer Web Data Integration , 2006, APC 25.

[65]  Cédric Fournet,et al.  A hierarchy of equivalences for asynchronous calculi , 1998, J. Log. Algebraic Methods Program..

[66]  Serge Abiteboul,et al.  Exchanging intensional XML data , 2003, TODS.

[67]  Dan Suciu,et al.  Dynamically distributed query evaluation , 2001, PODS.

[68]  Dan Suciu,et al.  Foundations of Semistructured Data , 2001 .

[69]  Alfons Kemper,et al.  ServiceGlobe: Distributing E-Services Across the Internet , 2002, VLDB.