What do chemical reactions and service compositions have in common? Not much at first sight. But if we imagine the composition of services as a self-evolving autonomic process then they show notable similarities to the way chemical reactions occur. Taking reactions as a metaphor, there is an ongoing effort to discover the power of chemical modelling studied within the framework of a service composition problem.
The Internet of Services (IoS) will change the way enterprises do business, since it will embrace not just information and content but also services and real world objects. In alignment with the paramount importance of the service oriented computing paradigm in shaping the future, the “Software Services and Systems Network” (S-Cube, FP7/2007-2013 under grant agreement 215483) is aimed at establishing a unified, multidisciplinary research community and shaping the software service based Internet which will underpin the whole of our future society. S-Cube integrates three research communities: Software Engineering, Grid/Cloud Computing and Business Process Management, attempting to integrate the research traditionally fragmented into three separate layers: service infrastructure, service composition & coordination and business process management. The overall emphasis is on novel service functionalities, especially adaptation and pro-active techniques, methodologies for engineering and adapting service-based systems and end-to-end quality provisioning and SLA-Compliance.
According to the S-Cube vision, the service oriented computing paradigm enables service providers to dynamically integrate services in a large-scale and heterogeneous environment whereas service requesters can adjust and compose services according to their actual needs. Thus, Service Based Applications (SBAs) are composed of a number of possibly independent services, available in a network, which perform the desired functionalities. It is likely that more service providers can provide the same functionality at different conditions referring to non-functional characteristics of a provided service, like price, time to deliver, and so on. These may change in time depending on provider policies, and as such they cannot be advertised together with the service description nor planned in the composition design. It therefore becomes necessary to organize compositions of services on demand in response to dynamic requirements and circumstances.
Within the S-Cube research activity we modelled the problem of selecting services necessary for delivering an SBA required by a user as a nature metaphor. In our scenario an SBA request is an abstract workflow (AW) specifying the functionality of each component, the dependence constraints among them, and some user-preferred non-functional characteristics of the whole composition. Providers, able to provide the required AW functionality, issue service offers that specify a service instance together with the value of non-functional characteristics it can provide the service with. More offers for the same functionality can be available, and additional offers that should be taken into account can become available during the selection process.
Figure 1: the chemical-based service instantiation process.
We envision a chemical solution in a flask where both activities of the AW (service requests) and all service offers are molecules. Aggregation constraints and non-functional user-requirements on services are expressed as chemical properties, i.e. chemical reaction rules. We use the chemical analogy as a modelling paradigm and our approach differs significantly from computational chemistry that faithfully simulates chemical reactions. The chemical metaphor can be expressed in the gamma-calculus, a declarative formalism developed for grabbing the notion of concurrent indeterministic multiset rewriting. We implemented our model in the Higher Order Chemical Language (HOCL), a derivative of the gamma-calculus.
The proposed approach allows the capture of service selection in the context of SBAs in terms of local reaction rules that yield aggregated molecules. Once an aggregation of services is computed the chemical solution reaches an inert state, but it can be re-activated when new offers are available or already existing offers are changed. New offers are new molecules that may form a new aggregation or alter existing molecules, so that the system can exhibit an adaptive behaviour. Similarly, control can be added in the form of molecules, something similar to catalysts and inhibitors. All is dependent on how the service offers and needs are translated into chemical properties (chemical aggressiveness).
This model does not rely on any centralized and/or coordinated control, or on any predefined sequences or patterns. The process just follows some (high-level) policies in the same way that reactions obey the general laws of nature. With this greater flexibility and dynamicity we expect that the behaviour of molecules, together with the overall constraints of the aggregation may enable adaptation of the system to different configurations that are not planned in advance. Applying the chemical metaphor to the problem of selecting service instances allows the service selection process to be modelled as an “evolving” and always running mechanism that can adapt to environmental changes as they occur, so providing adaptability to changes in non-functional characteristics.
Our prospective is to further investigate the proposed approach in order to answer the following questions: is it possible to model the problem of finding an optimal solution to the service composition problem just like a chemical reaction would reach minimum energy? Is it possible to establish the chemical properties so that the composition procedure evolves into a well defined and desired state? We envision that a chemical-based approach for selecting services to form an SBA is a viable approach to answer these questions. Furthermore, the chemical-based instantiation process may run concurrently with a workflow enactment engine thus providing the possibility to interleave the selection process with the enactment. In such a way it is possible to consider new offers, as soon as they appear in the system, that may produce sub-parts of instantiated workflows (partially instantiated workflows) providing missing service instances that were not available before the execution started.
Claudia Di Napoli, Maurizio Giordano
Istituto di Cibernetica “E. Caianiello” - CNR, Italy