Extensions files (*.xem) allow you to
customize and extend the PowerDesigner metamodel to support your exact modeling
needs. You can define additional properties for existing objects or specify
entirely new types of objects, modify the PowerDesigner interface (reorganizing
and adding property sheet tabs, Toolbox tools and menu items), and define
additional generation targets and options.
Extension files have an .xem extension and are located in
install_dir/Resource Files/Extende Model
Definitions. To view the list of extensions, select . For information about the tools
available in resource file lists, see PowerDesigner Resource Files.
Each extension file contains two first-level categories:
-
Generation - used to develop or complement the default
PowerDesigner object generation (for BPM, OOM, and XSM models) or for
separate generation. For more information, see
Generation Category.
-
Profile - used for extending the metaclasses in
the PowerDesigner metamodel. You can:
- Create or sub-classify
new kinds of objects:
- Metaclasses – drawn from the metamodel as a basis for extension.
- Stereotypes [for metaclasses and stereotypes only] – sub-classify
metaclasses by stereotype.
- Criteria – sub-classify metaclasses by evaluating conditions.
- Add new properties and collections to
objects and display them:
- Extended attributes – to add
metadata.
- Extended collections and
compositions – to enable manual linking between objects.
- Calculated collections – to
automate linking between objects.
- Dependency matrices – to show
dependencies between two types of objects.
- Forms – to modify property sheets and add custom dialogs.
- Custom symbols – to change the
appearance of objects in diagrams.
- Add constraints and
validation rules to objects:
- Custom checks – to test the validity of your models on demand
- Event handlers – to perform
validation or invoke methods automatically.
- Execute commands on
objects:
- Methods – VBScripts to be invoked by menus or form buttons.
- Menus [for metaclasses and
stereotypes only] – to add commands to PowerDesigner menus.
- Generate objects in new
ways:
- Templates – to extract text from object properties.
- Generated Files - to assemble templates for preview and generation of
files
- Transformations – to automate
changes to objects at generation or on demand.
- Map correspondences between different metamodels:
- Object generations - to define mappings between different modules in the
PowerDesigner metamodel for model-to-model generation.
- XML imports - to define mappings between an XML schema and a
PowerDesigner module to import XML files as models.
Note:
Since you can attach several resource files to a model (for example,
a target language and one or more extension files) you can create conflicts, where
multiple extensions with identical names (for example, two different stereotype
definitions) are defined on the same metaclass in separate resource files. In case
of such conflicts, the extension file extension usually prevails. When two XEMs are
in conflict, priority is given to the one highest in the List of Extensions.