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 :

ordre total sur les diagrammes de séquence UML


Sujet :

UML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de YuGiOhJCJ
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 206
    Par défaut ordre total sur les diagrammes de séquence UML
    Bonjour,

    dans un diagramme de séquence UML, on a un ordre partiel sur les spécifications d'occurrence comme on peut le lire dans [1] :
    "A partial order of OccurrenceSpecifications is defined by a set of GeneralOrdering."

    Par contre, il serait possible d'obtenir un ordre total en simplifiant ces diagrammes de séquence d'après [2] :
    "There is a total ordering among OccurrenceSpeciations of a
    basic sequence diagram because concurrency, branches and
    loops do not appear in basic sequence diagrams."

    Le problème, c'est que je ne suis pas d'accord avec [2].
    En effet, la simplification des diagrammes de séquence proposée est telle que seuls les éléments suivants apparaissent :
    -lignes de vie
    -spécifications d'occurrence
    -spécifications d'exécution
    -messages synchrones
    Je parviens avec ces seuls éléments à ne pas obtenir un ordre total.
    Il suffit de prendre un exemple avec 3 lignes de vie et 2 messages :
    (A)

    (B)

    On nomme les spécifications d'occurrence ainsi :
    -om1s: pour la propriété sendEvent du message m1
    -om1r: pour la propriété receiveEvent du message m1
    -om2s: pour la propriété sendEvent du message m2
    -om2r: pour la propriété receiveEvent du message m2
    Dans (A), on se retrouve avec un ordre total :
    car pour tout x et y appartenant aux spécifications d'occurrence, on a x<=y ou y<=x
    Dans (B), on se retrouve avec un ordre partiel :
    car pour x=om1s et y=om2s on ne sait pas si x<=y ou y<=x

    Qu'est-ce que vous en pensez?

    Merci.

    [1] OMG Unified Modeling LanguageTM (OMG UML), Superstructure Version 2.4.1, http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF/
    [2] Detecting Duplications in Sequence Diagrams Based on Suffix Trees, http://sei.pku.edu.cn/~liuhui04/publ...ceDiagrams.pdf

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 546
    Par défaut
    je ne comprends pas votre remarque, le temps s'écoule du haut vers le bas, il n'y a donc aucune ambiguïté sur l'ordre des messages dans vos deux diagrammes.

    De plus vous semblez supposez dans A que send-m2 est la conséquence de receive-m1, mais rien ne l'indique à cause de l'absence des spécifications d'exécution
    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

  3. #3
    Membre confirmé Avatar de YuGiOhJCJ
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 206
    Par défaut
    Sur une même ligne de vie, je suis d'accord que l'ordre des messages est respecté comme le dit [1] :
    "The order of OccurrenceSpecifications along a Lifeline is significant denoting the order in which these
    OccurrenceSpecifications will occur."
    ou encore :
    "OccurrenceSpecifications are ordered along a Lifeline."

    Mais lorsqu'on considère plusieurs lignes de vie, d'où partent des messages, rien ne dit que le message partant de la première ligne de vie part avant l'autre comme on peut le lire dans [1] :
    "The semantics of the Lifeline (within an Interaction) is the semantics of the Interaction selecting only OccurrenceSpecifications of this Lifeline."

    Ainsi, (B) pourrait être représenté ainsi :
    (C)

    Et la sémantique serait la même.

    Je n'ai pas trouvé une information sur le standard UML disant que l'ordre des spécifications d'occurrence est respecté de façon globale sur toutes les lignes de vie à la fois. Si quelqu'un peut citer un passage qui le dit je suis preneur.

    Non, je ne suppose pas forcément que send-m2 est la conséquence de receive-m1 dans (A). Il est possible de ne pas écrire les spécifications d'exécution. Il y a beaucoup d'exemples dans [1] qui n'affichent aucune spécification d'exécution (figures 14.16, 14.22, ...).

    Est-ce que vous êtes d'accord qu'il y aurait un ordre total comme le dit [2] ?

Discussions similaires

  1. [Séquence] Avis sur les diagrammes de séquences
    Par geforce dans le forum Autres Diagrammes
    Réponses: 10
    Dernier message: 22/05/2010, 01h25
  2. Réponses: 0
    Dernier message: 21/04/2009, 16h13
  3. aide sur un diagramme de classe UML
    Par pascal91 dans le forum Diagrammes de Classes
    Réponses: 7
    Dernier message: 29/12/2008, 19h19
  4. Question sur les diagrammes de séquences
    Par Kais94 dans le forum BOUML
    Réponses: 7
    Dernier message: 16/08/2008, 21h54
  5. [Séquence] Votre avis sur un diagramme de séquence
    Par bassim dans le forum Autres Diagrammes
    Réponses: 6
    Dernier message: 11/04/2007, 11h32

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