Règles du forum

Les standards applicables à l’informatique et aux supports numériques, seulement. Les autres standards techniques ou scientifiques, ne sont pas prévus pour l’instant, car peu accessibles en pratique.

Auteur Message
Administrateur
Avatar de l’utilisateur
C’est une requête fréquente, que d’avoir une version texte de UML. Les raisons en sont que ça s’intègrerait mieux dans les processus de conception qui font principalement usage du texte, et qu’un langage graphique est plus lourd à implémenter qu’un langage texte. Le constat des médiocres qualités des applications UML, du moins celles publiques, n’est peut être pas étranger non‑plus à cette attente; mais sur ce point, c’est une espérance illusoire, une version texte de UML ne résoudrait rien, parce que ces applications UML pêchent surtout par un contrôle de validité des modèles, incomplet, totalement absent, ou pire, erroné (qui fait croire que ce qui est juste est faux, et fait croire que ce qui est faux est juste, et c’est le pire). Par contre, dans le cas où les applications UML graphiques sont jugées décevantes parce que leur ergonomie est critiquable, comme par exemple parce qu’elles nécessitent trop d’opérations pour ajouter ou modifier un élément d’un schéma, alors par contre ici, une version texte de UML peut être une solution.

Quelques personnes ont tenté d’y remédier, malheureusement en faisant toutes leur petite cuisine dans leur coin, chacune inventant son propre langage (aisément incomplet ou imprécis); l’erreur qu’il ne fallait pas faire ! Le résultat : perte du standard et tous les problèmes qui en découlent ne peuvent qu’être au rendez‑vous, limitant l’audience potentielle de cette « myriade » de langages, tout en nuisant à leur pérennité. En résumé, avec cette solution du langage créé par chacun dans son coin, tout le monde s’isole et finira par perdre, ce qui a été fait ou encore, ce qui aura été fait avec ces langages, se dépréciera avec le temps en devenant moins maniable, et finira par être perdu quand‑même aussi pour cette raison.

Créer un langage mapable (désolé, je ne connais pas le mot équivalent en français) sur un standard, et que ce langage ne soit à priori pas destiné à une audience limitée, devrait amener aux moins à se renseigner et à faire quelques audits des possibilités. Se lancer dans la création d’un nouveau langage sans y réfléchir plus que ça, est une erreur.

Et cette erreur est dommage, car il existe en fait déjà une forme texte de UML, et elle est standard !

C’est un standard de l’OMG qui s’appelle “Human-Usable Textual Notation”, alias HUTN. Il ne fait pas directement référence à UML, il est abstrait et générique, et peut être applicable à UML. Son nom ne l’indique pas directement comme version texte de UML, ce qui peut expliquer que les gens souhaitant une version textuelle d’UML soient passés à côté. Pourtant il peut remplir ce rôle, et cela sans bricolages, puisque c’est sa fonction à proprement parler.

Les caractéristiques de HUTN, telles que données dans l’introduction de sa spécification :
OMG a écrit : 
A Human-Usable Textual Notation (HUTN) standard represents an important element
of the realization of the Model-Driven Architecture (MDA). This HUTN specification offers three main benefits:

  • Generic: It is a generic specification, that can provide a concrete HUTN language for any MOF model.
  • Fully automated: The HUTN languages can be fully automated for both production and parsing.
  • Human-Usable: The HUTN languages are designed to conform to human-usability criteria.


En pratique, c’est un langage qui reprend point par point tous les éléments de XMI (qui est en XML), mais dans une notation humainement plus lisible et plus commode à écrire dans un traitement de texte brut.

La spécification complète de HUTN, peut être obtenue sur le site de l’OMG, depuis cette page : OMG Formally Released Versions of HUTN (omg.org).

Deux petits messages.

Le premier, aux gens recherchant une version texte de UML : ne vous jetez pas sans réfléchir sur le premier dialecte ou langage cuisiné dans un coin que vous trouverez. Relisez l’introduction de ce topic si vous ne comprenez pas pourquoi c’est une erreur.

Le second, aux gens concevant ces langages : aillez à l’esprit la question de l’importance des standard (vous devriez, non ?), et envisagez bien les inévitables déceptions à venir qu’occasionneront un tel langage pour ses utilisateurs. Ne perdez pas votre temps à développer une technologie non‑pérenne, destinée à ne jamais sortir d’une audience quasi‑confidentielle (à moins que ce ne soit votre intention, et dans ce cas, faites…). Utilisez plutôt votre temps et votre énergie à développer une implémentation de HUTN. Ce sera plus utile et plus gratifiant.
Profil
Compte gelé
Avatar de l’utilisateur
Salut Hibou,

J'aimerais bien, te comprendre ! Depuis que je te côtoie, en d'autres temps et en d'autres lieux, j'ai toujours été frappé par l'intérêt que tu portes aux langages informatiques. Un jour tu vas te découvrir une passion pour un Pyton, le lendemain PERL vient prendre la relève, puis passent les langages de l' IA, et les HTMxxxxx, et d'autres encore plus ou moins exotiques.... pourquoi cela ?
Aujourd'hui, c'est UML !
Sincèrement, qui donc a l'usage d'un tel fourbi ?
Et en plus tu voudrais qu'il devienne un standard. Impossible bien sûr. Il faudrait avoir un sens de la généralisation vachement développé pour trouver un point commun entre un modèle de physicien qui voudrait par exemple étudier l'évolution d'un système de 20 000 particules sous des conditions données et celui d'un économiste qui chercherait à établir un lien entre la consommation de canabis et le nombre de voitures incendiées dans une ville donnée, un soir de réveillon.
Et à propos de langages, si tu en pratique un, lequel ? Pourquoi ne pas se cantonner à un bon vieux C tranquille qui en plus n'a pas vraiment besoin d'être ++++ pour faire à peu près n'importe quoi.
Et je ne parlerai même pas de ces pseudo-langages qui n'en sont pas, mais qui donnent à leurs utilisateurs l'impression qu'ils sont des programmeurs chevronnés. Comme par exemple des Acces, des 4D, des FilesMaker, voire des générateurs de pages html avec lesquels n'importe quel farfelu fabrique un site en 18 clics après avoir l'avoir dessiné en y plaçant tel ou tel objet à l'emplacement souhaité, et dans les scripts desquels il a placé des trucs du genre :
on mouseUp, window2 close...
et qui émerveillent le béotien.
Si tu veux susciter des vocations, prends un langage (un vrai) et lance un fil dédié à son étude. Qui sait ?
Là je te suivrais sans doute - ça dépend de la portée du langage - parce que en matière d'algo, j'ai une imagination qui frise au délire. Mais ça, tu dois bien t'en douter Salut!
Profil
Administrateur
Avatar de l’utilisateur
Profil