UML for Systems Engineering: Watching the Wheels, Second Edition

there is nothing permanent, except change
Heraclitus
This chapter looks at how the UML can be extended by defining a user-defined 'profile'. In order to illustrate the use of profiles, an example will be considered that continues the discussion concerning process modelling from Chapter 6.
The UML is intended to be a general-purpose modelling language and, as such, it is inevitable that situations will occur where the UML does not suit the application very well due to the fact that applications are specific, whereas the UML is generic. In such situations, it is possible to tailor the UML language by defining a 'profile'. A profile is a declaration of a set of extensions to the UML language that will enable the UML to become more applicationor domain-specific. These profiles may be defined by an individual or organisation, usually for a specific application, in what is known as a user-defined profile, or it may be a well-accepted, widely-used profile for a specific domain. These domain-specific profiles may be used on an international level and, indeed, the OMG is currently working towards developing a standard set of profiles for specific domains. Examples of domains that may be considered include: real-time application, systems engineering (the so-called SysML - not yet developed enough for inclusion here), process modelling etc.
The use of profiles is, however, a double-edged sword as the whole point of the UML is to enable people to speak a common language. As soon as this language is altered, or...