XML-centric models of computation have been proposed as an answer to the demand for interoperability, heterogeneity and openness in coordination models. We present a prototype implementation of an open XML-centric coordination middleware called Distributed Reactive XML. The middleware has as theoretical foundation a general distributed extensible process calculus inspired by the theory of Bigraphical Reactive Systems. The calculus is extensible just as XML is extensible, in that its signature and reaction rules are not fixed. It is distributed by allowing both the state of processes as well as the set of reaction rules to be distributed (or partly shared) between different clients. The calculus is implemented by representing process terms as XML documents stored in a value-oriented, peer-to-peer XML Store and reaction rules as XML transformations performed by the clients. The formalism does not require that only process terms are stored—inside process terms one may store application specific data as well. XML Store provides transparent sharing of process terms between all participating peers. Conflicts between concurrent reaction rules are handled by an optimistic concurrency control. The implementation thus provides an open XML-based coordination middleware with a formal foundation that encompasses both the shared data, processes and reaction rules.
Read full abstract