Aspect

Aspect-Oriented Programming (Kiczales et al., 1997) | Cross-cutting concern (Wikipedia)

In software engineering, an aspect is a cross-cutting concern that affects multiple modules without being localizable to any single one. The term originates from Aspect-Oriented Programming (AOP), introduced by Gregor Kiczales et al. at Xerox PARC in 1997. Cross-cutting concerns, such as security, logging, compliance, and performance, often map to non-functional requirements. In AME3, an Aspect is a cross-cutting requirement with two defining characteristics: it cannot be localized to one feature, and its cost increases exponentially the longer it is deferred.