UML Profiles

UML Profiles provide a generic extension mechanism for building UML models in particular domains. They are based on additional Stereotypes and Tagged values that are applied to Elements, Attributes, Methods, Links, Link Ends and more. A profile is a collection of such extensions that together describe some particular modeling problem and facilitate modeling constructs in that domain. For example the UML Profile for XML as defined by David Carlson in the book "Modeling XML Applications with UML" pp. 310, describes a set of extensions to basic UML model elements to enable accurate modeling of XSD Schemas.

Enterprise Architect has a generic UML Profile mechanism for loading and working with different Profiles. UML Profiles for Enterprise Architect are specified in XML files, with a specific format - see the examples below. These XML files may be imported into EA in the Resource page of the project browser. Once imported, you may drag and drop Profile elements onto the current diagram. EA will attach the stereotype, tagged values and default values, notes and even metafile if one is specified, to the new element. You can also drag and drop attributes and operations onto existing classes and have them immediately added with the specified stereotype, values etc.

To get you started, some profiles are supplied below for downloading and importing into EA. Over time we will expand the range of Profiles, the content of each profile and the degree of customization possible in each profile. Remember, you can always create your own profiles to describe modeling scenarios peculiar to your development environment. Some more details on working with Profiles is provided below also.

General Information on UML Profiles in EA

UML Profile for XSD Schema (from "Modeling XML Applications with UML" by David Carlson)
This profile defines a set of stereotypes and tagged values for defining XSD Schemas
XSD Schema Profile

UML Profile for Business Process Modeling UML Profile for Business Modeling
derived from the example profile in the UML 1.4 Specification

Eriksson-Penker Extensions for Business Process Modeling (from "Business Modeling with UML" by Hans-Erik Eriksson and Magnus Penker)
Revised version provided by Cephas Consulting, this profile is used to define a set of stereotypes for working with Business Activities, Processes, Objects and Information flows.

UML Profile for Open Distributed Processing (UML4ODP)
Meta-Models and Enterprise Architect profile resources provided by Barry Steer, of SteerConsulting Services.
ODP Profile

UML Profile for Web Modeling (from "Building Web Applications with UML" by Jim Conallen)
Defines a set of stereotypes for working with Web pages, Servers, Scripts, ASP, JSP and more.
Please note that Enterprise Architect 7.5 and later includes the Web Modeling Profile

UML Profile for SPEM (from "Software Process Engineering Metamodel Specification" by the OMG)
Defines a set of stereotypes for defining processes and their components using the SPEM Specification.
Please note that Enterprise Architect 7.5 and later includes the SPEM 2.0 Technology.
SPEM Profile

Working with UML Profiles in Enterprise Architect

Importing a UML Profile

To import a profile you will need a suitable Profile XML file (as in the examples supplied above). If the Profile includes references to any Metafiles, they should be in the same directory as the XML profile.
To import a profile, follow the steps below:

  1. Right click on the UML Profiles tree node in the Resources View and select Import Profile from the context menu - as in the to the right.
  2. The Import UML Profile dialog will open.
  3. Locate the XML Profile file to import using the Browse [...] button.
  4. Set the required import options for all stereotypes defined in the profile - you can select to import:
    • Element Size yes/no - check this to import the element size attributes.
    • Color and Appearance yes/no - check this to import the color (background, border and font) and appearance (border thickness) attributes.
    • Alternate Image yes/no - check this to import the metafile image.
    • Code Templates yes/no - check this to import the code templates if they exist.
    • Overwrite Existing Templates yes/no - check this to overwrite any existing code templates defined in the current project.
  5. Press Import.

Using Profile Elements

The image displayed to the right details the profiles branch for the UML Business Profile and the available stereotyped UML elements

You use the profile elements in the following manner:

  • Elements such as classes and interfaces can be dragged directly from the resource window to the current diagram
  • Attributes can be dragged over a host element (EG. Class) - they will automatically be added to the element feature list
  • Operations are like Attributes - drag over a host element to add the operation
  • Links such as Associations, Generalization, Dependency are added by selecting them in the browser, then click on start object in a diagram and drag to the end object (in the same manner as adding normal links. The link will be added with the new stereotype and tagged value information.
  • Association Ends can be added by dragging the link end element over the end of an Association in the diagram

Deleting a Profile

To delete a profile, right click on the profile to remove and select the 'Delete Profile' context menu option. Note that this will not adversely affect elements already defined using this profile. If a stereotype that was imported using the Profile is in use, it will not be deleted from the model when you delete the profile.

Reloading a Profile

To reload a profile, you first delete the profile as above and then import again. A future version of EA will include the ability to refresh a profile.

An example diagram built with Profile elements illustrates the display of stereotypes and tagged values: