UML-AOF: Modeling Aspect-Oriented Frameworks

The design model of an application that was developed with support of frameworks involves both the framework and the application design. This can create complex software architectures represented by design models that are difficult to understand, because many framework characteristics are not easy to transcribe in plain Unified Modeling Language (UML) is used. The same problem occurs with Aspect-Oriented Frameworks (AOF).

This article proposes UML-AOF, an UML profile for designing Aspect-Oriented Frameworks. The UML-AOF profile has been created based on an existing UML profile for aspect-oriented programming. It takes into consideration some AspectJ idioms, patterns and also stereotypes from a profile for object-oriented frameworks called UML-F. UML-AOF was evaluated by means of its application in the design of a persistence and security Aspect-Oriented Framework. It was observe that UML-AOF makes some specific AOF architectural characteristics clearer in design models. It improves the understandability of the software architecture as well as the behavior.