Combining AOSD and CBSD in PacoSuite through Invasive Composition Adapters and JAsCo

In this paper, we build on previous work that combines ideas from visual component-based software development and aspect-oriented software development. In our visual component-based methodology PacoSuite, developed in earlier work, we introduced composition adapters to modularize crosscutting concerns. A composition adapter is visually applied onto a composition pattern and the changes it describes are automatically inserted in that pattern using finite automata theory. The expressive power of a composition adapter is however limited to concerns that alter the exterior behavior of a component, as only the glue code of a component-based application is altered. In this paper, we propose invasive composition adapters, able to express concerns that require more than mere filtering and re-routing. The changes dictated by an invasive composition adapter are automatically inserted into the concerned components and composition patterns. To implement an invasive composition adapter, we employ JAsCo, an aspectoriented language that is tailored for the component-based context. The approach is validated using a small case-study that successfully modularizes three crosscutting concerns as composition adapters in an e-commerce application.