Expression générale du « moteur de croissance » en préfixé

Le moteur consiste en le parcours d’un arbre informatique préfixé. C’est lui qui gère le côté topologique de la plante. Pour chaque test (de viabilité, de croissance, de ramification…) de chaque nœud, il procède à la confrontation entre un nombre aléatoire et une probabilité définie. Le corps général du moteur de croissance est ainsi décrit par Jaeger :

‘« Chaque nœud subit en séquence les tests suivants :’ ‘-le test de viabilité’ ‘-si le nœud est viable, le test de croissance,’ ‘-enfin si le nœud est viable et n’est pas en pause, des tests de ramification.’ ‘Dans le cas où il y a ramification, un nouveau nœud est créé et traité ; dans le cas contraire, on traite le nœud suivant sur le même axe. » 1873

Suit alors la description du moteur. Il est itératif et non récursif (à cause du mode préfixé) et nécessite une gestion classique par pile initialisée dite « graine » :

Les axes sont donc bien traités séquentiellement et non en parallèle. La ramification finit par s’arrêter grâce au test de la viabilité où entre la valeur de l’âge limite que l’on souhaite pour les nœuds 1874 . Ainsi c’est quand tous les nœuds d’un axe sont morts ou ont atteint l’âge limite que le moteur passe à l’axe voisin. La solution d’une récursivité véritable n’est donc pas choisie malgré le projet déjà ancien de de Reffye en ce sens. En plus du choix d’une simulation en mode préfixé, il y a deux autres raisons à cela : ce logiciel doit pouvoir être lu par des non-informaticiens, comme le précise Jaeger, et il doit pouvoir être transportable sur d’autres machines et dans d’autres langages.

Ces raisons jouent aussi dans le choix des langages de programmation employés. La première version du programme a été écrite en FORTRAN avec une programmation structurée en modules afin de faciliter par la suite la transposition en langage C par la société SESA (Société d’Etudes en Systèmes Automatiques). Jaeger justifie l’utilisation du C pour la version commerciale de ce logiciel par le désir de proposer un logiciel de graphisme interactif, rapide, convivial et accessible aux non-botanistes 1875 . Il est ainsi transportable sur Data General, Vax et IBM. Du côté du matériel, Jaeger utilise le mini-ordinateur Data General 10000SX du GERDAT pour écrire son logiciel et un écran Tektronix 4107 avec une résolution de 512 x 512 pixels pour afficher le résultat. Le programme source s’étend sur 3000 lignes et son fonctionnement nécessite un espace mémoire de 800Koctets. En revanche le résultat de la simulation peut occuper plusieurs mégaoctets en fonction de la complexité de l’architecture de l’arbre : très peu de mémoire pour le palmier, beaucoup pour certaines herbes. Enfin, le temps de calcul dépend directement du nombre de nœuds simulés. Pour 350000 nœuds par exemple, il faut 540s, soit 9 minutes. À comparer avec les 4 heures que nécessitait parfois le HP9825… Notons qu’avec de telles contraintes techniques, Jaeger ne peut pas utiliser les micro-ordinateurs personnels qui commencent pourtant à voir le jour à l’époque.

Notes
1873.

[Jaeger, M., 1987], p. 67.

1874.

[Jaeger, M., 1987], p. 69.

1875.

[Jaeger, M., 1987], p. 84.