IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Profils UML versus Méta-Modèle ?

Votants
13. Vous ne pouvez pas participer à ce sondage.
  • Profil UML

    5 38,46%
  • Méta-modèle

    8 61,54%
UML Discussion :

Profils UML versus Méta-Modèle


Sujet :

UML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 53
    Points
    53
    Par défaut Profils UML versus Méta-Modèle
    Bonjour à tous,

    ma question sera simple :
    Quel est la différence en un profil UML et un méta-modèle ?
    Avantages / inconvénients ?

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Le méta-modèle d'UML est la définition du langage UML. C'est ce qui définit les élément de constructions disponibles et comment il peuvent s'assembler. Seulement, UML permet de représenter tout et n'importe quoi. Après tout, tu peux donner la sémantique que tu veux aux carrés et aux traits que tu dessines ! Cela fait sa force mais parfois sa faiblesse.
    Pour pouvoir specialiser UML pour un usage spécifique (base de donnée, biologie, recette de cuisine ), le méta-modèle a la capacité d'être étendu pour intégrer de nouvelles constructions et de nouvelles régles d'assemblage adaptées au domaine traité. Paradoxalement, on ajoute des informations au métamodèle UML (stéréotypes + contraintes) pour restreindre ses possibilités. (sous-entendu, enlever la possibilité de faire n'importe quoi)

    Un profil UML est donc un ensemble de stéréotypes et de contraintes qui vient compléter la définition standard d'UML (i.e, le métamodèle UML).
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 53
    Points
    53
    Par défaut
    je suis d'accord avec toi mais pas complètement convaincu

    Poursuivons autour d'un exemple :

    Je souhaite "(méta)modèliser" ... disons ... une bibliothèque.
    Si j'utilise juste UML, je manipulerai des classes et des attributs auxquels on attache la sémantique qu'on veut (livre, auteur, ...) mais mon métamodèle sera pollué par des notions UML dont je n'ai pas besoin et qui n'ont pas de sens dans le contexte.
    En utilisant un profil, je concrétise la chose en fixant le vocabulaire et en délimitant bien mon contexte.
    Maintenant, si je souhaite me détacher d'UML, en restant fidèle au MOF, je peux aussi définir un métamodèle en utilisant directement mon jargon. Ainsi j'ai directement un métamodèle spécifique sans le vocabulaire UML ni de notions de stéréotypes/contraintes.

    Question : Quel est la différence entre le profil "Bibliothèque" (basé sur UML) et le métamodèle "Bibliothèque" (basé sur le MOF) ?

  4. #4
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Citation Envoyé par rod59 Voir le message
    Question : Quel est la différence entre le profil "Bibliothèque" (basé sur UML) et le métamodèle "Bibliothèque" (basé sur le MOF) ?
    1. profil "Bibliothèque" (basé sur UML) : tu spécialises le langage UML à ta sauce.
    2. métamodèle "Bibliothèque" : tu créés ton propre langage.


    L'argument est faveur de la première solution est très pragmatique : il s'agit de démarrer d'un existant (le langage UML) et de bénéficier in-fine de tous les outils existants qui gravite autour de ce langage. Par exemple, n'importe quel bon outil CASE pour UML permet le chargement de profil (ex: bibliothèque) Dès lors, tu disposes d'un outil complet pour modéliser ta bibliothèque. C'est l'outil par exemple qui va proposer une palette graphique adéquate, qui va s'occuper de vérifier que tu assembles correctement tes élément de constructions (vérif des contraintes du profil), te permettre des exportations dans divers format (XML, PNG, ..), etc...

    Maintenant, tu peux créer ton propre langage "bibliothéque" en utilisant le langage du MOF (ou équivalent). C'est l'idéal évidemment puisque tu obtiens un DSL (domain specific language) parfaitement adapté et sans aucune notion superflue. C'est bien. Mais il va falloir "outiller" tout cela pour que cela soit utile. Et là ya du boulot !

    Le principe des DSLs est le plus séduisant mais il faut construire toute l'infrastructure autour pour l'exploiter. Cela prends du temps et coute de l'argent. En attendant, les profils sont beaucoup moins couteux puisque l'on se "branche" sur l'existant. Mais les chercheurs réfléchissent à des moyens de générer automatiquement une infrastructure à partir d'une définition de langage. N'importe qui pourra alors créer et outiller son langage en un temps record.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 53
    Points
    53
    Par défaut
    Je vois qu'on s'est bien compris ...
    Ce post pourrait se transformer en [Débat] je pense ...

    Très intructif ...
    @+

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 16
    Points
    16
    Par défaut Outillage pour l'utilisation de méta-modèles : EMF
    Petit ajout par rapport à la discussion : il existe maintenant des moyens de générer l'outillage lorsque l'on part d'un méta-modèle.
    En particulier, l'initiative EMF (Eclipse Modeling Framework) permet de générer une API, un éditeur graphique et un ensemble de classes permettant de réaliser des applications à partir d'un méta-modèle.
    EMF s'appuie sur Ecore, un méta-méta-modèle qui peut être vu comme un sous-ensemble du MOF.

    Pour tout savoir sur EMF : http://www.eclipse.org/modeling/emf/

    Lire aussi Cours et tutoriels pour apprendre UML surtout celui ci : Cours complet pour apprendre UML 2.0, une série de tutoriels par Laurent Audibert

  7. #7
    Nouveau membre du Club Avatar de big x
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Points : 38
    Points
    38
    Par défaut
    Un nouveau métamodèle n'a d'intérêt que si l'on cherche à définir des éléments qui n'existent pas déjà dans UML.

    Si on part d'un méta-méta-modèle pour définir des méta-classes semblables à celle de la superstructure d'uml, c'est un peu comme réinventer la roue...

    A mon avis, les profils sont plus adaptés aux besoins actuels (majoritairement informatiques).

    Il y a la théorie, sur laquelle je suis favorable aux DSL, mais en pratique c'est superflu car les techniques de profil UML permettent énormément de choses, et bien assez pour 90% des cas actuels à mon avis.

    Un lien intéressant sur les techniques de profil UML2 : http://www.eclipse.org/modeling/mdt/...u/article.html
    MDA tralala...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Le méta modèle UML en ecore: Comment avoir uml.ecore?
    Par javajava dans le forum Eclipse Modeling
    Réponses: 2
    Dernier message: 04/06/2014, 17h38
  2. Le méta-modèle UML
    Par mulx05 dans le forum UML
    Réponses: 1
    Dernier message: 11/11/2011, 17h38
  3. Méta modèle UML
    Par masterist dans le forum UML
    Réponses: 18
    Dernier message: 04/05/2011, 20h41
  4. création des tables d'un méta modèle à partir d'UML sous oracle
    Par azerty951 dans le forum Conception/Modélisation
    Réponses: 0
    Dernier message: 14/05/2010, 19h27
  5. Méta Modèle UML
    Par fairyyoy dans le forum Eclipse
    Réponses: 13
    Dernier message: 27/03/2009, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo