The Internet of Services has emerged as a global computing platform, where a myriad of services and users are interacting autonomously. Being able to compose, coordinate and adapt such services on a large scale constitutes a new challenge in the distributed computing area. Nature-inspired models have recently regained momentum in this context, exhibiting properties that might assist with programming such a platform. Two years ago, at the IRISA/INRIA Rennes Bretagne Atlantique Research Centre, in Brittany, France, the Myriads team started a research activity with the aim of starting the development of the next generation middleware system able to fully leverage such computational capabilities, based on a chemical model.
The World Wide Web, as we have used it in the last two decades, i.e., as a communication platform, seems to have come to an end. Applications invaded the virtual communication world. We are no longer just surfing; we are accessing a service through an application. This shift of paradigm is experienced, for instance, when you connect your smart phone to your favourite application store. Internet as a computing platform has become an ecosystem comprising a myriad of heterogeneous and autonomous services encapsulating IT components such as storage space, computing power, software or sensors. To be able to leverage such computing power, one needs to compose, coordinate and adapt such services dynamically, according to users' requests. This virtual ecosystem shares some similarities with chemistry concepts: users, services and pieces of information can be seen as molecules interacting freely in the great WWW chemical solution, sometimes meeting to react and produce new information.
The Higher-Order Chemical Language developed by the “Myriads” team provides a unified vision of chemical programs and data.
The chemical model naturally expresses dynamics, parallelism and decentralization. Within this model, a program is seen as a solution of interacting molecules, reacting together according to some chemical laws (or rules). These reactions take place in an implicitly parallel, non-deterministic, autonomous and distributed manner. As a simple example, let us consider the problem of finding the maximum value among a set of integers. Imagine a set of molecules representing these integers in a solution. Now, introduce a rule specifying how two integers that meet should react: they are consumed in one reaction that produces a new molecule with the highest value of the two initial integers. Step by step, in parallel, reactions will make the solution converge to its inertia: only one molecule with the highest value remains in the solution. The HOCL language (Higher-Order Chemical Language), which the team developed in 2007, provides a unified vision of chemical programs and data: every virtual entity is a molecule floating in the solution and interacting with others. In particular, rules can modify other rules, programs modifying programs. This higher-order property gives a mean to express dynamic coordination and adaptation. An HOCL interpreter has been developed that will be the core component of our on-going work: the development of a middleware prototype exploiting HOCL properties.
Our project consists of two main research tracks. In the first, following a top-down approach, we leverage HOCL properties to express the decentralized and dynamic coordination and adaptation of services. A composition of services is usually expressed through a workflow, i.e., the specification of data and control dependencies between services to achieve a given global task. Based on the chemical representation of the workflow, services, equipped with an HOCL engine, coordinate themselves autonomously at runtime, without any central coordinator or human intervention. We have recently shown that any complex workflow pattern can be expressed and executed in a decentralized fashion, by defining the relevant HOCL rules, composing them and distributing them among the engines of participating services. Services are similarly capable of self-adaptation to actual conditions of the platforms. These areas of research are currently being concretized by the development of the upper layer of our chemical middleware. In this series of works, the team collaborates in Europe with CNR in Naples, Italy and SZTAKI in Budapest, Hungary. Two of the team’s PhD students, Héctor Fernandez and Chen Wang, are focusing on these aspects.
The second research track is bottom-up and aims at making the whole a reality, by constructing the low-layer of this software. Here, the main challenge is to be able to implement a distributed chemical machine, capable of making the needed reactions happen even when molecules are distributed over the whole Web, i.e., on an infinitely large and unreliable platform. This raises many new theoretical and practical challenges, such as searching efficiently for several reactives atomically, synchronizing the reactives at large scale, or detecting the state of inertia in a distributed fashion. Marko Obrovac, PhD student in the team, works in this track, in collaboration with the LIP6 laboratory, hosted by the University Pierre et Marie Curie, in Paris.
All together, these building blocks will compose the next generation of middleware systems, able to fully leverage the Internet of Services, thanks to a programming model able to express its internal complex behaviour.
Myriads team: http://www.irisa.fr/myriads/
Tel: +33 4 99 84 73 05