Separation of Crosscutting Concerns at the Design Level: An Extension to the UML Metamodel
Adam Przybyłek
Abstract
Adam Przybyłek
Abstract
Aspect-oriented programming (AOP) was proposed as a way of improving the separation of concerns at the implementation level by introducing a new kind of modularization unit - an aspect. Aspects allow programmers to implement crosscutting concerns in a modular and well-localized way. As a result, the well-known phenomena of code tangling and scattering are avoided. After a decade of research, AOP has gained acceptance within bot academia and industry. The current challenge is to incorporate aspect-oriented (AO) concepts into the software design phase. Since AOP is built on top of OOP, it seems natural to adapt UML to AO design. In this context the author introduces an extension to the UML metamodel to support aspect-oriented modelling.
OpenAlex reports 12 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Aspect-oriented programming (AOP) was proposed as a way of improving the separation of concerns at the implementation level by introducing a new kind of modularization unit - an aspect. Aspects allow programmers to implement crosscutting concerns in a modular and well-localized way. As a result, the well-known phenomena of code tangling and scattering are avoided. After a decade of research, AOP has gained acceptance within bot academia and industry. The current challenge is to incorporate aspect-oriented (AO) concepts into the software design phase. Since AOP is built on top of OOP, it seems natural to adapt UML to AO design. In this context the author introduces an extension to the UML metamodel to support aspect-oriented modelling.
Key concepts: Metamodeling, Aspect-oriented programming, Computer science, Modular programming, Separation of concerns, Unified Modeling Language, Modular design, Software engineering