Article de reference

Langage des modèles

Un langage de modèles est un ensemble organisé et cohérent de modèles , chacun décrivant un problème et le cœur d'une solution qui peut être utilisé de nombreuses façons dans un...

Un langage de modèles est un ensemble organisé et cohérent de modèles , chacun décrivant un problème et le cœur d'une solution qui peut être utilisé de nombreuses façons dans un domaine d'expertise spécifique. Le terme a été inventé par l'architecte Christopher Alexander et popularisé par son livre A Pattern Language paru en 1977 .

Un langage de modèles peut également être une tentative d'exprimer la sagesse profonde de ce qui rend vivant un domaine particulier de l'activité humaine, à travers un ensemble de modèles interconnectés. Le caractère vivant est un terme générique pour « la qualité qui n'a pas de nom » : un sentiment de plénitude, d'esprit ou de grâce, qui, bien que de forme variable, est précis et empiriquement vérifiable. Alexander affirme que les gens ordinaires peuvent utiliser cette approche de conception pour résoudre avec succès des problèmes de conception très vastes et complexes.

Qu'est-ce qu'un motif ?

Lorsqu'un designer conçoit quelque chose (une maison, un programme informatique ou une lampe), il doit prendre de nombreuses décisions sur la manière de résoudre les problèmes. Un problème est documenté avec sa place typique (la syntaxe ) et son utilisation (la grammaire ) avec la solution la plus courante et la plus reconnue dans la nature, comme les exemples vus dans les dictionnaires . Chacune de ces entrées est un modèle de conception unique . Chaque modèle a un nom, une entrée descriptive et des références croisées, un peu comme une entrée de dictionnaire. Un modèle documenté doit expliquer pourquoi cette solution est bonne dans les contextes du modèle.

Les modèles élémentaires ou universels tels que « porte » ou « partenariat » sont des idéaux de conception polyvalents, que l'on trouve dans l'expérience ou que l'on utilise comme composants dans la pratique, explicitement décrits comme des résolutions holistiques des forces dans des contextes et des circonstances récurrents, que ce soit en architecture, en médecine, en développement de logiciels ou en gouvernance, etc. Les modèles peuvent être inventés ou trouvés et étudiés, comme les modèles de conception naturels qui caractérisent les environnements humains.

Comme tous les langages, un langage de modèles possède un vocabulaire , une syntaxe et une grammaire , mais un langage de modèles s'applique à une activité complexe autre que la communication. Dans les langages de modèles destinés à la conception, les parties se décomposent de la manière suivante :

  • La description du langage – le vocabulaire – est un ensemble de solutions nommées et décrites à des problèmes dans un domaine d’intérêt. On les appelle des modèles de conception . Ainsi, par exemple, le langage de l’architecture décrit des éléments tels que : des habitations, des bâtiments, des pièces, des fenêtres, des loquets, etc.
  • Chaque solution comprend une syntaxe , une description qui montre où la solution s'inscrit dans une conception plus vaste, plus complète ou plus abstraite. Cela relie automatiquement la solution à un réseau d'autres solutions nécessaires. Par exemple, les pièces disposent de moyens pour obtenir de la lumière et de moyens pour faire entrer et sortir les gens.
  • La solution comprend une grammaire qui décrit comment la solution résout un problème ou produit un avantage. Ainsi, si l'avantage n'est pas nécessaire, la solution n'est pas utilisée. Peut-être cette partie de la conception peut-elle être laissée vide pour économiser de l'argent ou d'autres ressources ; si les gens n'ont pas besoin d'attendre pour entrer dans une pièce, une simple porte peut remplacer une salle d'attente.
  • Dans la description du langage, la grammaire et la syntaxe sont indexées (souvent avec un index alphabétique littéral des noms de modèles) vers d'autres solutions nommées, de sorte que le concepteur peut rapidement passer d'une solution à des solutions connexes et nécessaires, et les documenter de manière logique. Dans le livre de Christopher Alexander A Pattern Language , les modèles sont classés par ordre décroissant de taille, avec un index alphabétique séparé.
  • Le réseau de relations dans l’index du langage offre de nombreux chemins à travers le processus de conception.

