Extensions Quick Reference

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.


Example - Form in Form 1

Creating Extensions from a Property Sheet

Working with Extension Files

Types of Extension

You can extend the metamodel in the following ways:
  • 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.

Documentation

For detailed documentation, see Customizing and Extending PowerDesigner > Extension Files.