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 :

UML peut-on modéliser le monde ?


Sujet :

UML

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut UML peut-on modéliser le monde ?
    Bonjour à tous,

    Nous connaissons tous l'utilité d'UML pour modéliser nos programmes, et nous dépatouiller de nos labyrinthes intellectuels, mais je me demande si il est possible d'utiliser ce langage pour autre chose que l'informatique.

    J'ai vu son utilisation pour modéliser des systèmes d'entreprise, les business process, activités etc, et je pense qu'on peut l'utiliser pour tout ce qui est du type système. Je pense meme qu'il peut remplacer tout autre type de diagramme, et que peut etre un jour il sera un vrai mode de communication entre les acteurs de différentes discipiline, comme un économiste avec un informaticien, ou un biologiste.

    J'ai pas encore trouvé de limite.

    Ah si une: c'est possible de modéliser la notion de déplacement avec, par exemple qu'un programme, ou fichier se déplace dans un autre machine ou dossier.

  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
    UML est un langage de représentation de connaissance par Objet (RCO). A ce titre, il peut être utilisé pour représenter tout et n'importe quoi et va bien au delà des SI. Par exemple, je suis tombé dernièrement sur un article d'un professeur de médecine qui utilisait UML pour représenter différents virus. Il n'y a rien d'étonnant à cela, car les travaux sur la représentation de la connaissance (les objets en sont une forme) ne sont pas propres au domaine informatique, elle sont la transposition des concepts et des relations de l'univers du discours et du monde qui nous entoure. Par exemple, dans le modèle de représentation par objets, la relation de spécialisation n'est que la transposition de la relation de subsomption qui existe entre les concepts de l'univers du discours.

    Ceci étant dis, il faut bien se rendre compte que UML est un langage "general-purpose", destiné à représenter tout et n'importe quoi (les profils UML ont justement pour but de le rendre "specific-purpose"). Donc pour répondre à ta question, si tu sais ramener le monde qui t'entoure à un ensemble fini de concepts et de relations, UML est un choix envisageable.
    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 averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    Mais qu'elles sont les autres types de diagrammes. Enfin je veux dire, que tu dis "héphaistos" que si je peux ramener mon système à une ensemble d'objets et de relation je peux utiliser UML.

    Est ce qu'on ne peut pas tout ramener à des objets. Tu semble avoir une bonne culture sur le sujet.

  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
    2 réponses :
    - Tout peut être ramené à un modèle objet, mais cela demande plus ou moins d'effort.
    - Concernant UML, les 9 diagrammes sont censés supporter n'importe quel type de connaissance.

    Tu parlais de fichier qui se déplacent, dans le temps je suppose. Remarques que tu peux :
    • vouloir exprimer simplement le fait qu'un fichier possède la faculté d'être déplacé. Dans ce cas, une classe "fichier" implémentant une interface "movable" suffit à représenter cette connaissance.
    • Vouloir exprimer un déplacement bien précis, étape par étape. Dans ce cas, tu peux par exemple utiliser un diagramme de séquence pour illustrer un déplacement donné.


    Dans ces exemples, il ne faut pas chercher à faire correspondre le modèle et une implémentation dans un langage quelquonque. Il s'agit plutôt d'utiliser UML comme un langage générique de représentation de connaissance. Par exemple, le professeur de médecine utilisait le diagramme de classe pour montrer les classes de virus et leurs dérivés (relation de spécialisation), ainsi que des combinaisons de virus (relation d'aggregation), etc...
    Sa connaissance des virus a été parfaitement représentée et correctement transmise au public via la notation UML, sans aucun lien avec une future implémentation dans un langage de programmation.
    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 averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    Je m'exerce à modéliser des diagrammes de biologie en UML. L'idée est de représenter les processus en biologie par des diagrammes, primo par ce qu'il y a rien de formelle en biologie (un fléche peut représenter un mouvement comme un action), et que ca permet de s'y comprendre entre informaticien et biologiste).

    Et je constate un problème, peut etre du à un manque d'habitude de ma part.
    En biologie tout est trés dynamique, par exemple:
    - 2 molécules s'aggrègent pour en former une nouvelle --> nouveau nom et un nouveau comportement surtout. On pourrait en UML dire que la nouvelle molécule est un objet faisant l'aggrégation des deux autres molécules. Je trouve ca un peu bizarre. C'est comme une aggrégation, ou lorsque les membres sont détruits l'aggrégé l'est aussi. Je suis peut etre dans le cas d'une association ternaire (à étudier...)

    - le typage est dynamique, c'est à dire qu'un objet au cours de son cycle de vie vas exprimer des aptitutes et en perdre d'autres. C'est plus qu'un changement d'état des propriétés, car il y a changement des interfaces.
    Par exemple nous appartenons à la classe humain, et nous apprenons un métier, par exemple informaticien, ce qui correspond à acquérir l'interface Informaticien (avec les méthodes créer programme, débugger etc..).
    Comment dire qu'une Classe réalise une interface, dynamiquement.

    - pour le concept de déplacement, c'est quand meme pas gagné. Je vois pas trés bien comment s'en sortir avec un diagramme de séquence, ou bien c'est un peu tricky. Peut etre avec l'utilisation des travées.



    En UML, on a tendance à poser toute les classes et interfaces sur le papier puis à décire les relations entre elles, et au cours du temps. Mais je vois pas un niveau méta qui dirait que le programme produit dynamiquement de nouvelles classes ou que le typage d'une classe peut changer. Ou je sais pas comment faire.

  6. #6
    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
    C'est clair que pour ton problème UML n'est peut-être pas le meilleur choix.

    Pour le problème du comportement dynamique, connais-tu l'ensemble des comportement envisageables au cours du cyle de vie ?
    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

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    oui, on connais à l'avance l'ensemble des comportements que peut adopter un système (molècule, cellule, animal, écosystème etc...)

    Je pense que UML est trés bien, surtout que les informaticiens connaissent ce langage.

    Ce que je cherche c'est plutot à étendre UML pour répondre aux besoins spécifiques de la biologie (à grand renfort de stéréotype notamment).

    J'essai de trouver d'autres langages de modélisation.

    Je viens de voir en cybernétique une notion trés importante, qui est celle de boucle de rétrocontrole (concepte majeure en biochimie). Dans une boucle de rétroncontrole les éléments agissent les uns sur les autres, et on met des + sur les fléches et on met des plus si l'action est activatrice, et des - dans le cas contraire. Bien sur on se réfère à une tendance du système dans un contexte donné. Ce qui est le plus difficile dans un gros diagramme de biochimie (avec 50 - 100 éléments) et de bien voir les différentes boucles qui existe est leurs relations.

    J'ai découvert également les diagrammes conceptuels de données.

    J'essai d'en trouver d'autres pour trouver une inspiration.

  8. #8
    Membre éclairé
    Avatar de N_I_C_S
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 450
    Points : 681
    Points
    681
    Par défaut
    Salut,

    j'ai l'impression que cette boucle de rétrocontrôle ressemble à une matrice.

    Sinon, le problème de cette idée de classes dynamiques, c'est qu'elles doivent être elle-même crées par des méta-classes, qui elles-mêmes doivent être crées, ...

    On touche là à la limite des capacités humaines, aucun système d'axiomes n'est consistant (voire les travaux de TURING).

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/05/2009, 13h52
  2. peut-on modéliser une courbe (logiciel) ?
    Par cooldesource dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 11/01/2007, 16h15
  3. [UML] Propositions de modélisations
    Par MD Software dans le forum UML
    Réponses: 10
    Dernier message: 19/02/2006, 21h30
  4. [UML]méthode de modèlisation
    Par alaie dans le forum Débuter
    Réponses: 3
    Dernier message: 03/12/2005, 18h29

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