European Commission logo
italiano italiano
CORDIS - Risultati della ricerca dell’UE
CORDIS

Composition and Management of Polymorphic Services

Final Report Summary - COMPOSER (Composition and Management of Polymorphic Services)

In our project, we investigated methods for composition and coordination of polymorphic services, which are services that are capable of exhibiting both adaptation and evolution. We have elaborated on both centralised and distributed models and we show that qualitative context variables can be used for efficiently driving service evolution. We have developed a unified approach, we have modelled context uncertainty using fuzzy logic, and we have developed mechanisms that realise service evolution based on evolution of groups of relevant fuzzy rules. Adaptation is carried out using adaptation rules that are fired according to certain values of contextual variables. Having developed a method that fully supports polymorphism is of tremendous importance for engineering service-oriented computing systems since it can be the response to challenges concerning development of service-oriented applications in dynamic and open environments, such as distributed cloud federations and internet of things. The proposed models have started gaining acceptance in the service-oriented systems community and extensions of the work are already in progress.

Approach, methodology and results
According to the project objectives the concept of polymorphism in service orientation has been rigorously defined and formalisms for representing service context have been investigated. The main constituents of polymorphism, that is adaptation and evolution, have been analysed and methods for realising them have been examined. Adaptation has been modelled as a reaction to context stimuli and it has been formalised based on behavioural rules and service execution policies.

The uncertainty of service environments has been captured using fuzzy logic. Several fuzzy rules are used to represent each contextual parameter and they are combined to trigger adaptation actions. These rules are based on criteria drawn by domain experts and capture business and domain knowledge. In this respect, to capture the evolving element of context quality fuzzy values we consider that the membership functions of the antecedent part of fuzzy rules used to estimate context qualities evolve as well. Incoming context parameters appearing in the antecedent part of fuzzy rules are considered as coordinates representing data points. Thus, fuzzy rule evolution is achieved by clustering incoming data points dynamically and considering cluster points as antecedent part rule centres. Subsequently, variations in incoming data values result in identifying new cluster points which in turn replace previous antecedent part rule centres and hence result in rule evolution. Modified fuzzy rules result in different ranges of calculated fuzzy values of the consequent rule parts. Therefore, service evolution reflects the gradual response to context-aware feedback received from the service environment.

Even though adaptation and evolution can be carried out by a single service component, in the general case polymorphic behaviour is the result of a collective process involving a number of atomic services that interact and dynamically modify the composed services in an autonomous manner. In this case, no central point of authority can be assumed and all atomic services act rationally according to a decentralised behavioural model. To better represent the lack of centralised control in our approach each atomic service is driven by a software agent called ‘service agent’. While services contribute to interoperability in the system, the use of agent technology enables building of high-level models with flexible interaction patterns.

Service agents exist and operate within computational environments called Service Provision Points (SPPs) and they are able to interact with the SPP’s infrastructure in order to sense user requirements and to provide their functionality. SPPs are interconnected and therefore service agents can establish communication relationships and invoke services from different SPPs. Thus, each service agent can directly access, and hence invoke when required, a particular number of service agents that form the agent’s local neighbourhood. Communication is achieved through message passing between the agents.

Polymorphic services were applied in the problem of transport congestion management in urban areas. The MODUM EU project develops a solution to this problem which involves balancing the routes drivers select by communicating with them on their intelligent mobile devices. A pricing service with three different policies, namely scale A, B and C, is offered to the drivers according to their selected route. The service considers numerous criteria including the pollution level currently in the atmosphere (PSI), the level of congestion, and the number of vehicles currently using this route. The results of applying the proposed model to the example data are presented in Fig. 1(c), when evolution and adaptation were applied the policy fitness fluctuation is based on the overall input data differences, and it is not significantly affected by the increasing or decreasing trend in PSI context parameter values. On the other hand, in Fig. 1(b), when the adaptation procedure does not incorporate evolution, the fitness values show significant disturbances.

The project results have improved the profile of the Marie-Curie Fellow through publications and networking activities. Furthermore, a number of collaborations between academia and industry have been started, involving preparation of EU research project proposals among others. Finally at national level a project proposal involving applying polymorphic services to improve workers welfare in industrial environments is currently under assessment.

final1-figure-1-moving-average.png