Logo
PARTICIPANTS
SCHEDULE
REPORTS
MAILING LIST
HACKERS' GUIDE
HOME
 

Santiago M. Pericas-Geertsen

XML-Fluent Mobile Ambients

PhD thesis, Boston University, 2001


The Internet is considered to be among the greatest inventions of the twentieth century. Despite its immense importance we, programming language designers, have yet to propose a programming language that can exploit a network that spans the entire globe. In this thesis, we introduce a language for a programming model based on XML-speaking mobile agents. The thesis is divided into three parts: the first part defines the mobility aspect of the language, the second part introduces a typed calculus for manipulating XML documents, and the third part proposes a way of integrating these two calculi. The final goal is to design a typed language in which computation can be carried out by mobile agents exchanging data in the form of XML documents. The Ambient Calculus was developed by Cardelli and Gordon as a formal framework to study issues of mobility and migrant. In Part I, we consider an extension to the Ambient Calculus where ambients are equipped with a set of local channels over which processes can communicate. This extension incorporates certain features from the Pi-Calculus, such as the ability to communicate over higher-order channels, but without violating design principles of the Ambient Calculus (e.g., that two processes are unable to communicate if located in different administrative domains). For the extended calculus, we introduce an appropriate operational semantics and a provably sound type system. We conclude this part by showing an encoding of the Ambient Calculus into our calculus that is both semantics preserving and type preserving. XML is a simple and portable way of representing structured data in the form of trees. It is an ideal language for machine-to-machine (or peer-to-peer) exchange of data because (i) it is portable, so there is no need to worry about things like integer representations (big endian vs. little endian) or string representations (null terminated vs. fixed length) and (ii) structured data is easily represented in the form of trees. Interestingly, the ability of XML to represent almost any form of structured data is often an important weakness at the same time: for a data exchange to be successful, a producer and a consumer must agree on the structure of the exchanged documents so that the latter can find/extract what it needs. This problem can be addressed by the use of a type system. A type system is needed in order to keep track of the meta-data (i.e. data about the data) which can be used by a consumer as a guideline for data extraction. A number of type systems for XML have been proposed in recent years. Perhaps surprisingly, specially if we look at the evolution of programming languages, the use of a type system in XML (as well as in languages for manipulating XML documents) is not mandatory. Domain-specific languages for XML proposed in the last few years are all, with the exception of XDuce, dynamically typed. Experience has showed us that statically-typed languages are better suited for real-world applications than dynamically-typed ones. Despite requiring more from the programmer's perspective (at least in the absence of a type-inference engine) the benefits greatly outcast the requirements. Specifically, the use of a statically-typed language ensures that the final product is free of an important number of errors (so-called type errors). In Part II, we present the dlcalculus, a statically-typed calculus for manipulating XML documents, and show how it can be integrated with existing XML technology by means of two algorithms for importing and exporting documents into the calculus.


[ bib | .ps | .pdf ]

Back


This file has been generated by bibtex2html 1.61

Copyright notice: The documents contained in these pages are included by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

If you experience problems downloading any of the files above, it is most likely because your browser does not handle compressed files correctly.

In particular, Netscape might save the file in the compressed gz-format with extension .ps or .pdf (indicating postscript or PDF, resp.). You can work around this by saving the file, renaming it to .ps.gz or .pdf.gz, and then uncrompress it.
 

This page is maintained by Peter Møller Neergaard. Autogenerated on Saturday July 26 2008.