thesis

La Programmation Orientée Aspect Interactionnelle pour la construction d'applications à préoccupations multiples

Defense date:

Jan. 1, 2002

Edit

Institution:

Paris, CNAM

Disciplines:

Authors:

Directors:

Abstract EN:

In this thesis, we tackle the problem of designing applications addressing multiple and changing concerns. This is the case, fot instance, of distributed applications. Th emain issue here is to be able to modularize better the different identified concerns by reudcing to the minimum their inherent dependencies. The originality of our approach comes from the use of the emerging ideas of Aspect Oriented Programming (AOP), mixed with an objects' interactions bases point of view. We use an interaction refinement mechanism in order to abstract the interaction notion alone. Then, we couple this approach with interoperating groups of objetcs to allow the abstraction of interactions' sets. Thus, we throw the basis of Interactional AOP (IAOP) that we formalize within a language wich extends lambda-calculus. Another crucial point of our work consists in studying the aspect composition issues. We propose a semantical approach when superposing several aspects. This approach introduces the semantical superposition compatibility notion in order to validate that a set of aspects put together results in the expected global effect. We also introduce pragmatic composition rules. Finally, a huge part of this thesis was dedicated to pratical applications of this formal work. We have implemented an aspect-oriented middleware mayer called Java Aspect Components (JAC). JAC supports distribution an ddynamic adaptability of application.

Abstract FR:

Dans cette thèse, nous abordons le problème de conception des applications intégrant des préoccupations multiples et changeantes, comme c'est le cas, par exemple, pour les applications réparties. Pour se faire, nous proposons une approche permettant d'exprimer les applications de façon modulaire. L'originalité de notre approche tient en l'utilisation des idées émergeantes de la Programmation Orientée Aspect (POA), tout en se plaçant dans un point de vue fortement lié aux interactions entre les objets. Nous utilisons le mécanisme de raffinement des interactions de manière à abastraire la notion d'interaction seule. Puis nous couplons cette approche à la notion de groupe d'objets interopérants afin d'abstraire des ensembles d'interactions. Nous arrivons ainsi à poser les bases de la POA Interactionnelle (POAI) que nous formalisons dans un langage dérivé du lambda-calcul. Un autre point essentiel de ce travail consiste à étudier les problèmes liés à la composition des aspects. Nous proposons une étude sémantique liée à la superposition de plusiers aspects. Nous proposons une étude sémantique liée à la superposition de plusieurs aspects. Cette étude nous amène à définir la notion de comptabilité sémantique de superposition permettant de calculer la validité d'un ensemble d'aspects par rapport à un effet global voulu par le concepteur de l'application. Nous définissons aussi des règles pragmatiques de composition. Finalement, une grande partie de cette thèse a été dediée aux applications pratiques de notre étude théorique. Nous avons implanté une couche middlewar orientée aspect appelée Java Aspect Components (JAC) qui permet au programmateur d'atteindre une excellente modularité des programmes et supporte l'adaptabilité et la répartition des applications.