Aspect-Oriented Software Development (AOSD) is a Software Engineering methodology that provides explicit abstractions for crosscutting concerns. The term crosscutting concerns (e.g., reliability, synchronization) refers to quality factors or functionalities of software that cannot be effectively modularized using existing software development techniques (e.g., object oriented (OO) approaches). Thi ...