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.