«En adoptant les modèles de la nature, nous pourrions espérer travailler plus soutenablement et produire des produits plus durables.» Est-ce que cela pourrait être un moyen de changer le paradigme après lequel nous courrons ? Le développement de produits logiciels soutenables…

Utiliser du biomimétisme dans l’ingénierie logicielle ?

Dans le développement de logiciels la métaphore du système a été adoptée comme une pratique de base par la communauté agile. Cent Beck, auteur de Extreme Programming Explained définit une métaphore du système comme suit : «une histoire que tout le monde - les clients, les programmeurs et les gestionnaires - peut expliquer comment le système fonctionne.» Un peu comme tout le monde peut tenter d’expliquer commen la nature fonctionne, avec son interprétation propre et une matrice d’analyse commune. Le travail de recherhce de Samuel Mann et Lesley Smith décrit les métaphores du système et examine ensuite les travaux dans ce domaine : Biomimicry as a super system metaphor for software ingineering

Nous devons changer la façon dont nous comprenons les choses et nous développons des solutions. «La nature a inventé le logiciel des milliards d’années avant que nous ne le fassions» -Gregory Chaitin-.

Pour moi, il s’agit du bioware (Hardware + Software + Vivant). Un système fonctionnant sans déchets depuis plus de 3,8 milliards d’années, un programme qui optimise les flux de matériaux, d’informations et d’énergies. Biomimétisme, bio inspiration, bio design sont des blocs d’un nouveau changement qui peut nous aider.

La Métaphore du système pour plusieurs raisons:

Vision commune: Permettre à chacun de s’entendre sur le fonctionnement du système. La métaphore suggère la structure clé de la perception du problème et de la solution. Cela peut rendre plus facile de comprendre ce que le système est, ainsi que ce qu’il pourrait être.

Vocabulaire partagé: La métaphore aide à suggérer un système commun de noms pour les objets et les relations entre eux. Cela peut devenir un jargon dans le meilleur sens: un vocabulaire puissant, spécialisé et abrégé pour les experts. Nommer quelque chose aide à vous donner le pouvoir sur elle.

Génération: les analogies d’une métaphore peuvent suggérer de nouvelles idées sur le système (problèmes et solutions). Par exemple, la métaphore “Service à la clientèle est une chaîne de montage”. Cela suggère l’idée qu’un problème soit transmis d’un groupe à l’autre, mais il soulève également la question: «Que se passe-t-il quand le problème arrive à la fin de la ligne - vient-il juste de tomber? Des questions importantes qui pourraient autrement se cacher et s’enflammer.

Architecture: La métaphore forme le système, en identifiant des objets clés et en suggérant des aspects de leurs interfaces. Il prend en charge les modèles d’objets statiques et dynamiques du système.

Certaines métaphores sont utilisées à plusieurs reprises dans le développement de logiciels. Shaw et Garlan identifient des approches communes:

  1. Métaphore de la feuille de calcul
  2. Méthode de script
  3. Métaphore de fabrication (par exemple, LinesStationsBinsParts ou AssemblyLine)
  4. Métaphore comptable (notation d’archive à double entrée)
  5. Panier Metaphor (e-commerce)
  6. Auction Metaphor (e-commerce)
  7. Métaphore du tableau noir (IA)
  8. Processeur de documents (systèmes de bureau où le «modèle» est enregistré en tant que fichier)
  9. Métaphore de l’espace virtuel (ex. VR)
  10. Métaphore de bureau 5(desktop)
  11. Outils et matériaux Métaphore
  12. Boutons partout métaphore

see more :

Architecture vivante visualisée comme un système cellulaire organique

Ce qui est suit est une traduction depuis le site web variable.io. Allez sur leur site web pour ptofiter de très beaux visuels d’illustration des propos

image from http://variable.io/ucc-organism/

UCC Organism porpose des animations aguidées par les données qui représentent une école en tant qu’organisme vivant. Par @variable.io

