“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 262 — #272
i
i
i
i
i
i
i
i
262
5
• La programmation avec état explicite
La conception non compositionnelle
La composition hiérarchique peut sembler être une manière très naturelle de structurer
un système. Mais ce n’est pas « naturel » du tout ! La nature utilise une approche
très différente, que l’on pourrait appeler non compositionnelle. Comparons les deux.
Comparons d’abord leurs graphes de composants. Dans un graphe de composants,
chaque nœud représente un composant et il y a une arête entre deux nœuds si les composants se connaissent. Dans un système compositionnel, ce graphe est hiérarchique.
Chaque composant est connecté à quelques composants du même niveau, à ses enfants
et à ses parents. Le résultat est que le système peut être décomposé en des parties
indépendantes, de sorte que les interfaces entre les parties soient petites.
Dans un système non compositionnel, le graphe de composants n’a pas cette structure. Le graphe tend à être touffu et non local. « Touffu » signifie que chaque composant est connecté à beaucoup d’autres. « Non local » signifie que chaque composant
est connecté à des endroits largement dispersés dans le graphe. La décomposition
du système devient plus arbitraire. Les interfaces entre les parties tendent à être plus
grandes. Cela rend la compréhension des composants difficile sans tenir compte de
leurs relations avec le reste du système. Un exemple d’un graphe non compositionnel
est un graphe de petit monde (« small world graph »), dont le diamètre est petit
(chaque composant est à quelques pas de chaque autre composant).
La composition hiérarchique semble plus appropriée pour la conception de systèmes
par les êtres humains. La contrainte principale pour les humains est la taille limitée
de la mémoire à court terme. Un être humain ne peut garder qu’un petit nombre de
concepts simultanément dans son esprit [66]. Une grande conception doit donc être
découpée en parties suffisamment petites pour rester dans l’esprit d’un individu. Sans
aide externe, cela mène les humains à construire des systèmes compositionnels. Par
contre, la conception par la nature n’a pas cette limitation. Elle utilise le principe de
sélection naturelle. De nouveaux systèmes sont construits en combinant et en modifiant
des systèmes existants. Chaque système est jugé comme un tout selon sa capacité de
survivre dans l’environnement naturel. Les systèmes les plus pérennes sont ceux avec
le plus de progéniture. Les systèmes naturels tendent donc à être non compositionnels.
Il semble que chaque approche, dans sa forme pure, soit un extrême. La conception
par les humains est orientée but et réductionniste. La conception par la nature est
exploratoire et holistique. Nous pouvons essayer de chercher une approche mixte qui a
les avantages des deux. Nous pouvons imaginer la construction d’outils qui permettent
aux êtres humains d’utiliser une approche plus « naturelle » pour la conception de
systèmes. Dans ce livre, nous n’explorons pas cette direction. Nous nous concentrons
sur l’approche compositionnelle.
Précédent

- 277/370

Suivant