{'fraction_non_alphanumeric': 0.020128087831655993, 'fraction_numerical': 0.0, 'mean_word_length': 5.3604651162790695, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Modelling Dynamics in Aspect-Oriented Programs

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.