Architecture vivante, tous les étages d’un 3 bâtiments, dans le Camp Nordsjælland, ont été cartographiés par du dessin architectural. Chaque espace a une cellule qui se développe lorsque les élèves sont à l’intérieur pendant la classe et se rétrécit lorsque vide. Les cellules du corridor répondent au mouvement des agents étudiant à travers le bâtiment. De plus, nous avons des organismes externes représentant des forces externes comme le financement du gouvernement …

Il se compose de plus de 30 écrans éparpillés dans toutes les parties du campus qui montrent une visualisation en temps réel de l’infrastructure institutionnelle de l’Ordre. Sur ces écrans, les flux invisibles d’économie, de connaissance et de puissance sont rendus visibles dans un langage visuel apparenté à des jeux informatiques ou à des visualisations scientifiques. Les membres individuels du personnel et les étudiants apparaissent comme des avatars.

3 parties principales de la visualisation: l’architecture, les agents et l’énergie.

Logiciel

UCC Organism est une simulation pilotée par les données qui fonctionne à partir des données du planning direct de l’UCC. La visualisation est rendue en utilisant l’un des 30 ODroids et 1-3 Mac Minis répartis à travers les bâtiments. Ils communiquent avec un serveur central responsable de la mise à jour de l’horaire et de l’émission d’événements comme les pauses déjuener, les vacances ou les arrivées de trains.

Agents

Agents axés sur les objectifs. Nous avons 11 types d’agents différents pour différents groupes d’étudiants (par exemple, la pédagogie, la physiologie), les enseignants, les concierges, les cuisiniers, etc. Chaque agent a son apparence par son occupation, son sexe, son âge et son nombre d’années chez UCC. Les agents sont autonomes (ils peuvent prendre n’importe quel chemin dans l’école), mais leurs objectifs (par exemple, la classe à aller) sont basés sur les données basées sur le calendrier provenant de l’UCC.

Énergie

Pour représenter les interactions entre les agents eux-mêmes et les agents et l’environnement, nous utilisons un système de particules. Il y a quatre types d’énergie sociale (entre agents), le savoir (produit à la bibliothèque et les laboratoires de recherche), le pouvoir (produit aux bureaux d’administration), la saleté (provenant de l’école à l’extérieur par le produit de l’activité étudiante).

Couleurs d’énergie: social (rouge), connaissance (vert), puissance (orange), saleté (marron).

Les données

UCC Organisme est piloté par les données en direct provenant des systèmes UCC: le plan de leçon, la disposition en classe, les horaires d’autobus, les périodes de vacances et les heures de repas sont diffusés dans l’instant à chacun des écrans. Les “Student agents” réagissent à ces événements en changeant leur destination cible et le comportement.

De le prospective à au prototypage logiciel

Si variable.io propose une architecture de modélisation bioinspirée par les réalitées du terrain, en partant de l’existant et des problèmes observés, ils font surtout simplement, donc efficacement, ce que la nature fait très bien depuis près de 4 milliards d’années : Optimiser les flux de matière, d’énergie et d’information !

L’exemple technique de Pensolve sur le spreadsheets concrétise cette émergence d’une ingénierie bioinspirée ou biomimetic.

Face à la tâche consistant à présenter une table de calcul complète des calculs d’ingénierie à l’utilisateur d’une manière intuitive et efficace pour Pensolve, je savais que la biomimétrie me fournirait la solution.

Problème de conception Présentez les calculs à partir d’un spreadsheet (5 à 500 + calculs individuels) d’une manière qui a permis à l’utilisateur de comprendre rapidement la façon dont la feuille de calcul fonctionne et de pouvoir trouver des erreurs.

  • Solution 1: flux naturel similaire à la façon dont une rivière tressée coule
  • Solution 2: lignes superposées Notre solution était d’utiliser des règles basées sur la physique pour distribuer nos noeuds. Nous avons donné à tous nos nœuds une charge magnétique pour qu’ils se repoussent et fournissent de l’espace. En leur donnant une attraction gravitationnelle vers le centre pour s’assurer qu’ils ne se sont pas étalés trop.

Pour en savoir plus lire le billet blog Pensolve et la démo interactive de leur solution logiciel

Vous trouverez de nombreuses ressources techniques, scientifiques, numériques et autres dans la bibliothèque github du Biome Hack Lab.

