Filosofía del Paradigma.
Generalidades
Debemos comenzar con el hecho de que existe un gran debate en cuanto a si la programación orientada a aspectos es o no un paradigma, muchas personas afirman el que es solamente una extensión de la programación orientada a objetos. Por contraparte, existen las personas que definen la programación orientada a aspectos como un paradigma nuevo que, aunque sigue a POO y por ende soporta la clasificación por objetos, no necesariamente debe hacerlo, es decir, idealmente POA es aplicable a otros paradigmas como podría ser la descomposición funcional. En nuestro caso, decidimos tomar la programación orientada a aspectos como un paradigma.
Objetivo Principal
La programación orientada a aspectos tiene como objetivo principal: "brindar un contexto al programador que permita separar claramente componentes y aspectos, separando componentes entre sí, aspectos entre sí, y aspectos de componentes, a través de mecanismos que hagan posible abstraerlos y componerlos para producir el sistema completo."

Las "6 C's" de Mehmet Aksit
Las 6 "C's" son un conjunto de conceptos propuestos por Mehmet Aksit y son las bases a la hora de generar software con programación orientada a aspectos. Una primera aproximación a lo que son los conceptos base de la misma:
- Entrecruzado (Crosscutting): El entrecruzado se basa en encapsular los conceptos transversales que existen en el código tradicional para luego entrecruzarlo con la funcionalidad principal que por ende también queda encapsulada. Éste entrecruzado hace que ambas, funcionalidad y aspectos queden totalmente funcionales sin necesidad de repetición de código.
- Canónico: Los conceptos transversales deben ser implementados de manera estable y completa, totalmente independientes entre ellos.
- Composición: La implementación del modelo debe proveer factores de calidad, como adaptabilidad, reusabilidad y extensibilidad.
- Clausura: La implementación debe mantener la totalidad de los factores de calidad del diseño en la etapa de implementación para evitar problemas con los conceptos de funcionalidad y configuración.
- Computabilidad: El software generado por la implementación orientada a aspectos debe ser funcional y ejecutable.
- Certificabilidad: Los modelos de diseño e implementación deben ser evaluables en cada parte del proceso de desarrollo e implementación, además de ser controlable para aumentar o mantener la calidad del modelo.
Las "4 S's" de Harold Ossher:
Las 4 S's se refieren a separación exitosa de conceptos por Harold Ossher y son las siguientes:
- Simultáneo: Los conceptos y composiciones importantes deben poder coexistir dentro del modelo completo sin interrumpirse.
- Auto-contenido (Self-contained): Cada módulo debe declarar sus dependencias, con el objetivo de poder entender cada módulo por separado.
- Simétrico: Todos los conceptos deben ser encapsulados de la misma manera en cada módulo diferente, todo esto con el fin de obtener una mayor confiabilidad en la composición.
- Espontáneo (Spontaneous): Al agregar nuevos conceptos, la encapsulación, integración e identificación debe ser sencilla, incluyendo los conceptos que surjan en la etapa de implementación.