Profiles


A profile is a stereotyped package that contains model elements that have been customized for a particular platform (for example, J2EE or Microsoft .NET), domain (such as business process modeling), or purpose (for example, security thread modeling). The most common way to customize these elements involves the use of stereotypes.

Let's look at some of the contents of some sample profiles contained within the UML specification [1] and a separate profile also commissioned by the Object Management Group (OMG), which is the body responsible for ongoing work on the UML.

The example profile for Enterprise JavaBeans includes a number of stereotypes that have appeared in different forms in this book, including ‚ «EJBEntityBean ‚ » (called ‚ «entity bean ‚ » in Figure 3-4) and ‚ «JAR ‚ » (called an ‚ «artifact ‚ » in Figure 9-8). Other stereotypes that might belong to an EJB profile include the following:

  • ‚ «EJBMessageBean ‚ » (The component is invoked by the arrival of a message.)

  • ‚ «EJBBusiness ‚ » (The method supports an element of business logic of the bean.)

  • ‚ «EJBRoleName ‚ » (The actor is a security role used, for example, to define permissions for method invocations.)

The stereotypes presented for possible COM and .NET profiles include the following:

  • ‚ «COMAtlClass ‚ » (The class is an ATL [Active Template Library] class that realizes a CoClass and provides its implementation.)

  • ‚ «COMInterface ‚ » (The class is a component interface.)

  • ‚ «COMDLL ‚ » (The artifact is a component library.)

  • ‚ «NETAssembly ‚ » (The package is an assembly, which contains components and other necessary type definitions.)

See Rogerson [2] to learn more about COM and Chappell [3] to learn more about .NET.

The Software Process Engineering Metamodel (SPEM) [4] describes a foundation for defining a software development process. The specification, when expressed as a UML profile, defines a variety of stereotypes, including the following:

  • ‚ «WorkProduct ‚ » (This is the rough equivalent of the UML's ‚ «artifact ‚ »; a work product is defined as anything produced, consumed, or modified by a process.)

  • ‚ «WorkDefinition ‚ » (This describes an aspect of work performed within the process.)

  • ‚ «Guidance ‚ » (This provides people with advice about how to use other elements of the model; subtypes of ‚ «Guidance ‚ » include ‚ «Guidelines ‚ » and ‚ «Examples ‚ ».)

You can use the ‚ «apply ‚ » stereotype to signify that a given profile has been applied to a particular package. Figure 10-1 shows two example profile applications.


Figure 10-1: Profile applications

Note that CCM stands for CORBA Component Model.

On a related note, an extension is an association that indicates that the properties of a particular metaclass (see the section "Other Stereotypes on Classes" in Chapter 1) are extended through a particular stereotype.

Figure 10-2 shows how EJBHome (see the section "Design-Level Class Diagrams" in Chapter 3) serves to extend the UML metaclass Interface.


Figure 10-2: Extension

[1] Object Management Group, Unified Modeling Language: Superstructure, Version 2.0 , ptc/03-07-06.

[2] Dale Rogerson, Inside COM: Microsoft's Component Object Model (Seattle, WA: Microsoft Press, 1997).

[3] David Chappell, Understanding .NET: A Tutorial and Analysis (Boston, MA: Addison-Wesley, 2002).

[4] Object Management Group, Software Process Engineering Metamodel Specification, Version 1.0 , formal/02-11-14.




Fast Track Uml 2.0
Fast Track UML 2.0
ISBN: 1590593200
EAN: 2147483647
Year: 2004
Pages: 97

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net