Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 26

Image emergences pour impression
Personal tools
You are here: Home 2013 Lettre d'information n° 26 La nature comme modèle pour l'ingénierie du logiciel
Document Actions

La nature comme modèle pour l'ingénierie du logiciel

Pourrait-on s'inspirer des exemples de la biodiversité pour concevoir des logiciels ? L'analogie mérite d'être explorée, estime un groupe de scientifiques qui débutent un travail pluridisciplinaire dans le cadre du projet européen Diversify. La réunion de lancement s'est tenue en mars 2013 au centre Inria Rennes - Bretagne Atlantique.

Pourrait-on s'inspirer des exemples de la biodiversité  pour concevoir des logiciels ?  L'analogie mérite d'être explorée, estime un groupe de scientifiques qui débutent un travail pluridisciplinaire dans le cadre du projet européen Diversify. La réunion de lancement s'est tenue en mars 2013 au centre Inria Rennes - Bretagne Atlantique.

Prenez un système critique dans un avion. Pas question d'avoir une panne. Alors on duplique. Ou mieux : on triple. En cas de défaillance, un vote intervient. Le composant défectueux est mis en minorité par les deux autres. Mais si le triplement redondant repose sur une seule technologie, alors on court quand même un risque : celui de voir les trois parties défaillir simultanément. Pour minimiser ce danger et augmenter la sécurité d'encore un cran, les constructeurs préfèrent confier séparément à trois équipes de développement le soin de concevoir chacune un composant. Et cela en se fondant sur des choix techniques volontairement différents.”  Conclusion ?  “En informatique comme en biologie, la diversité peut constituer un plus”, résume le chercheur Olivier Barais durant la réunion de lancement de Diversify.

Ce projet européen s'inscrit dans le cadre du FET Proactive (1), un dispositif  encourageant les approches non conventionnelles en réponse à de nouveaux besoins sociétaux et industriels. “Notre objectif est d'étudier comment, à partir des modèles de biodiversité, nous pourrions diversifier spontanément le logiciel dans les systèmes adaptatifs collaboratifs afin d'améliorer justement leurs capacités d'adaptation. Nous avons l'intuition que les systèmes écologiques reposent sur la diversité et la redondance. Il y a des choses à apprendre de leur observation,” souligne Benoit Baudry, coordinateur du projet. Outre deux équipes Inria (2), Diversify implique trois autres partenaires académiques : le laboratoire Ecobio de l'Université Rennes 1, le Groupe sur les Systèmes Distribués (DSG) du Trinity College de Dublin et le Département des Services et Systèmes en Réseau de l'institut de recherche norvégien Sintef.

Itération pluridisciplinaire

L'analogie avec la biologie, voilà 10 ans que nous y songeons, témoigne Franck Fleurey, chercheur au Sintef. Fut un temps, pour trouver de l'inspiration, nous parcourions les pages de Wikipedia. Difficile d'appeler cela de l'interaction pluridisciplinaire, n'est-ce pas ? Notre but est donc de faire un vrai pas vers la pluridisciplinarité. Il ne s'agit pas simplement de nous faire expliquer des modèles par des écologues puis d'imaginer comment s'en servir dans notre domaine. Nous voulons aussi aller vers de l'itération. Nous retournerons voir ces spécialistes pour leur présenter nos expériences. Nous leur demanderons de porter un regard sur nos résultats. Peut-être obtiendra-t-on de bons conseils sur ce que nous pourrions améliorer, sur les raisons pour lesquelles cela ne marche pas, etc.

L'expertise en sciences du vivant sera apportée par Ecobio et un panel de quatre autres scientifiques. “Avions-nous besoin d'un partenaire venant de l'écologie ? Assurément, estime Benoît Baudry. Pour nous, cela faisait sens, même si nous pensions qu'il serait difficile de convaincre des écologues de nous rejoindre.”  Le laboratoire Ecobio a accepté l'invitation. “Nous essaierons d'expliquer comment fonctionnent les éco-systèmes, indique Cendrine Mony. Au-delà de cela, la collaboration comporte aussi un volet méthodologie. Nous comparerons la façon dont nous concevons nos expériences, la manière dont nous analysons les données. Par ailleurs, il nous intéresse de voir notre objet quotidien de recherche abordé sous un autre angle, avec les nouvelles interrogations scientifiques que cela pourrait faire naître.

