Coordinating Aspects and Objects
T. Aaltonen, Joni Helin, Mika Katara, Pertti Kellomäki, Tommi Mikkonen · Electronic Notes in Theoretical Computer Science · 2003
Conventional software architectures emphasize individual software components and their interconnections. While offering many advantages this results in problems with concerns that cut across the component structure. The code addressing such concerns is scattered around the components and tangled with some other code inside the components. Approaches addressing such issues are emerging with new paradigms like aspect-oriented programming. However, aspects addressing cross-cutting concerns need to be incorporated in an object-oriented design without support from a higher-level design. We propose an approach where aspects and objects rely on coordination provided by a common high level specification. The common specification links the parts of specification that are refined independently and implemented using different techniques. We use the formal specification method DisCo, and demonstrate the approach by providing a specification of a simplified telecommunications system. In addition, we also sketch an Aspect J implementation built in the architectural style encouraged by the method. Funding from Tampere Graduate School in Information Science and Engineering (TISE) and the Academy of Finland (project 100005) is gratefully acknowledged.