Baile is a research project funded by HP Brazil and carried out at the IME-USP FLOSS Competence Center in collaboration with HP Labs. The Baile project aims to study and resolve problems related to the development and use of web service choreographies in large-scale environments, in particular those related to Cloud Computing. The project investigates means by which choreographies can evolve and adapt when the services they are composed of are in constant change, keeping the quality of service in acceptable levels when these services fail or the cloud resource availability fluctuates. This will be achieved by (a) developing new methodologies and cataloging the best practices for dynamic adaption of choreographies and (b) by explicitly representing the dependencies between the services so that dynamic reconfigurations can be executed seamlessly to allow a robust and efficient evolution of choreographies in large scale environments.
The development of such complex, high-scale choreographies is extremely error-prone but conventional testing techniques and frameworks are not appropriate for distributed systems, as the testing of distributed systems is a field where little research has been carried out. The Baile project also seeks to research and adapt the current testing techniques as well as to create new tools to assist the development and maintenance of these systems in a test-driven fashion.
The project is divided into three research lines. The first research line deals with dependency management and dynamic adaptation of choreographies. As innovative aspects of this research line we can highlight that the dynamic adaptation of choreographies will be carried out taking into account, among others, the distributed services stability analysis and architectural dependencies. This analysis will be based on traditional approaches from Software Engineering extended with the specific needs of the project aiming at greater stability and robustness. The second research line concerns the verification and validation of choreographies. As its innovative aspects, we can point out the development of methods and frameworks for verification and validation of large-scale choreographies and of tools for automated tests both in development time and in runtime by monitoring the system dynamic properties. The last research line is about scalability on Grids and Clouds, where studies will be carried out concerning the scale in terms of users, requests, services, choreographies, and computing nodes.
Code developed in Baile project is available at https://github.com/choreos/