Concerns that do not fit within the dominant decomposition of a given software system, and as such have an implementation that cuts across that decomposition.Aspect-oriented programming is intended to be a solution to modularise such crosscutting concerns.