– Those who want to learn about AOM ?nd in this special issue a concise collection of descriptions of solid and mature AOM approaches. They only have to take the time to understand one case study in order to appreciate the sample models shown in all papers. – Those who want to apply AOM for a particular purpose and are looking for the most appropriate AOM technique can use the papers presented in this specialissue to identify the mostpromisingapproach(es).By identifying similarities between their problem and the case study they should be able to determine candidate AOM approaches easily. – Those working on their own AOM approach can readily identify approaches that were able to handle concerns that their own approach is not able to handle elegantly. This stimulates cross-fertilization between approaches and collaborative research. – Thoseengineering researchersthat areworkingon enhancing softwaredev- opment processes can use the example models presented in this special issue to understand the potential bene?ts of using AOM techniques at di?erent phases of the software development life-cycle.
work for small problems, but it introduces signi?cant accidental complexities when tackling larger problems. Notethattherealchallengehereisnothowtodesignthesystemtotakeap- ticular aspect into account: there is signi?cant design know-how in industry on this and it is often captured in the form of design patterns. Taking into account more than one aspect can be a little harder, but many large scale successful projects in industry provide some evidence that engineers know how di?erent concerns should be handled. The real challenge is reducing the e?ort that the engineerhasto expendwhengrapplingwithmanyinter-dependentconcerns.For example, in a product-line context, when an engineer wants to replace a variant of an aspect used in a system, she should be able to do this cheaply, quickly and safely. Manually weaving every aspect is not an option. Unlike many models used in the sciences, models in software and in lingu- tics have the same nature as the things they model. In software, this provides an opportunity to automatically derive software from its model, that is, to - tomate the weaving process. This requires models to be formal, and the weaving process be described as a program (i.e., an executable meta-model) manipul- ing models to produce a detailed design. The detailed design produced by the weaving process can ultimately be transformed to code or at least test suites.
This volume, the 8th in the Transactions on Aspect-Oriented Software Development series, contains two regular submissions and a special section, consisting of five papers, on the industrial applications of aspect technology. The regular papers describe a framework for constructing aspect weavers, and patterns for reusable aspects. The special section begins with an invited contribution on how AspectJ is making its way from an exciting new hype topic to a valuable technology in enterprise computing. The remaining four papers each cover different industrial applications of aspect technology, which include a telecommunication platform, a framework for embedding user assistance in independently developed applications, a platform for digital publishing, and a framework for program code analysis and manipulation.