Modelling Dynamics in Aspect-Oriented Programs
Hayden Cheers, Yuqing Lin · 2021
Aspect-oriented programming is an extension to the object-oriented programming paradigm that aims to provide greater modularization of source code through the identification of aspects. Aspects are the representation of cross-cutting concerns. These are design elements of code that are scattered or duplicated across multiple classes, and hence cannot be cleanly implemented in object-oriented languages. Though the use of aspects, cross cutting concerns are modularized and can be implemented in a single unit of code. However, aspects effectively allow the extension and modification of existing classes through the injection of new advising code. This ability to inject code provides a degree of dynamism not seen in object-oriented languages, and hence, cannot be modelled with standard object-oriented modelling techniques. In this paper an extension to UML for modelling the dynamics of aspect-oriented programs is proposed. This extension affords the modelling any introduced dynamic behavior and its effect on base object-oriented code.