Ws-Diamond, Web Services - DIAgnosability, Monitoring and Diagnosis is a project of the Sixth Framework Programme Priority2 - Information Society Technologies. It's a Specific Targeted Research or Innovation Project.
The possibility of creating self-healing software in order to guarantee reliability and availability of software systems and service is one of the main challenges for research The WS-DIAMOND project is a first step towards self-healing software and specifically self-healing Web Services.
A self-healing Web Service is able to monitor itself, to diagnose the causes of a failure and to recover from it, where a failure can be either functional, such as the inability to provide a given service, or non-functional, such as a loss of service quality. Self-healing can be performed at the level of a single service, and at a more global level, with support to identify critical misbehaviour of groups of services and to provide Web Services with reaction mechanism to global level failures. The focus of WS-Diamond is on composite and conversationally complex Web Services, where composite means that a Web Service relies on the integration of various other services, while conversationally complex means that during service provision a Web Service needs to carry out a complex interaction with the consumer application, where several conversational turns are exchanged between them.
In the project we tackled two main issues:
In order to achieve these goals, we carried on research in different areas such as Semantic Web languages (for describing service properties, i.e., models), service composition techniques (for describing service interaction) as well as model-based reasoning and diagnosis. As regards the latter, in particular, recent results and techniques for diagnosing and repairing (or recovering from failures) complex physical devices, and for designing easily diagnosable and reliable devices, are being adapted/modified in order to be applied to Web Services networks.
Here is a short summary of the project results. More details can be found in the status section.