Des modèles écologiques complexes

N'est-ce pas pourtant un peu gageure de vouloir relier deux champs de recherche aussi éloignés ? “Probablement. Mais en tous cas, c'est plus facile pour des spécialistes d'informatique de percevoir l'intuition écologique que pour nous de comprendre leur monde,” répond la chercheuse. “De prime abord, l'écologie semble plus facile à comprendre parce que les informaticiens en entendent parler dans leur vie courante, alors que les écologues n'entendent pas souvent parler des problèmes de recherche en logiciel. Cependant, les modèles écologiques sont vraiment compliqués. J'ai l'impression qu'on va se rendre compte combien ils sont durs à relier au monde logiciel,” confie Benoît Baudry.  “Communiquer entre nous pose un défi, c'est sûr, reconnaît Franck Fleurey. Il nous faudra faire un effort pour présenter nos expériences d'une manière compréhensible. Nous devrons nous astreindre à abstraire certains aspects techniques et nous concentrer sur l'essentiel. Sans doute parviendrons-nous à quelque chose auquel nous ne serions pas arrivés autrement. Il en résultera peut-être du bon.

Ceci dit, “nous n'explorons pas ces analogies simplement pour le plaisir. L'ingénierie logicielle se heurte à des problèmes difficilement résolubles au moyen des techniques habituelles. Depuis plusieurs années, Sintef et Inria travaillent sur les systèmes adaptatifs. Nous obtenons des résultats. Mais il existe des classes de systèmes interconnectés pour lesquelles nos techniques ne passent tout simplement pas l'échelle. Et, mauvaise nouvelle : nous ne voyons pas vraiment le petit delta qui permettrait d'y parvenir. Fondamentalement, il nous faut un changement de paradigme.

Le fait d'avoir un projet européen permet d'atteindre une masse critique, ajoute Benoît Baudry. Cela n'aurait guère de sens de travailler uniquement sur une petite portion de logiciel. Nous avions besoin d'un cas d'étude à grande échelle. Nous avons donc contacté le Trinity College Dublin. Ils fournissent à la fois un domaine d'application et une expertise en systèmes distribués.

Villes durables

À TCD, nous travaillons sur le concept des villes intelligentes : efficacité énergétique, durabilité, etc., explique Hui Song. Nous étudions la conception des intergiciels nécessaires pour optimiser l'utilisation des ressources urbaines. Nous nous concentrons sur l'exploitation des données produites par des réseaux de capteurs très divers afin de permettre une meilleure gestion de tels services de grande échelle. Prenons l'exemple d'une inondation. Des logiciels adaptatifs pourraient aider les décideurs à estimer l'ampleur des dégâts, réagir vite aux urgences, alerter la population... Pour cela, il faut de nouveaux modèles de programmation, de nouvelles architectures intergicielles permettant de rassembler et traiter plus efficacement les données collectées. Actuellement, il n'existe pas de référentiel de bonnes pratiques pour définir le développement de tels outils. Nous espérons que nos compétences en ingénierie de modèles et modèle en cours d’exécution s'avéreront utiles.

Comment concilier un tel projet avec la standardisation à l'œuvre dans l'informatique ? “C'est le côté provocateur, convient Franck Fleury. En réfléchissant en dehors du cadre habituel, il se peut que nous allions à l'encontre de la tendance qui, pour tout simplifier, vise à homogénéiser matériels et logiciels. L'homogénéisation peut s'avérer bénéfique pour certaines propriétés, certes, mais pas pour toutes. Alors, allons regarder dans l'autre direction. Introduisons un peu de diversité dans nos systèmes. Et voyons ce qu'il en résulte...


---------
Notes :
(1) FET : Future Emerging Technologies. Diversify a été accepté dans le cadre de FOCAS, un appel à projet sur les fondamentaux des systèmes adaptatifs collectifs.

(2) Basée à Rennes, l'équipe Triskell étudie l'ingénierie de modèles. À Lille, l'équipe Adam travaille sur les systèmes adaptatifs distribués.