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

UML Discussion :

Contraintes de template sous UML


Sujet :

UML

  1. #1
    kot
    kot est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 17
    Points : 10
    Points
    10
    Par défaut Contraintes de template sous UML
    Bonjour à tous,

    J'ai un petit problème de modélisation sous UML lié aux template:
    Je décris un cadriciel (framework) qui fait la chose suivante:

    Une classe A est paramétrée par les types T1 et T2.
    Les classes pouvant être passé en paramètres de T1 doivent avoir telle ou telle méthode, tel ou tel attribut
    Les classes pouvant être passé en paramètres de T2 doivent avoir telle ou telle méthode, tel ou tel attribut (a priori différent de T2)

    Les classes pouvant être passées en paramètres T1 et T2 ne sont pas a priori de notre responsabilité (elles peuvent avoir été développées par qqu'un d'autres sans connaître le cadriciel).

    Comment décrire cela sans passer par l'héritage.
    J'ai pensé à OCL, aux interfaces et liens d'implantation mais aucune méthode ne me permet d'aller au bout (pour l'instant)

    Ce que je veux faire c'est en gros exprimer ce qu'on peut faire en ADA avec la clause with du mot clé generic pour les amateurs...

    D'avance ....

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Quand tu parles de "classe paramétrée", tu penses aux templates style C++ ?
    Si oui, en UML, on n'a pas (en tout cas avec Rational Rose), la possibilité d'expliquer que des paramètres d'une classe paramétrée sont d'un type particulier.
    Si ton problème n'est pas là et que tu as simplement ta classe A qui prend en paramètre 2 objets de 2 classes (T1 et T2), je ne vois que l'utilisation de classes ou d'interfaces pour exprimer tes contraintes sur les classes T1 et T2. C'est l'objet ça, tout simplement.

  3. #3
    kot
    kot est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Oui je parle de classes template comme en c++
    Mais il existe la même chose en ADA avec le mot clé generic

    UML a les outils nécessaires pour représenter le fait qu'une classe est template et pour préciser le nom des paramètres template (nom du paramètre formel et du paramètre effectif)

    Par contre, je n'ai pas trouvé de moyen pour contraindre ces paramètres (cf. post précédent)

    Rq: sous Objecteering c'est possible de faire du template

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 532
    Points : 6 704
    Points
    6 704
    Par défaut
    le fait de pouvoir contraindre les paramètres des templates est langage dépendant, tu ne trouvera donc rien au niveau UML pure a ce sujet. Il te faut donc trouver un modeler UML générant de l'ADA pour espérer indiquer ces contraintes sans simplement l'indiquer dans la description de ta classe ou via une note dans un diagramme etc ... En tout cas je n'ai rien mis de spécial a ce sujet dans Bouml
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  5. #5
    kot
    kot est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Yop,

    merci pour ton aide je vais faire un tour chez bouml tt de suite.

    Par contre, je ne suis pas d'accord avec ce que tu dis:
    contraindre les paramètres n'est pas dépendant du langage.

    Je peux souhaiter contraindre l'existance de méthodes et attributs.
    Quel que soit le langage si
    - j'ai une classe A paramétrée par T
    - A utilise les méthodes toto et titi sur la classe de type T
    - si j'instancie A avec B
    - il faut bien que B possède les méthodes titi et toto

    En tout cas, ça marche en C++ et en ADA. En ADA, on écrit proprement les contraintes, en C++ le compilateur râle sur la ligne où la méthodes titi est appelée.

    J'ai besoin d'écrire ces contraintes car je suis en train de décrire un Framework. Et tout l'intérêt de mon framework réside dans les contraintes...

    edit: sur fautes d'orthographes...

  6. #6
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 532
    Points : 6 704
    Points
    6 704
    Par défaut
    ok, je pensais à une description explicite des contraintes et non implicite du style "utilise dans le code"
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  7. #7
    kot
    kot est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Je veux quand même que ce soit écrit clairement sur mon diagramme du style:
    toutes les classes passées en paramètre T1 doivent implanter l'interface I1
    Le problème est d'écrire "toutes les classes passées en paramètre T1"
    Tout ce que je sais écrire c'est T1 implante l'interface I1
    avec une note dégueulasse qui dirait: Dans ce diagramme T1 représente toutes les classes pouvant être passées en paramètre T1
    Je voudrais faire mieux

    Il y a peut être d'autres solutions que de passer par les interfaces...

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

Discussions similaires

  1. Template sous unix (cc)
    Par loicbar dans le forum Linux
    Réponses: 6
    Dernier message: 06/11/2006, 19h12
  2. [C++] - Instanciation templates sous Unix (gcc)
    Par vdumont dans le forum Linux
    Réponses: 7
    Dernier message: 16/03/2006, 00h12
  3. Template sous freebsd
    Par BigBeni dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 24/11/2005, 23h42
  4. Template sous QNX
    Par BigBeni dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 02/11/2005, 16h45
  5. [UML]modéliser une application J2EE sous UML
    Par stago dans le forum Java EE
    Réponses: 4
    Dernier message: 22/02/2005, 11h14

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