• [^] # Re: MDA ? Mon c** !

    Posté par . En réponse au journal Generate Early, Generate Often !. Évalué à 3.


    Vous aurez compris, les AGL ou autres outils travaillant sur les modèles UML existant sur le marché, malgrès leur "MDA compliant", ne couvrent que le dernier aspect ... et qui n'entre pas vraiment dans le champs du MDA. Cherchez l'erreur.

    Tu es un peu réducteur.

    Effectivement Acceleo ne permet pas la transformation de modèle à modèle mais juste la génération de code.
    Acceleo est l'équivalent de MIA Generation mais ne propose pas l'equivalent de MIA Transformation.
    Si tu veux un outil libre qui recouvre complétement le MDA, il faut t'orienter vers openArchitectureWare ( http://www.openarchitectureware.org ) sauf que pour la partie genération Acceleo est nettement plus convivial.
    Le fait qu'il se base sur EMF (l'impleméntation Eclipse d'un sous ensemble du MOF) pour parser les modèles le rend donc MDA compliant.
    L'avantage de cette standardisation est jutement que tous les outils même s'il ne couvre pas toute la chaîne peuvent coopérer plus simplement puisqu'il se basent tous sur le même métamodèle.

    D'ailleurs au sens de MDA, le code peut lui aussi être considéré comme un modèle. La grammaire du langage est le métamodèle du code tout comme UML dipose d'un métamodèle pour decrire les modèles UML. Le MOF est le méta-méta-modèle au dessous de tous ces méta-modèles. Donc tout méta-modèle peut (devrait pouvoir) être décrit par le MOF. Du coup les profils UML que tu cites ne sont pas la seule façon d'aborder la problématique de la génération de code. Une autre école considère que plutôt que d'utiliser un langage généraliste qui s'adapte à un besoin en le spécialisant au travers d'un profil autant utiliser un langage dédié au domaine du problème et générer à partir de là.
    On créé alors un Domain Specific Language.
    http://en.wikipedia.org/wiki/Domain-specific_programming_lan(...)
    Et là encore Eclipse fournit toutes les briques nécessaires par l'entremise de GMF (Graphical Modeling Framework).