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

Design Patterns Discussion :

Comment gérer des états concurrents (parallèles).


Sujet :

Design Patterns

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comment gérer des états concurrents (parallèles).
    Bonjour,

    Je suis en train d'essayer de modéliser le comportement d'une application.
    Je pense pour cela utiliser un diagramme d'état UML et le design pattern State.

    Le problème est le suivant :

    L'application peut-être dans les états :
    - Arrêt (Stopped)
    - Exécution (Running)
    - Pause (Paused)
    - Sécurisé (Safe)

    Indépendemment de ces états, l'application peut également être dans les états :
    - Local
    - Distant (Remote)

    De plus:
    - Les états Local et Distant n'ont pas de sens dans l'état Arrêt.

    Je n'ai pas encore saisi l'utilité de tous les outils UML mis à disposition pour les diagrammes d'état. J'ai cependant créé ces deux diagrammes qui ne sont pour l'instant pas en corrélation:


    et



    Comment corréler ces deux diagrammes ?
    Pensez-vous que je puisse utiliser une seule machine à états pour représenter ces états concurrents ?

    Faut-t-il utiliser des régions et/ou sous-machines (ou autre) ?

    Comment représenter cela dans un diagramme UML et/ou comment le traduire avec le design pattern State.

    Merci pour vos réponses.
    Images attachées Images attachées   

  2. #2
    Membre régulier Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Points : 122
    Points
    122
    Par défaut
    euh, c'es tun avis tout a fait personnel et amateur, donc a prendre avec des pincettes...

    j'aurais tendance à dviser tes etats running paused et safe en

    runningLocal, runningRemote, pausedLocal, ...

    si le comportement est différent suivant ces etats. (a moins que je n'ait pas compris ce que tu entendait par "etats concurrents")

    désolé si je suis à coté du probleme

  3. #3
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    Rien n'empêche un objet d'avoir deux état. enfin, un état pour chaque Machine State.

    Tu as donc bien deux diagrammes, deux machines à état pour un objet. Cela ne pose pas de problème à priori.
    Hervé Delannoy, Ingénieur études&développement.

    Je n'accepte pas les demandes de mise en relation MSN/yahoo sans motif.
    ------------------------------------------------------------------------
    Si , ni , ne peuvent vous aider, mais nous oui, pensez à un pti et au !
    Merci de vous relire
    ____________________________________________________________________________________
    Recherche joueurs de "Magic" sur Lille et environs.
    Donner plutôt que jeter.

  4. #4
    Membre régulier Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Points : 122
    Points
    122
    Par défaut
    J'aurais pensé que ca reviendrait a codé plusieurs fois la meme state machine ... au moins j'avais averti de la qualité de mon avis, shame on me


    (rentré de vacances hed? )

  5. #5
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    (ui, trois semaines )

    ca reviendrait a codé plusieurs fois la meme state machine
    Justement, non, en fait, tu implémente deux fois le pattern state sur un même objet, avec deux machine state différentes.

    On peut envisager que les état interagissent entre eux (on vérifie l'état Connecté/Deconnecté avant de passer de l'état Running à Safe par exemple - je dis n'importe quoi c'est pour l'exemple)
    Hervé Delannoy, Ingénieur études&développement.

    Je n'accepte pas les demandes de mise en relation MSN/yahoo sans motif.
    ------------------------------------------------------------------------
    Si , ni , ne peuvent vous aider, mais nous oui, pensez à un pti et au !
    Merci de vous relire
    ____________________________________________________________________________________
    Recherche joueurs de "Magic" sur Lille et environs.
    Donner plutôt que jeter.

  6. #6
    Membre régulier Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Points : 122
    Points
    122
    Par défaut
    (welcome back then )

    ok merci pour l'explication. (en esperant que ca aidera aussi l'auteur..)

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/10/2006, 12h38
  2. [Reporting] Comment créer des états Crystal Report à partir de VB6 ?
    Par Le Pharaon dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/09/2006, 14h20
  3. [5.5.17] Comment gérer des autorisations
    Par elitost dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 12/09/2006, 20h20
  4. Comment gérer des services par programmation avec Delphi ?
    Par isachat666 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 18/12/2005, 18h54
  5. [Firebird] Comment gérer des groupes d'utilisateur
    Par stundman dans le forum Administration
    Réponses: 3
    Dernier message: 16/11/2005, 13h30

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