La création ou la modification de modèles EMF de manière interactive s'effectue à l'aide des éditeurs générés par EMF ou de modeleurs graphiques.
Ces types d'éditeurs permettent facilement de construire les éléments d'un modèle et les liens qui existent entre eux.
Par contre, les fonctionnalités qu'ils mettent à disposition pour l'alimentation des propriétés des éléments sont beaucoup moins
pratiques d'utilisation. Certains éditeurs proposent des interfaces graphiques spécifiques mais la plupart ne mettent à disposition
que la vue standard des propriétés générée en automatique.
Cette liste de propriétés éditables n'est pas toujours adaptée au besoin car elle comporte souvent énormément d'informations
pas toujours nécessaires selon le cas d'utilisation. De ce fait, la recherche d'une propriété particulière est parfois assez fastidieuse.
Un autre défaut de cette liste apparaît lors de l'affectation de sa valeur à une référence, la selection d'un élément s'effectuant à partir
d'une liste de candidats surpeuplée n'est pas très pratique.
MAD est un outil réalisé pour se substituer à la vue standard des propriétés. il permet à partir d'une configuration de présenter une interface de
saisie personalisée de type formulaire pour chaque type d'élément édité. Il ne nécessite aucune génération de code et toute modification de
la configuration est prise en compte immédiatement.
Les formulaires d'édition MAD sont constitutés de widgets configurables, les éléments à éditer et leurs propriétés sont obtenus à partir de requêtes sur les modèles.
MAD est totalement extensible, il fournit de base un ensemble de widgets mais il est possible de créer ses propres widgets, le langage de requête
par défaut est OCL mais il est possible de créer ses propres langages et leurs interpréteurs pour les utiliser dans les configurations MAD.
Descriptif:
MAD fournit pour un modèle en cours d'édition, une vue hébergeant un formulaire composé de widgets permettant
pour un élément sélectionné l'édition de ses propriétés, ses sous éléments ou tout autre élément du modèle ou de modèles liés.
Support de requêtes multi-langages, multi-modèles et de sous-requêtes.
Déclaration de requêtes réutilisables.
Manipulation des modèles par MAD:
Modèle Principal / Modèles Etrangers : le modèle en cours d'édition est le modèle principal
des modèles dits étrangers entretenant à travers leurs éléments une liaison sémantique
avec certains éléments du modèle principal peuvent également être accédés et manipulés.
Accès aux éléments par requêtes.
Création, suppression et déplacement des éléments par des requêtes transactionnelles MAD.
Compatibilité DSL Xtext : les modèles Xtext peuvent être édités et manipulés avec MAD.
Autres fonctionnalités:
I18N pour tous les labels et messages.
Règles de validation.
Référentiels de requêtes, commandes et constantes.
Si vous souhaitez utiliser MAD avec UML Designer vous devez installer la feature UML Designer Support.
Si vous souhaitez utiliser MAD avec un modeleur généré avec GMF vous devez installer la feature GMF Support.