OBASCO group [6] (which is a joint research group from École des Mines de Nantes and INRIA, located in Nantes, France) has an open PhD position in the field of Aspect-Oriented Programming (AOP).
Aspect-Oriented Programming [1, 2] provides new means for the modularization of so-called crosscutting functionalities (aka. aspects) which are scattered all over a base application if traditional programming paradigms are used. A major issue of AOP is the definition of new aspect languages which, in particular, enable quantification over those execution events of the base application where aspects have to mix in new behavior. Currently, such pointcut languages most frequently adopt the structures pioneered by AspectJ [3, 4], whose pointcut language is mostly restricted to sets of individual execution points. Recently, much research effort has been devoted to enhance the expressivity of pointcut languages, e.g., through the definition of pointcuts over sequences of execution points (see, e.g., [5]). However, fundamental problems with respect to the design, semantics and implementation of such expressive pointcut languages are currently unsolved.
In the context of OBASCO's participation in the European network of excellence in AOSD, the PhD should work on the design and implementation of expressive pointcut languages by further developing an existing framework for such languages, Event-based AOP (EAOP [7]). The PhD should investigate (several of) the following issues:
[1] G. Kiczales et al.: "Aspect-Oriented Programming", Proc. of the 11th Europeen Conference on Object-Oriented Programming (ECOOP), LNCS 1241, Springer-Verlag, 1997.
[2] R. Filman, T. Elrad, S. Clarke, M. Aksit (eds.): "Aspect-Oriented Software Development", Addison-Wesley Professional, 2005.
[3] G. Kiczales et al.: "An Overview of AspectJ", Proc. of the 15th Europeen Conference on Object-Oriented Programming (ECOOP), LNCS 1343, Springer-Verlag, 2001.
[4] AspectJ home page: http://www.eclipse.org/aspectj/
[5] R. Douence, O. Motelet, M. Südholt: "A formal definition of crosscuts", Proc. of the 3rd International Conference on Metalevel Architectures and Separation of Crosscutting Concerns (Reflection'01), LNCS 2192, Springer-Verlag, 2001.
[6] OBASCO home page: http://www.emn.fr/x-info/obasco
[7] EAOP home page: http://www.emn.fr/x-info/eaop
[8] É. Tanter, J. Noyé, D. Caromel, P. Cointe: "Partial Behavioral Reflection: Spatial and Temporal Selection of Reification", Proc. of the 18th ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA'03), 2003.
[9] Reflex home page: http://www.emn.fr/x-info/reflex
[10] R. Douence, P. Fradet, M. Südholt: "A framework for the detection and resolution of aspect interactions", Proceedings of the Int. Conference on Generative Programming and Component Engineering (GPCE), Oct. 2002.
[11] R. Douence, P. Fradet, M. Südholt: "Composition, Reuse and Interaction Analysis of Stateful Aspects", Proc. of 3rd International Conference on Aspect-Oriented Software Development (AOSD'04), ACM Press, 2004.
[12] R. Douence, T. Fritz, N. Loriant, J.-M. Menaud, M. Ségura, M. Südholt: "An expressive aspect language for system applications with Arachne", Proc. of 4th International Conference on Aspect-Oriented Software Development (AOSD'05), to appear, 2005.
[13] G. Muller, J. L. Lawall, J.-M. Menaud, M. Südholt: "Constructing Component-Based Extension Interfaces in Legacy Systems Code", 11th ACM SIGOPS European Workshop, Sep. 2004.
[14] A. Farías, M. Südholt: "Integrating protocol aspects with software components to address dependability concerns", TR 04/6/INFO, École des Mines de Nantes, Nov. 2004
[15] A. Farías, M. Südholt: "On components with explicit protocols satisfying a notion of correctness by construction", Proc. of Distributed, Objects and Applications (DOA'02), Oct. 2002