Es una nueva metodología de programación que permite la separación de los elementos funcionales del software de otros conceptos no funcionales pero son requeridos en él, como la sincronización, el manejo de memoria, distribución, el chequeo de errores, la seguridad, y el uso redes.
Permite a los desarrolladores escribir, ver, y editar un aspecto diseminado por todo el sistema como una entidad por separado, de una manera inteligente, eficiente e intuitiva.
-