Section: New Results
Specific studies: Active XML documents
Participants : Albert Benveniste, Loïc Hélouët, Blaise Genest, Debmalya Biswas [ PhD ] .
The language Active XML or AXML is an extension of XML which allows to enrich documents with service calls or sc's for short. These sc's point to web services that, when triggered, access other documents; this materialization of sc's produces in turn AXML code that is included in the calling document. One therefore speaks of dynamic or intentional documents; note in particular that materialization can be total (inserting data in XML format) or partial (inserting AXML code containing further sc's). AXML has been developed by the GEMO team at INRIA Futurs, headed by Serge Abiteboul; it allows to set up P2P systems around repositories of AXML documents (one repository per peer).
We are cooperating with the GEMO team (Serge Abiteboul) and the LABRI laboratory in Bordeaux (Anca Muscholl) to explore the behavioral semantics of AXML in the framework of the former ASAX INRIA-ARC (see the 2006 activity report), and to analyze such systems in the frameword of the Docflow and Activedoc projects, see 8.1 , 8.2 below.
AXML allows for complex and evolving systems. The challenge is thus to be able to check whether an AXML system (as a mail order system) satisfies some basic properties (e.g.: is it possible that a product is mailed after the customer canceled his order?), even for systems beyond the so-called “positive” class [35] (where nothing can get deleted). This problem is difficult due to undboundedness of the number of products (infinite states), unboundedness of the names of the product (infinite alphabet), distribution and asynchrony. We succeeded into defining a class of models subsuming positive systems, allowing deletion and unbounded paths, but not too permissive (e.g. the alphabet is supposed finite, the depth of the document is bounded, and guards on the system cannot test for the non existence of a pattern), such that the basic problem we want to solve stay decidable. This year, we have addressed the problem of distribution and composition of AXML systems [32] . In the usual AXML framework, the locality of active documents is not considered, and guards can be evaluated over documents that are located at any place. However, in a real implementation, it is not possible to evaluate a guard over a part of a document owned by a distant site without some additional communication. We have proposed a distributed version of Active XML, in which guards can only be evaluated locally to a given site, and agents of the system interact using calls to external services. From a site, the interactions with the environment are only seen as interfaces, that depict the relation between the parameters sent to an implementation of an interface, and the expected results. Intuitively, interfaces describe the needed functionnalities of a site in terms of legal inputs/outputs. Then, a service implements an interface if it accepts all allowed parameters, and returns only results described by the interface. This implementation relation builds on the well-known notion of query containment, and can rapidly become undecidable if the considered data is infinite. We have shown sufficient conditions for decidability. Distributed AXML compose, just by providing in one system some implementations needed by the other one. They can also be abstracted (a part of the system is replaced by interfaces for it) to allow modular model checking.
Another main activity of the AXML project is to propose algorithms to bring transactional features to AXML services, and more generaly to composition of web services, without breaking the confidentiality of peers and by using distributed techniques to keep high performance. It is the central theme of the PhD thesis of Debmalya Biswas,who defended in January 2009 [8] . The transactional feature considered was atomicity, which is ensured through a compensating (rollback) mechanism. For this, actions performed are logged. This year, we did experiments on different implementations of rollback (defered rollback through commit, or in place) and compared them in [19] .