Chapter 4 Managing Profiles


What is a profile?

A profile is an extension mechanism used for customizing a metamodel with additional semantics. Profiles are used for creating categories of objects (stereotypes and criteria), customizing the graphics of objects, adding additional metadata to objects (extended attributes and forms), defining new or modified generation capabilities (templates), adding methods, transformations, and extended collections on metaclasses and menus.

You create a profile when you need to design a user-defined methodology, a model with predefined meaning or for a specific generation target.

In PowerDesigner, a profile lets you define different extensions for the metaclasses available in the metamodel. Such extensions, like stereotypes, symbols, or checks, are used to complement the standard definition of a metaclass.

Profiles appear in all DBMS, object languages and extended model definitions delivered with PowerDesigner. By default, each new resource file has a profile upon creation.

Example

The PowerDesigner Business Process Model lets you design the various internal tasks and processes of a business and the way partners interact with these tasks and processes.

If you select the ebXML process language, you will benefit from specific stereotypes, extended attributes, templates and other extensions adapted to the ebXML standard. You can use these stereotypes defined in the ebXML process language to further define the processes in your model and turn them into <<BinaryCollaboration>>, <<BusinessTransaction>> and so on.

For more information on ebXML, see the Business Process Model User's Guide .

Extension levels

The extension mechanism can be implemented at different levels:

At the metaclass level When you define an extension in a metaclass, it applies to all instances of the selected metaclass. The extension is global

At the instance level If you define an extension in a stereotype or in a criterion, it applies to the instances with the correct stereotype or that verify the criterion condition. The extension is on a per-instance basis

Inheritance

Profile extensions support inheritance in order to reuse extensions among the metaclasses of a common parent. Common extensions should be defined on abstract metaclasses in order for the concrete metaclasses to inherit from them.

 


Copyright (C) 2005. Sybase Inc. All rights reserved.