Proceedings of the 1st workshop on Aspect oriented middleware development
Venue: AOMD; Vol. 118 (2005)

It is a great pleasure to introduce the ACM/IEEE/IFIP Middleware Workshop Program for Grenoble 2005. This is the fourth time that Middleware has included a Workshop Program, and the levels of interest and the standard of submissions continue to be extremely high. This year we have five workshops. The Workshop on Adaptive and Reflective Middleware (ARM05) is our most venerable institution, and is now in its fourth incarnation, having started out at Middleware 2000 in New York and run at every Middleware since. Two of the other workshops are also well established, having run previously in Rio and Toronto. These are the Workshop on Middleware for Grid Computing (MGC05), and the Workshop on Middleware for Pervasive and Ad-hoc Computing (MPAC05). MPAC this year is joined by Didier Donsez and his team whose proposal for a workshop on 'Middleware for Sensor-Based Services' has been merged into MPAC. As a consequence, this event is running over two days rather than the usual one day. Another workshop that is continuing a lively tradition is the Doctoral Symposium on Middleware. This popular event has worked particularly well in the past and represents a wonderful opportunity for young reseachers in our field to present their work to a mock thesis committee of mentors and to receive valuable and supportive feeback. This year we also have a new workshop: the 1st Workshop on Aspect Oriented Middleware Development (AOMD05). This highlights what seems to be a promising area of synergistic research that has recently been receiving a lot of attention. We look forward to a productive dialogue on the relationship between aspectisation techniques and middleware techniques. In middleware development, numerous concerns must be taken into account and integrated together, as transparently as possible for the final applications that use the middleware layer. Because of their capability to separate concerns, Aspect Oriented languages and frameworks (more generally Aspect Oriented Software Development --- AOSD) have been recognized to be a promising technique for middleware developments. Thanks to AOSD, important middleware concerns such as security, distribution, persistence, transaction, and resource localization, can be programmed within separated modules (aspects), which can then be integrated through a weaving process. This first edition of the workshop on Aspect-Oriented Middleware Development (AOMD'05) focuses on identifying and refining the AOSD techniques that can be used during middleware development. It tackles questions such as what are the right abstractions, APIs, development methods, reasoning systems, and tools for building the next generation of aspect-oriented middleware? How and why can they be better than classical middleware implementation? What are the direct and less direct applications of AOSD in middleware? Also, the workshop aims to discuss some fundamental questions, such as the relationship between AOP and reflection, and how they compete or complement. Several papers address these issues in a sensible way. The overall workshop discussion takes place around three main sessions presenting carefully selected work related to middleware and AOSD. The <i>framework</i> session aims to reflect upon AOSD frameworks and how they can be useful to build and integrate middleware components. It focuses on the techniques and languages constructs for building these frameworks. In particular, it points out how the annotation mechanism available within the .NET and Java 5 platforms can be efficiently used for configuring the weaving of the aspects, and how the aspects can be better integrated in existing languages by using this mechanism. The work presented in this session also gives a first insight of how aspects and reflection can be used together to implement efficient AOSD frameworks. The <i>dynamic</i> AOP session investigates the potential use of AOSD for implementing dynamically adaptable middleware components and layers. This section is of particular interest for building open and context-aware middleware where the applications or the middleware layers need to change their implementation and even their functional behavior to deal with new external constraints, which can appear during the system's execution. With dynamic AOP and the work presented in this session, new concerns can be added on the fly, without having to stop the system. There are several possible application domains to these AOP-based techniques, such as <i>ubiquitous computing</i>. As the first session talked about AOP and reflection, this section also studies the inherent interrelationships between AOP and reflection, here applied to implementing dynamic AOP. Finally, the <i>applications</i> session focuses on some examples of AOSD for more domain-specific middleware-level concerns and services. Concerns such as workflow management, availability, and access rights and policies are particularly studied.