Component-Based Software Architectures and Multi-Agent Systems: Mutual and Complementary Contributions for Supporting Software Development Victor Noël

Component-Based Software Architectures and Multi-Agent Systems: Mutual and Complementary Contributions for Supporting Software Development Victor Noël

Component-based Software Architectures and Multi-Agent Systems: Mutual and Complementary Contributions for Supporting Software Development Victor Noël To cite this version: Victor Noël. Component-based Software Architectures and Multi-Agent Systems: Mutual and Com- plementary Contributions for Supporting Software Development. Artificial Intelligence [cs.AI]. Uni- versité Paul Sabatier - Toulouse III, 2012. English. tel-00865795 HAL Id: tel-00865795 https://tel.archives-ouvertes.fr/tel-00865795 Submitted on 25 Sep 2013 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSETHÈSE En vue de l'obtention du DOCTORAT DE L’UNIVERSITÉ DE TOULOUSE Délivré par l'Université Toulouse III - Paul Sabatier Discipline ou spécialité : Informatique Présentée et soutenue par Victor Noël Le July 18th 2012 Titre : Component-based Software Architectures and Multi-Agent Systems: Mutual and Complementary Contributions for Supporting Software Development JURY Mourad Chabane Oussalah – Professor, Université de Nantes, France (examiner) Andrea Omicini – Professor, Università di Bologna, Italy (examiner) Jean-Michel Bruel – Professor, Université de Toulouse, France (president) Tom Holvoet – Professor, Katholieke Univesiteit Leuven, Belgium (member) Marie-Pierre Gleizes – Professor, Université de Toulouse, France (supervisor) Jean-Paul Arcangeli – Associate Professor, HDR, Université de Toulouse, France (co-supervisor) Ecole doctorale : Mathématiques Informatique Télécommunications (MITT) Unité de recherche : Institut de Recherche en Informatique de Toulouse (IRIT) Directeur(s) de Thèse : Marie-Pierre Gleizes and Jean-Paul Arcangeli Rapporteurs : Mourad Chabane Oussalah and Andrea Omicini THÈSETHÈSE En vue de l'obtention du DOCTORAT DE L’UNIVERSITÉ DE TOULOUSE Délivré par Université Toulouse III - Paul Sabatier Discipline ou spécialité : Informatique Présentée et soutenue par Victor Noël Le 18 juillet 2012 Titre : Architectures logicielles à base de composants et systèmes multi-agents : contributions mutuelles et complémentaires pour supporter le développement logiciel JURY Mourad Chabane Oussalah – Professeur, Université de Nantes, France (rapporteur) Andrea Omicini – Professeur, Università di Bologna, Italie (rapporteur) Jean-Michel Bruel – Professeur, Université de Toulouse, France (président) Tom Holvoet – Professeur, Katholieke Univesiteit Leuven, Belgique (membre) Marie-Pierre Gleizes – Professeur, Université de Toulouse, France (directeur) Jean-Paul Arcangeli – Maître de Conférences, HDR, Université de Toulouse, France (co-directeur) Ecole doctorale : Mathématiques Informatique Télécommunications (MITT) Unité de recherche : Institut de Recherche en Informatique de Toulouse (IRIT) Directeur(s) de Thèse : Marie-Pierre Gleizes et Jean-Paul Arcangeli Rapporteurs : Mourad Chabane Oussalah et Andrea Omicini Abstract In this thesis, we explore the various aspects of the mutual and complementary con- tributions that multi-agent systems (MASs) and component-based software architectures (CBSAs) can provide to each other. In a way, this work is the study of how both worlds can be integrated together, either by supporting MAS implementation using component-based abstractions or by supporting CBSA construction and adaptation using self-adaptive MASs. As a pragmatic starting point, we study how MAS development is currently done in the field and propose an understanding of the general methodology of development of MASs from an architecturally-oriented point of view. This results in the distinction between two main activities in MAS development. The first one, which we call macro-level design, is concerned with requirements and design choices tackled by multi-agent approaches as a way to decompose the solution in terms of agents and their interactions. The second one, which we call micro-level design, is concerned with requirements and design choices that accompany and more importantly support the result of the first activity to bridge the gap between design and implementation. From this conclusion, we infer that it is necessary to support this micro-level architectural activity with adequate abstractions that favour reuse, separation of concern and maintenance. In particular, an abstraction called “species of agent” is introduced for this purpose. It integrates with traditional component-oriented abstractions and acts both as an architectural abstraction and as an implementation. We define, illustrate, analyse and discuss a component model (SpeAD), an architectural description language (SpeADL) and a design method (SpEArAF) that ease and guide the description and the implementation of MASs using species of agents. This complete answer to the question of MAS development, which is supported by a tool (MAY) to exploit SpeADL with Java, has been applied to many applications in our research team. Then, by setting back such a solution in the context of the CBSA field, we show how MASs differ and relate to traditional means of development in terms of structural abstractions. To complete this study, we explore through various experiments how self-adaptive MASs can be used to support the building and the adaptation of CBSAs. Here, the agents and their continuous reorganisation act on one hand as the engine of the construction and of the dynamic adaptation of the architecture, and on the other hand as the runtime container that actually connects these elements together and maintains the architecture alive and working. This makes such an approach, even though it is exploratory and prototypal, a completely integrated solution to architecture building, execution and adaptation. This work opens several interesting research paths to build tools to support the development and the evolution of software architectures at design and at runtime. v Remerciements Il paraît que l’écriture de cette partie du mémoire de thèse est celle où l’on doit se faire le plus plaisir. Or, ce passage sera certainement le plus lu de ces quelques 200 pages, c’est donc ici que la pression est la plus forte. Je vais d’ailleurs commencer par remercier ceux qui sont à même d’émettre un avis sur l’intégralité de mon travail, c’est-à-dire chacun des membres de mon jury de thèse. Merci pour l’investissement que vous avez mis dans l’évaluation de mes écrits et de ma soutenance, je suis très fier d’avoir eu votre approbation et vos noms associés à ma production. Parmi ceux-ci, je remercie en particulier ma directrice de thèse, Marie-Pierre, pour m’avoir fait confiance tout au long de ces quatre années et pour avoir su gérer au mieux mon potentiel procrastinateur. Et puis bien sûr, il y a Jean-Paul, qui a, avant tout, eu la patience de me suivre sans faille dans mes délires et élucubrations. Merci pour l’investissement que tu as mis dans chacun de nos nombreux échanges, cela m’a à chaque fois permis de faire des bonds en avant dans mon travail de recherche. D’une façon générale, je ne peux que remercier l’intégralité de l’équipe SMAC qui applique chaque jour dans la vie réelle les préceptes de coopération utilisés dans leur travaux de recherche. Une aide importante m’a été en particulier apportée par mon pool de cobayes de compét’. Sans vous je n’aurais jamais pu faire de MAY, et tout ce qui se cache derrière, ce qu’il est maintenant (mais préparez-vous, la v3 arrive, il va falloir tout reprendre de zéro ! !). De plus, toutes nos discussions autour du développement des SMA m’ont permis d’avoir un minimum de confiance dans la qualité et l’utilité de mon travail. Dans cette équipe, il est difficile de mettre en place une compartimentation entre collègues et amis, et ces mêmes personnes m’ont aussi grandement accompagné dans des activités de détente au labo et en dehors. La personne la plus méritante est certainement Jérémy avec qui je partage un bureau depuis plusieurs années et qui me supporte tel un moine zen. Et puis, sans ordre particulier, nous retrouvons Valérian, François, Luc, Arnaud, Noélie, Nicolas, Sylvain, Önder, Raja, Simon, Julien, Elsy, Zied et autres stagiaires de passage. Puisque l’on parle de stagiaires, il est nécessaire de souligner le plaisir que j’ai eu à travailler avec Grégoire. Son travail, complété d’ailleurs par l’aide de Pierre, a énormément nourri le chapitre 7 de ce mémoire. Ce chapitre contient aussi le résultat d’une collaboration avec l’équipe AgentWise de KULeuven qui a eu la gentillesse de m’accueillir pendant 2 mois durant ma thèse. En particulier, ces résultats s’appuient sur les travaux de mon ami Mario qui m’a beaucoup apporté, autant sur le plan personnel que professionnel. L’accueil que vii m’ont réservé Tom Holvoet et Danny Weyns m’a aussi été très cher et ces personnes ont nourri certaines des réflexions qui sont exposées dans ce mémoire. Mon passage à Leuven a marqué un tournant dans mon travail de recherche et a en particulier orienté mon attention en direction des architectures logicielles. Un simple merci aussi à Maroussia qui a eu la patience de passer un certain nombre d’après-midi en ma compagnie pour me guider dans l’implémentation d’un modèle SMA d’écoulement de l’eau :) Maintenant, passons aux choses sérieuses, ou plutôt, à LA chose sérieuse : Christine ! Même si je pars, sachez que vous, votre pancake et le lambda-calcul resterez toujours dans mon cœur ! Plus sérieusement : Christine, Frédéric et Celia, merci pour l’amitié journalière que nous avons partagée durant nos repas et pauses thé. Et surtout, merci pour les modèles que vous avez été tout les trois pour moi autant dans l’enseignement que dans la participation à la vie de l’université. C’est grâce à vous que je me suis (un peu) impliqué dans la collectivité et que je peux me considérer comme ayant une utilité sociale.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    221 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us