Les fourmis

Les algorithmes de colonies de fourmis sont inspirés du comportement des fourmis.

Initialement proposé par Marco Dorigo dans les années 1990, pour la recherche de chemins optimaux dans un graphe, le premier algorithme s’inspire du comportement des fourmis recherchant un chemin entre leur colonie et une source de nourriture. L’idée originale s’est depuis diversifiée pour résoudre une classe plus large de problèmes et plusieurs algorithmes ont vu le jour, s’inspirant de divers aspects du comportement des fourmis.

En anglais, le terme consacré à la principale classe d’algorithme est « Ant Colony Optimisation » (ACO), souvent réservé à un type particulier d’algorithme. Il existe cependant plusieurs familles de méthodes s’inspirant du comportement des fourmis.

Johann Dréo CC BY-SA 3.0, wikimedia

1) la première fourmi trouve la source de nourriture (F), via un chemin quelconque (a), puis revient au nid (N) en laissant derrière elle une piste de phéromone (b).

2) les fourmis empruntent indifféremment les 4 chemins possibles, mais le renforcement de la piste rend plus attractif le chemin le plus court.

3) les fourmis empruntent le chemin le plus court, les portions longues des autres chemins voient la piste de phéromones s’évapore

Software Project Problème Planification (SPSP) est un problème de planification des tâches et des employés en satisfaisant une contrainte souple et difficile. Le nombre de techniques est conçu pour résoudre le problème SPSP. Il comprend Algorithme génétique (GA), Tabu Search (TS). Toutes ces techniques sont des techniques méta-heuristiques. La Novel Ant Colony Optimization (ACO) est une nouvelle technique méta-heuristique utilisée pour résoudre le problème SPSP. Pour résoudre les problèmes de SPSP, les informations heuristiques ainsi que la valeur de la phéromone sont utilisées. L’information heuristique est calculée en utilisant la solution précédente, l’importance de la tâche et l’attribution des employés. Six stratégies différentes sont utilisées pour calculer l’information heuristique. Pour résoudre le problème SPSP, le graphique de construction est créé, ce graphique de construction comprend tous les chemins possibles d’une tâche à l’autre. La valeur de la phéromone est basée sur la probabilité de chemins maximum sélectionnée dans le graphique de construction.

Voir aussi :

A l’aube des émergences distribuées

Ma modeste conttibution, toujours en cours, sur DAISEE.org, Internets of Energy / Energy as a Commons (pas encore biosinpiré mais ça va venir voir [#DAISEE] Knowledge Base (Feb 2017)), m’a appris mille choses mais j’en retiendrais une ici pour exemple :

S’inspirer de la nature pour développer des solutions technologiques, numériques, logiciels, nous pousse plus à nous confronter à la résilience de ses développements qu’a leur valeur marchande dans le contexte actuel basé sur l’obsolescence programméé

Pour cela nous avons besoin de :

  • Vocubalaire adpaté, ce que nous ne nommons pas ne peut pas exister, ce que nous nommons mal est aliéné,
  • TRANSdiscplinarité (voir ANTIdisciplinarité) dans les phases de conception,
  • Pratiques collaboratives des ces mêmes phases ansi que dans l’utilisation et l’amélioration continue,
  • Langages de programmation furgaux, robustes, interopérables,
  • Open Source à tous les niveaux [la nature pose des brevets sur ces innovations ?(^^)],
  • Oprtimiser les 3 flux de matière, énergie et information,
  • Ethique et d’Ecologie numérique.

Métaphore comparative entre Programming language similarity et A 2016 (metagenomic) representation of the tree of life

Utiliser du biomimétisme dans l’ingénierie logicielle ? Le chemin ressemble à cela mais il est encore long et plein de richesses.

” While biomimicry and bio-inspiration has been successful in specific areas of computing, we are yet to see a successful application at a paradigm level.
Instead, we have observed repeated use of terms such as ecosystem without any benefit the metaphor might have otherwise afforded. This approach entirely ignores ecological science; it does not even vaguely approach sustainability.” Samuel Mann