Skip to Main content Skip to Navigation

Canevas de développement agile pour l'évolution fiable de systèmes logiciels à composants et orientés services

Guillaume Waignier 1, 2
2 ADAM - Adaptive Distributed Applications and Middleware
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : Modern software is characterized by a need for constant and rapid evolution, such as in the mobile domain. To facilitate the development and the rapid evolution of complex systems, software engineering approaches have been proposed, such as software architecture and agile software development. However, current solutions offer poor support to enable the development of a reliable system, i.e, allow its modification while ensuring its compliance with the quality of services requirement and its good overall safety. The contribution of this PhD thesis is CALICO, an agile development framework for the design and evolution of safe component-based and service-oriented software. The agile software development relies on an iterative and incremental development cycle that allows the architect to iterate between the design of the architecture and the debug of the software in its execution context. At each iteration, the architect can evolve its software and check the consistency of its evolution through the execution of static and dynamic analysis tools. Thus, during the design and the evolution of the system, architect can use a set of metamodels to specify the structure of the architecture and its various quality of services requirement. During the deployment, CALICO instantiates the system on the target runtime platform from the models specified and keeps them synchronized with the software during its execution. By this way, the architect still has a conceptual view which allows him to reason on the critical software properties during its evolution. Moreover, in order to check these evolutions, CALICO provides a unifying framework which allows reuse of many static analysis tools of software architectures and dynamic debugging tools, that were scattered in different existing platforms. Thus, each change can be statically analyzed on the conceptual view before being propagated to the software system. Dynamic analysis are based on data values only available during the execution. The capture of these values is done through automatic instrumentation of the software system. Globally, CALICO enables reliable evolution even if the underlying platforms does not natively provide this support. Our contribution is concretized by a multi-platform implementation. The current version handles four component-based and service-oriented platforms. Moreover, the benchmarks that we have performed show that CALICO is usable for the design and development of safe applications up to 10,000 components and services, which corresponds to the maximal load of most runtime platforms.
Document type :
Complete list of metadatas
Contributor : Guillaume Waignier <>
Submitted on : Wednesday, February 17, 2010 - 5:55:33 PM
Last modification on : Friday, October 16, 2020 - 1:47:04 PM
Long-term archiving on: : Thursday, June 30, 2011 - 12:08:33 PM


  • HAL Id : tel-00457590, version 1



Guillaume Waignier. Canevas de développement agile pour l'évolution fiable de systèmes logiciels à composants et orientés services. Génie logiciel [cs.SE]. Université des Sciences et Technologie de Lille - Lille I, 2010. Français. ⟨tel-00457590⟩



Record views


Files downloads