Aspects and Roles in Software Modeling: A Composition Based Comparison

Valentino Vranić, Milan Laslop

It’s intriguing how the work on inherent aspect-oriented modeling almost completely ignores the similarity between aspect-oriented and role based decomposition and composition. Ever since the notion of aspect entered the software development arena, it has been compared to the notion of role. Findings range from identifying greater similarities to more cautious observations that albeit aspects and roles are similar, they appear to be more as complimentary with a significant effort needed to really bring them together in programming. Even a cursory comparison of Theme/UML, which represents a design part of Theme, probably the best known and most comprehensive approach to aspect-oriented modeling, to OOram, a prominent representative of approaches to role based modeling that influenced UML, reveals striking similarities in both decomposition and composition. Within a more comprehensive effort of finding the principles of a sustainable approach to aspect-oriented modeling, this paper pursues further this observation by establishing a partially reversible transformation of a Theme/UML model to the corresponding OOram model that proves principal analogy of themes to OOram collaboration view diagrams accompanied by the corresponding scenario view and interface view diagrams. An important implication is that aspects have their counterpart not in roles themselves, but in role collaboration. Based on these results, a possibility of using UML composite structure diagrams for aspect-oriented design is sketched out in the paper.