Con la evolución de la Ingeniería de Software, se ha introducido conceptos que llevan a una programación de más alto nivel. Debido a que la Programación Orientada a Objetos (POO) posee aspectos que no pueden encapsularse aumentando la interdependencia entre las clases lo cual no es deseable.
El enfoque de nuestro trabajo está dirigido a la definición de un diseño Orientado a Aspecto (OA) basado en el metamodelo de la OMG, siendo éste un aporte con el fin de agilizar el desarrollo de software con la construcción de una herramienta que genere código OA. Como en la actualidad no hay un estándar en cuanto al diseño OA, proponemos construir el diseño a través del lenguaje estandarizado UML utilizando los mecanismos de extensión que éste provee. Se define un metamodelo en XML con la finalidad de utilizar distintas herramientas ya sea para el modelado como para la generación de código OA.