A profile in the Unified Modeling Language (UML) provides a generic extension mechanism for customizing UML models for particular domains and platforms. Extension mechanisms allow refining standard semantics in strictly additive manner, preventing them from contradicting standard semantics.[1]

Profiles are defined using stereotypes, tag definitions, and constraints which are applied to specific model elements, like Classes, Attributes, Operations, and Activities. A Profile is a collection of such extensions that collectively customize UML for a particular domain (e.g., aerospace, healthcare, financial) or platform (J2EE, .NET).


The UML Profile for XML is defined by David Carlson in the book "Modeling XML Applications with UML" pp. 310 and describes a set of extensions to basic UML model elements to enable accurate modeling of XSD schemas.

SysML is an Object Management Group (OMG)-standardized profile of Unified Modeling Language which is used for system engineering applications.

MARTE is the OMG standard for modelling real-time and embedded applications with UML2.

The UML profile for relationships [2] (see also [3]) is based on RM-ODP and provides precise specifications of the semantics of UML concepts used to specify generic (not necessarily binary) relationships such as composition and subtyping.

See also


  1. ^ Si Alhir, S: Guide to applying the UML, page 350. Springer, 2002
  2. ^ Object Management Group. UML Profile for Relationships. http://www.omg.org/cgi-bin/doc?formal/2004-02-07
  3. ^ Haim Kilov. 2015. Business Modelling: Understandable Patterns, Practices, and Tools. In: Revised Selected Papers of the International Workshops on Behavior Modeling -- Foundations and Applications - Volume 6368, Ella Roubtsova, Ashley Mcneile, Ekkart Kindler, and Christian Gerth (Eds.), Vol. 6368. Springer-Verlag New York, Inc., New York, NY, USA, 3-27. DOI: https://dx.doi.org/10.1007/978-3-319-21912-7_1