Documenting Typical Crosscutting Concerns

More Info
expand_more

Abstract

Our analysis of crosscutting concerns in real-life software systems (totaling over 500,000 LOC) and in aspect-oriented literature, indicated a number of properties that allow for their decomposition in primitive building blocks which are atomic crosscutting concerns. We identify these blocks as crosscutting concern sorts, and we use them to describe the crosscutting structure of many (well-known) designs and common mechanisms in software systems. In this paper, we formalize the notion of crosscutting concern sorts by means of relational queries over (object oriented) source models. Based on these queries, we present a concern management tool called SOQUET, which can be used to document the occurrences of crosscutting concerns in object-oriented systems. We assess the sorts-based approach by using the tool to cover various crosscutting concerns in two open-source systems: JHotDraw and Java PetStore. Accepted for publication in the Proceedings of the 14th IEEE Conference on Reverse Engineering