Vous pouvez étendre le métamodèle de l'un des façons suivantes :
En ajoutant ou sous-classifiant de nouveaux types d'objet :
Métaclasses (Profile) – pour sous-classifier les objets
Stéréotypes (Profile) [métaclasses et stéréotypes uniquement] – pour sous-classifier les objets.
Critères (Profile) – pour évaluer les conditions permettant de sous-classifier les objets.
Objets, sous-objets et liens étendus (Profile) – pour créer de nouvelles catégories d'objet.
En permettant de visualiser les connexions entre objets :
En ajoutant de nouvelles propriétés aux objets :
Attributs étendus (Profile) – pour fournir des informations supplémentaires.
Collections et compositions étendues (Profile) – pour permettre de lier manuellement des objets.
Collections calculées (Profile) – pour permettre de de lier automatiquement des objets.
Formulaires (Profile) - pour afficher des onglets de propriétés ou boîtes de dialogue personnalisés.
Symboles personnalisés (Profile) - pour identifier visuellement les objets.
En ajoutant des contraintes et des règles de validation aux objets :
Vérifications personnalisées (Profile) – pour permettre de tester les données.
Gestionnaires d'événement (Profile) – pour appeler les méthodes lorsqu'ils sont déclenchés par un événement.
En exécutant des commandes sur les objets :
Méthodes (Profile) – pour être appelées par d'autres extensions de profil telles que les menus et boutons de formulaires (écrits en VBScript).
Menus (Profile) [métaclasses et stéréotypes uniquement] – pour personnaliser les menus PowerAMC.
En générant des objets de nouvelles façons :
Templates et fichiers générés (Profile) - pour personnaliser la génération.
Transformations et profils de transformation (Profile) – pour automatiser les changements effectués sur les objets lors de la génération ou à la demande.
Conflit d'extensions Etant donné que vous pouvez attacher plusieurs fichiers de ressources à un modèle, (par exemple, un langage cibble et une ou plusieurs définitions étendues de modèle), vous pouvez créer des conflits, dans lesquels plusieurs extensions (par exemple, deux définitions de stéréotype) ont été définies sur la même métaclasses dans des fichiers de ressources séparés. En cas de conflit, l'extension de définition étendue de modèle prévaut généralement. Lorsque deux définitions étendues de modèle sont en conflits, celle située en début de liste se voit accorder la priorité