The Unified Modeling Language (UML) is a language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. UML supports the most typical software modeling problems; however, due to the diversity of software development domains, there may be occasions when the model requires elements or notations not provided by standard UML. This paper presents an extension to UML by defining new profiles for different application domains: one for agent-oriented systems and another for aspect-oriented development. The ArgoUML tool has been extended to support the definition of new profiles for the modeling of different application domains, including those mentioned.