Réflexivité, aspects et composants pour l'ingénierie des intergiciels et des applications réparties

Abstract : Middleware and distributed applications are characterized by a high number of functionalities which must be integrated. Furthermore, they deal with various execution contexts, from constrained embedded systems to information systems reachable through the Internet. This diversity generates many requirements such as, just to name a few, fault-tolerance, remote communications or scheduling. This document is about the software engineering of middleware and distributed applications. Our goal is to propose solutions for integrating the functionalities needed in these contexts. This document reports on three main techniques which have been studied : reection, aspects and components. The first chapter deals with the design and the implementation of a CORBA service based on the notions of reflection. We propose a service for observing distributed runs. We show that reflection allows separating clearly the various concerns. The applications to be observed and the service are clearly decoupled. The integration can then be performed seamlessly. We show that the cost of reflection is low compared to the costs induced by distributed communications in a CORBA environment. The second chapter studies aspect-oriented techniques. We present JAC (Java Aspect Components), a platform for programming aspect-oriented applications. JAC proposes the notion of dynamic weaving which allows adapting at runtime an application by adding or removing aspects. Concerning middleware and distribution, JAC introduces the notion of an open container for objects and aspects and the notion of a distributed pointcut. Component-based software engineering is addressed in the third chapter. The goal is to propose a framework which unifies aspects and components. A preliminary study compares, with an application for sharing replicated documents, two component frameworks (Fractal and Kilim) and an AOP framework (JAC). We report on the strengths and the weaknesses of these three approaches and, based on this experience, we propose to extend the Fractal component model with the notion of an aspect. Next, we show that aspects can also improve the engineering of the component model. We then propose a solution where aspects are used both for the internal implementation of the component model and for the external application programming interface.
Complete list of metadatas

Contributor : Lionel Seinturier <>
Submitted on : Sunday, December 6, 2009 - 11:56:34 AM
Last modification on : Friday, March 22, 2019 - 1:31:14 AM
Long-term archiving on: Thursday, June 17, 2010 - 11:18:25 PM


  • HAL Id : tel-00439134, version 1


Lionel Seinturier. Réflexivité, aspects et composants pour l'ingénierie des intergiciels et des applications réparties. Génie logiciel [cs.SE]. Université Pierre et Marie Curie - Paris VI, 2005. ⟨tel-00439134⟩



Record views


Files downloads