Int. l Conference on Web Engineering 2007
Tevfik Bultan,Coral Calero,Alessandro Marchetto,Mª Ángeles Moraga,Andrea Trentini,Silvia Abrahão,Carlo Bellettini,Cornelia Boldyreff,Cristina Cachero,Oscar Díaz,Howard Foster,Marcela Genero,Tiziana Margaria,Sandro Morasca,Mario Piattini,Marco Pistore,Lori Pollock,Antonio Vallecillo,Tao Xie,Andrea Zisman
2007-01-01
Abstract:Services and service-based applications enable new design practice. Many service-based applications are intrinsically multi-vendor, multi-platform, quickly evolving and changing to adapt to modifications in requirements, environmental conditions and user needs. Users and developers have little or no control on the whole code: different vendors can independently update services embedded in applications maintained by other parties, and applications can dynamically select alternative services to better meet the required quality of service [1]. Classic maintenance cycles that require expensive test and debugging activities, and that interrupt system operation to identify and remove faults, and check for the validity of updates and new functionality, may not work for service-based applications due to cost and time constraints. If for example an application fails in completing a transaction, suspending the application to diagnose and remove the fault can avoid future failures, but will not satisfy current users. In this new scenario, classic test and debugging techniques may not suffice anymore, since many of them do not adequately cope with evolving requirements, lack of access to source code, dynamically reconfiguring applications and environment dependent behaviors. Emerging results in autonomic and self-managed software systems may address many of the problems that characterize service-based applications. Although the terminology is not standardized yet, and some terms are overloaded, autonomic or self-managed refer to software systems that can identify problems, diagnose, and fix faults without human intervention.[4]. A self-mananged …