En pratique ce n'est pas souhaitable car cela donne des résultats ne tirant pas partie des idiomes de la plateforme cible, et donc très lourds (relecture difficile, etc.).
Dans ce cas, le problème vient soit du traducteur qui était mal fait, soit du
fait qu'en partant d'une implantation (Java par exemple) on ne dispose pas
d'assez d'éléments "de haut niveau" sur le problème pour faire une
transformation efficace. En effet, avec une implantation on peut trouver le
comment mais pas le pourquoi.
Lorsque tu lis du code, si tu es comme moi, tu cherches à trouver ce que fait
le programme. Le code lui même ne suffit pas, il faut déjà savoir quel est le
problème qui doit être résolu, dans quel contexte... bref tous les éléments qui
était avant décrit comme de la documentation (nom des variables,
commentaires,...)
L'idée pour pouvoir faire des transformations de qualités c'est de prendre ces
éléments en compte, et donc de partir du modèle et non du code.
Pourquoi serait-ce différent avec les langages de modélisation ?
Justement parce-qu'un modèle est sensé avoir une sémantique de plus haut niveau
que du code.
J'imagine que s'il y a plusieurs langages de modélisation
En pratique, pas vraiment. Le langage UML est considéré comme le langage de
modélisation standard (et MOF le langage de méta-modélisation) et a part
Microsoft (qui à dit comme d'hab ? ;), les académiques et industriels le
suivent. C'est la plus belle réussite de l'OMG je pense.
Mais il est vrai qu'on ne peut pas tout modéliser en UML, comme des systèmes
mathématiques ou physiques.
[^] # Re: illusions de la traduction
Posté par Alexis Muller . En réponse à la dépêche Acceleo sort en version 1.0. Évalué à 1.
Dans ce cas, le problème vient soit du traducteur qui était mal fait, soit du
fait qu'en partant d'une implantation (Java par exemple) on ne dispose pas
d'assez d'éléments "de haut niveau" sur le problème pour faire une
transformation efficace. En effet, avec une implantation on peut trouver le
comment mais pas le pourquoi.
Lorsque tu lis du code, si tu es comme moi, tu cherches à trouver ce que fait
le programme. Le code lui même ne suffit pas, il faut déjà savoir quel est le
problème qui doit être résolu, dans quel contexte... bref tous les éléments qui
était avant décrit comme de la documentation (nom des variables,
commentaires,...)
L'idée pour pouvoir faire des transformations de qualités c'est de prendre ces
éléments en compte, et donc de partir du modèle et non du code.
Pourquoi serait-ce différent avec les langages de modélisation ?
Justement parce-qu'un modèle est sensé avoir une sémantique de plus haut niveau
que du code.
J'imagine que s'il y a plusieurs langages de modélisation
En pratique, pas vraiment. Le langage UML est considéré comme le langage de
modélisation standard (et MOF le langage de méta-modélisation) et a part
Microsoft (qui à dit comme d'hab ? ;), les académiques et industriels le
suivent. C'est la plus belle réussite de l'OMG je pense.
Mais il est vrai qu'on ne peut pas tout modéliser en UML, comme des systèmes
mathématiques ou physiques.