Approche dirigée par les modèles pour le développement de systèmes multi-agents
Institution:
ChambéryDisciplines:
Directors:
Abstract EN:
Multi-agent systems provide interesting solutions that handle some open issues in Computer Science such as distribution, evolution, adaptability and interoperability. However, developing multi-agent systems is a difficult task. This is due to the lack of engineering techniques that can help developers to achieve multi-agent development. Currently, several development features are provided such as agent-oriented methodologies, notations and development platforms. These ones are still unsatisfactory for different reasons. Current development features lack coherency and cohesion. They do not provide a complete software development cycle since they mainly focus on some phases : analysis and design phases. Moreover, semantics behind multiagent concepts is unclear or is not formally defined. We propose in this thesis, a flexible and coherent approach that supports multi-agent development. Our approach is named ArchMDE. It is based on the combination of model-driven engineering and architecture-centric development approaches. Architecture centric development allows to reason about elements that compose multi-agent systems as well as their interactions. By applying principals of this approach, we identify architectural patterns representing different views of multi-agent systems. Model-driven engineering (MDE) approach allows specifying explicitly how to integrate the architectural patterns in order to represent the whole system. In addition, MDE helps to cover different phases of the development cycle by applying transformation rules. This approach guarantees the coherency of the system during the different development phases. It allows the preservation of the know-how by explicitly specifying integration operations (between the architectural patterns) and the mapping between models produced on the analysis/design phases and the implementation phase. We implement our approach by using the ArchWare framework proposed by the European project ArchWare. This framework is i based on higher order polyadic π-calculus, which handles communicative and evolutive aspects of multi-agent systems. The formal aspect of ArchWare reduces semantics ambiguities of multi-agent concepts and ensures the correctness of the design in order to produce high quality software. Indeed, by using formal languages, we have the possibility to specify and verify different structural and behavioural properties. The ArchWare framework provides for this purpose different languages and tools that facilitate the application of ArchMDE approach.
Abstract FR:
Les systèmes multi-agents s'attaquent aux nombreuses problématiques posées actuellement dans le monde informatique telles que l'évolution, la distribution, l'adaptabilité et l'interopérabilité des systèmes. Les solutions proposées par ces systèmes sont prometteuses et permettent d'obtenir des systèmes flexibles et évolutifs. Cependant, leur mise en oeuvre reste difficile. Ceci est dû au manque de techniques d'ingénierie adaptées à ce genre de système et qui permettent un développement fiable et cohérent. Bien qu'il existe plusieurs propositions intéressantes au niveau des méthodologies, des langages de spécification et des plates-formes d'implémentation orientés agent, celles-ci manquent de cohésion et font ressortir plusieurs différences aussi bien au niveau de la sémantique des concepts utilisés mais aussi au niveau des ddémarches de développement. Notre but durant cette thèse a été de proposer une approche flexible et cohérente supportant le développement des systèmes multi-agents. Cette approche que nous bâptisons ArchMDE se base sur une combinaison de l'approche centrée architecture et de l'approche dirigée par les modèles. L'approche centrée architecture nous permet de raisonner sur les éléments qui structurent le système multi-agents ainsi que leurs interactions. Elle permet d'identifier les patrons architecturaux nécessaires au développement des systèmes multi-agents en prenant en compte les différentes vues du système (vue organisationnelle, vue environnementale etc. ). L'approche orientée modèles nous permet d'exprimer de façon explicite la manière de combiner ces patrons architecturaux afin d'avoir une représentation globale du système multi-agents. D'autre part, IDM permet de couvrir les différentes phases du cycle de développement en adoptant une démarche basée sur les transformations de modèles. Cette démarche permet de garantir la cohérence du système durant les différentes phases du cycle de vie. Par ailleurs, celle-ci offre l'avantage de préserver le savoir-faire des développeurs en exprimant explicitement les opérations d'intégrations (entre les patrons architecturaux) et de mapping (entre les modèles de conception et les modèles d'implémentation). Pour implanter ArchMDE, nous utilisons le cadre de développement ArchWare qui est basé sur le π-calcul typé et d'ordre supérieur, ce qui permet de supporter les aspects communicatifs et évolutifs des systèmes multi-agents. Le choix d'un cadre formel vise à réduire l'ambiguïté liée aux concepts multi-agents mais aussi à garantir une conception sûre afin de produire des logiciels de qualité. Ainsi, l'utilisation d'un langage formel donne la possibilité d'exprimer explicitement différentes propriétés structurelles et comportementales. Le cadre de développement ArchWare offre divers langages accompagnés de différents outils qui nous seront utiles pour mettre en oeuvre notre apporche.