# Aspect-oriented programming is quantification and obliviousness > ## Abstract ## Abstract > This paper proposes that the distinguishing characteristic of [Aspect-oriented programming](https://wiki.g15e.com/pages/Aspect-oriented%20programming.txt) (AOP) systems is that they allow programming by making quantified programmatic assertions over programs written by programmers to such assertions. Thus, AOP systems can be analyzed with respect to three critical dimensions: the kinds of [quantifications](https://wiki.g15e.com/pages/Quantification%20(AOP.txt)) allowed, the nature of the actions that can be asserted, and the mechanism for combining base-level actions with asserted actions. Consequences of this perspective are the recognition that certain systems are not AOP and that some mechanisms are expressive enough to allow programming an AOP system within them. A corollary is that while AOP can be applied to [Object-oriented programming](https://wiki.g15e.com/pages/Object-oriented%20programming.txt), it is an independent concept applicable to other programming styles. ## External links https://homepages.cwi.nl/~storm/teaching/reader/FilmanFriedman00.pdf