Cela simplifie le travail de conception car les concepteurs peuvent démarrer le processus à partir de n'importe quelle partie du problème qu'ils comprennent et travailler vers les parties inconnues. En même temps, si le langage des modèles a bien fonctionné pour de nombreux projets, il y a des raisons de croire que même un concepteur qui ne comprend pas complètement le problème de conception au début terminera le processus de conception et le résultat sera utilisable. Par exemple, les skieurs qui entrent à l'intérieur doivent enlever la neige et ranger leur équipement. La neige et les nettoyeurs de chaussures salissants doivent rester à l'extérieur. L'équipement a besoin d'entretien, donc les supports doivent être à l'intérieur.

De nombreux modèles forment un langage

Tout comme les mots doivent avoir des relations grammaticales et sémantiques entre eux pour qu'un langage parlé soit utile, les modèles de conception doivent être liés les uns aux autres par ordre de position et d'utilité pour former un langage de modèles. Le travail de Christopher Alexander décrit un processus de décomposition, dans lequel le concepteur a un problème (peut-être une mission commerciale), choisit une solution, puis découvre de nouveaux problèmes plus petits résultant de la solution plus grande. Parfois, les problèmes plus petits n'ont pas de solution, et une autre solution plus grande doit être sélectionnée. Finalement, tous les problèmes de conception restants sont suffisamment petits ou suffisamment courants pour être résolus par l'improvisation des constructeurs, et la « conception » est terminée.

La structure organisationnelle réelle ( hiérarchique , itérative , etc.) est laissée à la discrétion du concepteur, en fonction du problème. Cela permet explicitement au concepteur d'explorer une conception, en commençant par une petite partie. Lorsque cela se produit, il est courant pour un concepteur de se rendre compte que le problème fait en fait partie d'une solution plus vaste. À ce stade, la conception devient presque toujours une meilleure conception.

Dans le langage, chaque motif doit donc indiquer ses relations avec les autres motifs et avec le langage dans son ensemble. Cela donne au concepteur qui utilise le langage de nombreuses indications sur les problèmes connexes à résoudre.

Le plus difficile dans le cadre de l'application d'un langage de modèles par un expert extérieur est d'obtenir une liste fiable et complète des problèmes à résoudre. Bien entendu, les personnes les plus familières avec les problèmes sont celles qui ont besoin d'une conception. Alexander a donc préconisé l'improvisation sur site par des utilisateurs concernés et habilités, comme un moyen efficace de former des solutions initiales à grande échelle très réalisables, maximisant l'utilité d'une conception et minimisant les retouches de conception. Le désir d'autonomiser les utilisateurs de l'architecture était, en fait, ce qui a conduit Alexander à entreprendre un projet de langage de modèles pour l'architecture en premier lieu.

Problèmes de conception dans un contexte

