The Adele team conducts research in the field of Software Engineering. This domain can be defined as a systematic discipline that aims to improve the specification, design, implementation, deployment, and maintenance of software systems by enhancing their quality and cost-effectiveness.
More specifically, Adele focuses on the downstream phases, including implementation, deployment, and maintenance of software systems. Deployment starts when a software system has been duly approved for delivery. Its purpose is to provide a live software system to the user, which includes ensuring it is deployed and running on the client’s site. It concerns the transfer, installation, configuration, and integration of specific artefacts therein. It initiates different executable components of the software system and deals with subsequent updates. Maintenance starts after the software initial installation. Its purpose is to modify the software being used to fix bugs, improve quality of service, or adapt to new conditions for execution. Maintenance comprises a number of activities, ranging from a “simple” reconfiguration of certain parameters to more complex operations, like the development of new pieces of code or the migration to new running platforms.
Relatively little effort has been dedicated to the deployment and maintenance activities (that is, compared with the relative importance and cost of these phases). For a long time, the Software Engineering activity focused on the development phase. This predominance is not anecdotal. Most research effort in the history of software engineering has sought to improve the way we produce software systems that meet the clients’ expectations, minimizing the chance of a misbehaviour at run-time. As the development, maintenance, and operation of computing systems became more complex, communities began to emerge with a specific remit to examine ways to overcome these problems. The Adele team is in line with this approach.
In recent years, the Adele team has been developing a number of successful frameworks used in domains characterized by frequent contextual evolutions. Several frameworks are in use in industrial applications. Major recent achievements are Apache iPOJO, OW2 RoSe, Cilia mediation framework, and the iCASA tool suite.