Les logiciels se caractérisent par un besoin d'évolutions perpétuelles et rapides. Pour faciliter l'évolution rapide de systèmes, des approches de génie logiciel ont été proposées, telles que les architectures logicielles et la méthode de conception agile. Néanmoins, les solutions actuelles offrent peu de support pour permettre l'évolution fiable d'un système, c'est-à-dire permettre sa modification tout en garantissant le respect de ses exigences de qualités de service (QdS) et de bon fonctionnement global. La contribution de cette thèse est CALICO, un canevas de développement agile et multi plates-formes pour la conception et l'évolution fiable de systèmes logiciels à composants/services. Le développement agile repose sur un cycle itératif et incrémental qui permet à l'architecte d'itérer entre les étapes de conception de l'architecture et de débogage du logiciel dans son environnement d'exécution. Ainsi, lors de la conception, l'architecte dispose de métamodèles pour spécifier la structure de l'architecture et ses diverses exigences de QdS. Lors du déploiement, CALICO utilise les modèles spécifiés pour instancier le système sur la plate-forme d'exécution et les garde synchronisés avec le logiciel lors de son exécution. L'architecte dispose toujours d'une vue conceptuelle qui lui permet de raisonner sur les propriétés de son logiciel lors d'une évolution. Pour fiabiliser ces évolutions, CALICO offre un cadre fédérateur qui autorise la réutilisation de nombreux outils d'analyse statique et de débogage dynamique qui étaient jusqu'alors dispersés dans différentes plates-formes. CALICO permet donc de fiabiliser les évolutions même si les plates-formes ne le proposent pas. / Software is characterized by a need for constant and rapid evolution. To facilitate the rapid evolution of systems, software engineering approaches have been proposed, such as software architecture and agile method. However, current solutions offer poor support to enable the development of a reliable system, i.e., allow its modification while ensuring compliance with the quality of service requirements (QoS) and its good overall safety. The contribution of this thesis is CALICO, an agile and multi platforms development framework for the design and evolution of reliable component-based and service-oriented software. The agile development relies on an iterative and incremental cycle that allows the architect to iterate between the design of architecture and the debug of software in its execution context. Thus, at design, the architect can use the CALICO's metamodels to specify the structure of the architecture and the various QoS properties. At deployment, CALICO instantiates the system on the runtime platform from the specified models and keeps them synchronized with the software during its execution. By this way, the architect has a conceptual view which allows him to reason on the software properties during its evolution. In order to check these evolutions, CALICO provides a unifying framework which allows reuse of many static analysis tools and dynamic debugging tools that were previously scattered in different platforms. Globally, CALICO enables reliable evolutions even if the platforms do not provide this support.
Identifer | oai:union.ndltd.org:theses.fr/2010LIL10007 |
Date | 26 January 2010 |
Creators | Waignier, Guillaume |
Contributors | Lille 1, Duchien, Laurence, Le Meur, Anne Françoise |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0019 seconds