Un aspect important des modèles de conception est d'identifier et de documenter les idées clés qui différencient un bon système d'un mauvais système (qui peut être une maison, un programme informatique ou un objet d'usage quotidien), et d'aider à la conception des systèmes futurs. L'idée exprimée dans un modèle doit être suffisamment générale pour être appliquée à des systèmes très différents dans son contexte, mais suffisamment spécifique pour fournir des orientations constructives.

L'éventail des situations dans lesquelles s'appliquent les problèmes et les solutions abordés dans un modèle est appelé son contexte. Une partie importante de chaque modèle consiste à décrire ce contexte. Des exemples peuvent illustrer plus en détail comment le modèle s'applique à des situations très différentes.

Par exemple, le modèle d'Alexander "A PLACE TO WAIT" aborde les arrêts de bus de la même manière que les salles d'attente d'un cabinet médical, tout en proposant des solutions utiles et constructives. Le livre "Gang-of-Four" Design Patterns de Gamma et al. propose des solutions indépendantes du langage de programmation et du domaine d'application du programme.

Cependant, les problèmes et les solutions décrits dans un modèle peuvent varier dans leur niveau d'abstraction et de généralité d'un côté, et de spécificité de l'autre. En fin de compte, cela dépend des préférences de l'auteur. Cependant, même un modèle très abstrait contiendra généralement des exemples qui sont, par nature, absolument concrets et spécifiques.

Les modèles peuvent également varier en fonction de leur degré de preuve dans le monde réel. Alexander attribue à chaque modèle une note de zéro, une ou deux étoiles, indiquant dans quelle mesure ils sont prouvés dans des exemples du monde réel. On affirme généralement que tous les modèles nécessitent au moins quelques exemples existants du monde réel. Il est cependant concevable de documenter des idées non encore mises en œuvre dans un format de type modèle.

Les motifs du livre d'Alexander varient également en fonction de leur échelle : certains décrivent la manière de construire une ville ou un quartier, d'autres traitent de bâtiments individuels et de l'intérieur des pièces. Alexander considère les artefacts de petite échelle comme des éléments constructifs du monde à grande échelle, de sorte qu'ils peuvent être connectés à un réseau hiérarchique.

Équilibrage des forces

Un modèle doit caractériser les problèmes qu’il est censé résoudre, le contexte ou la situation dans laquelle ces problèmes surviennent et les conditions dans lesquelles les solutions proposées peuvent être recommandées.

Souvent, ces problèmes naissent d'un conflit entre différents intérêts ou « forces ». Un modèle émerge sous forme de dialogue qui permettra ensuite d'équilibrer les forces et de prendre finalement une décision.

Par exemple, il pourrait y avoir un modèle suggérant un téléphone sans fil. Les forces seraient le besoin de communiquer et le besoin de faire d'autres choses en même temps (cuisiner, inspecter la bibliothèque). Un modèle très spécifique serait simplement « TÉLÉPHONE SANS FIL ». Des modèles plus généraux seraient « APPAREIL SANS FIL » ou « ACTIVITÉ SECONDAIRE », suggérant qu'une activité secondaire (comme parler au téléphone ou inspecter les poches de son jean) ne devrait pas interférer avec d'autres activités.

Bien que peu spécifiques dans leur contexte, les forces du modèle « ACTIVITÉ SECONDAIRE » sont très similaires à celles du modèle « TÉLÉPHONE SANS FIL ». Ainsi, les forces en compétition peuvent être considérées comme faisant partie de l'essence d'un concept de conception exprimé dans un modèle.

Les modèles contiennent leur propre raisonnement

En général, un motif contient une logique qui renvoie à des valeurs données. Pour Christopher Alexander, il est primordial de penser aux personnes qui seront en contact avec une œuvre d'architecture. L'une de ses valeurs clés est de faire en sorte que ces personnes se sentent plus vivantes. Il parle de « qualité sans nom » (QWAN).

De manière plus générale, on pourrait dire qu’un bon système doit être accepté, accueilli et accueilli avec joie comme un enrichissement de la vie quotidienne par ceux qui sont censés l’utiliser, ou – mieux encore – par toutes les personnes qu’il affecte. Par exemple, en parlant d’un café de rue, Alexander évoque les désirs possibles d’un client, mais mentionne également les gens qui passent simplement par là.

Le même raisonnement peut être appliqué aux appareils techniques tels que les téléphones et les voitures, aux structures sociales comme une équipe travaillant sur un projet ou à l'interface utilisateur d'un programme informatique. Les qualités d'un système logiciel, par exemple, pourraient être évaluées en observant si les utilisateurs passent leur temps à profiter du système ou à lutter contre lui.

En nous concentrant sur les impacts sur la vie humaine, nous pouvons identifier des modèles indépendants de l’évolution technologique et ainsi trouver une « qualité intemporelle » (Alexander).

Structure et mise en page génériques

Habituellement, l'auteur d'un langage ou d'une collection de modèles choisit une structure générique pour tous les modèles qu'il contient, en divisant chacun d'eux en sections génériques telles que le contexte, l'énoncé du problème, la solution, etc.

Les modèles de Christopher Alexander, par exemple, se composent chacun d'un nom court, d'une évaluation (jusqu'à deux symboles « * »), d'une image de sensibilisation, de la description du contexte, de l'énoncé du problème, d'une partie de texte plus longue avec des exemples et des explications, d'un énoncé de la solution, d'un croquis et d'autres références. Cette structure et cette disposition sont parfois appelées « forme alexandrine ».

Alexander utilise une mise en page de texte spéciale pour marquer les différentes sections de ses modèles. Par exemple, l'énoncé du problème et l'énoncé de la solution sont imprimés en gras, ce dernier étant toujours précédé du mot-clé « Par conséquent : ». Certains auteurs utilisent plutôt des libellés explicites, ce qui crée un certain degré de redondance.

Noms significatifs

Lorsque la conception est réalisée en équipe, les noms de modèles forment un vocabulaire que les équipes peuvent partager. Il est donc nécessaire que les noms de modèles soient faciles à retenir et très descriptifs. Parmi les exemples tirés des travaux d'Alexander, citons WINDOW PLACE (qui permet de définir l'emplacement des fenêtres dans une pièce) et A PLACE TO WAIT (qui permet de définir les caractéristiques des arrêts de bus et des salles d'attente des hôpitaux, par exemple).

Agrégation dans un réseau associatif (langage à motifs)

Un langage de modèles, tel que conçu par Alexander, contient des liens d'un modèle à un autre, donc lorsqu'il essaie d'appliquer un modèle dans un projet, un concepteur est poussé vers d'autres modèles qui sont considérés comme utiles dans son contexte.

Dans le livre d'Alexander, ces liens sont rassemblés dans la partie « références » et repris dans la partie « contexte » du motif lié – ainsi la structure globale est un graphe orienté . Un motif lié dans les « références » aborde généralement un problème de plus petite échelle, qui est suggéré comme faisant partie du problème de plus grande échelle. Par exemple, le motif « SALLE PUBLIQUE EXTÉRIEURE » fait référence à « SIÈGES D'ESCALIER ».

Même sans description du modèle, ces liens, ainsi que les noms significatifs, véhiculent un message : lorsque vous construisez un endroit extérieur où les gens peuvent passer du temps (« SALLE PUBLIQUE EXTÉRIEURE »), pensez à l'entourer d'escaliers où les gens peuvent s'asseoir (« SIÈGES D'ESCALIER »). Si vous prévoyez un bureau (« ATELIERS ET BUREAUX »), pensez à organiser les espaces de travail en petits groupes (« PETITS GROUPES DE TRAVAIL »). Alexander soutient que les connexions dans le réseau peuvent être considérées comme encore plus significatives que le texte des modèles eux-mêmes.

Les liens dans le livre d'Alexander donnent clairement lieu à un réseau hiérarchique. Alexander établit un parallèle avec la hiérarchie d'une grammaire – c'est un argument pour lui permettre de parler d'un langage à motifs .

L'idée de liaison est généralement acceptée par les auteurs de modèles, bien que la logique sémantique derrière les liens puisse varier. Certains auteurs, cependant, comme Gamma et al. dans Design Patterns , n'utilisent que peu la liaison de modèles - peut-être parce que cela n'avait pas beaucoup de sens pour leur collection de modèles. Dans un tel cas, nous parlerions d'un catalogue de modèles plutôt que d'un langage de modèles .

Usage

Alexander encouragea les personnes qui utilisaient son système à étendre son langage avec leurs propres modèles. Afin de permettre cela, ses livres ne se concentrent pas strictement sur l'architecture ou le génie civil ; il explique également la méthode générale des langages de motifs. Le concept original du livre A Pattern Language était qu'il serait publié sous la forme d'un classeur à 3 anneaux, de sorte que des pages puissent être facilement ajoutées ultérieurement ; cela s'est avéré peu pratique lors de la publication. L'approche du langage de motifs a été utilisée pour documenter l'expertise dans divers domaines. Quelques exemples sont les modèles architecturaux , les modèles informatiques , les modèles de conception d'interaction , les modèles pédagogiques , le jardinage de modèles , les modèles d'action sociale et les modèles de facilitation de groupe. L'approche du langage de motifs a également été recommandée comme un moyen de promouvoir l'intelligence civique en aidant à coordonner les actions de diverses personnes et communautés qui travaillent ensemble sur des problèmes communs importants. Les spécifications d'Alexander pour l'utilisation des langages de motifs ainsi que pour la création de nouveaux restent influentes, et ses livres sont référencés pour le style par des experts dans des domaines sans rapport.

Il est important de noter que les notations telles que UML ou la collection de symboles d'organigrammes ne sont pas des langages de modèles. On pourrait plutôt les comparer à un alphabet : leurs symboles pourraient être utilisés pour documenter un langage de modèles, mais ils ne constituent pas un langage à part entière. Une recette ou un autre ensemble séquentiel d'étapes à suivre, avec un seul chemin correct du début à la fin, n'est pas non plus un langage de modèles. Cependant, le processus de conception d'une nouvelle recette pourrait bénéficier de l'utilisation d'un langage de modèles.

Exemple simple d'un modèle

  • Nom : ChocolateChipRatio
  • Contexte : Vous préparez des biscuits aux pépites de chocolat en petites quantités pour votre famille et vos amis
  • Considérez d’abord ces modèles : SugarRatio, FlourRatio, EggRatio
  • Problème : Déterminer le rapport optimal entre les pépites de chocolat et la pâte à biscuits
  • Solution : Notez que la plupart des gens considèrent le chocolat comme la meilleure partie du cookie aux pépites de chocolat. Notez également qu'une trop grande quantité de chocolat peut empêcher le cookie de se tenir ensemble, ce qui diminue son attrait. Comme vous cuisinez en petites quantités, le coût n'est pas un facteur à prendre en compte. Par conséquent, utilisez la quantité maximale de pépites de chocolat pour obtenir un cookie vraiment solide.
  • Considérez ensuite : NutRatio ou CookingTime ou FreezingMethod

Origine

Christopher Alexander , architecte et auteur, a inventé le terme de langage de motifs. Il l'a utilisé pour désigner les problèmes courants de conception et de construction de bâtiments et de villes et la manière dont ils devraient être résolus. Les solutions proposées dans le livre incluent des suggestions allant de la manière dont les villes et les villages devraient être structurés à l'emplacement des fenêtres dans une pièce.

Le cadre et la philosophie de l'approche du « langage des modèles » ont été initialement popularisés dans le livre A Pattern Language , écrit par Christopher Alexander et cinq collègues du Center for Environmental Structure de Berkeley, en Californie, à la fin des années 1970. Alors que A Pattern Language contient 253 « modèles », du premier modèle, « Independent Regions » (le plus général) au dernier, « Things from Your Life », le livre d'Alexander The Timeless Way of Building approfondit davantage la motivation et le but du travail. Les définitions suivantes de « modèle » et de « langage des modèles » sont paraphrasées de A Pattern Language :

« Un modèle est une description précise d'une solution pérenne à un problème récurrent dans le contexte d'un bâtiment, décrivant l'une des configurations qui donnent vie à un bâtiment. Chaque modèle décrit un problème qui se produit encore et encore dans notre environnement, puis décrit la solution principale à ce problème, de telle manière que vous pouvez utiliser la solution un million de fois, sans jamais le faire deux fois de la même manière. »

Un langage de modèles est un réseau de modèles qui s'interpellent les uns les autres. Les modèles nous aident à mémoriser des idées et des connaissances sur la conception et peuvent être utilisés en combinaison pour créer des solutions.

Domaines d'application

L'idée de Christopher Alexander a été adoptée dans d'autres disciplines, souvent beaucoup plus largement que l' application originale des modèles à l'architecture telle que décrite dans le livre A Pattern Language . Les exemples depuis les années 1990 incluent les modèles de conception de logiciels en génie logiciel et, plus généralement, les modèles d'architecture en informatique , ainsi que les modèles de conception d'interaction . Depuis la fin des années 1990, les modèles pédagogiques sont utilisés pour documenter les bonnes pratiques en matière d'enseignement. Depuis au moins le milieu des années 2000, l'idée de langage de modèles a été introduite dans la conception d'architecture de systèmes et les modèles de science de la conception (méthodologie) dans un livre écrit par Vijay Vaishnavi et William Kuechler avec 66 modèles ; la deuxième édition révisée et augmentée de ce livre a été publiée en 2015 avec 84 modèles. Le livre Liberating Voices: A Pattern Language for Communication Revolution , contenant 136 modèles d'utilisation de l'information et de la communication pour promouvoir la durabilité, la démocratie et le changement social positif, a été publié en 2008, accompagné d'un site Web contenant encore plus de modèles. Le jeu de cartes « Group Works: A Pattern Language for Bringing Life to Meetings and Other Gatherings » a été publié en 2011. L'idée d'un langage de modèles a également été appliquée à la conception de la permaculture .

Ward Cunningham , l'inventeur du wiki , a coécrit avec Michael Mehaffy un article affirmant qu'il existe des relations profondes entre les wikis et les langages de modèles, et que les wikis « ont en fait été développés comme des outils pour faciliter le partage et la modification efficaces des modèles ».

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index