DI-UMONS : Dépôt institutionnel de l’université de Mons

Recherche transversale
(titres de publication, de périodique et noms de colloque inclus)
2014-02-04 - Colloque/Présentation - communication orale - Anglais - 2 page(s)

Grosjean Philippe , "Using biology and ecology as inspiration for software maintenance" in IEEE CSMR-WCRE 2014 Software Evolution Week, Antwerpen, Belgique, 2014

  • Codes CREF : Informatique générale (DI1162), Analyse de systèmes informatiques (DI2572)
  • Unités de recherche UMONS : Ecologie numérique des milieux aquatiques (S807)
  • Instituts UMONS : Institut de Recherche sur les Systèmes Complexes (Complexys)
Texte intégral :

Abstract(s) :

(Anglais) Using biology and ecology as inspiration for software maintenance Philippe Grosjean Numerical Ecology of Aquatic Systems Lab, Complexys Institute, University of Mons email: Philippe.Grosjean@umons.ac.be As a bioengineer and marine ecologist, I probably have a slightly different view on software complexity and evolution than specialists in this field. In this presentation, I will compare a couple of biological and software (mostly Open Source) ecosystems and suggest a few ideas. Two key aspects appeared to me when I started to work in the context of the ECOS (Ecological Studies of Open Source Software Ecosystems): (1) the difference in terminology, and (2) the much more collaborative trends in software ecosystems, compared to biological ecosystems. For the first point, it is mostly a technical aspects that unfortunately creates a stronger barrier between software engineers and biologists. So, although it is worth considering using the same or similar meaning for the same terms, like ecosystem, ressource, consumer, ... such technical questions will certainly not revolutionize the discipline. The second point is much more interesting. So, software ecosystems exhibit much more collaboration and much less competition than biological ecosystems? Since, biologists consider competition as one of the major driving force for biological evolution (recall Darwin and its natural selection mechanism through struggle for existence), it is very clear that fundamental rules that drive both biological and software complex ecosystems are completely different. So what? Is there still something to share between the two disciplines? For sure, a couple of concepts (mostly, emerging properties, e.g., the impact of biodiversity on resistance and resilience of an ecosystem, migration patterns, dependencies along the trophic chain, ...) or tools (dendrograms, specialised multivariate analyses, biodiversity or interaction metrics, ...) are of some inspiration to software engineers. Yet, a much deeper consideration is whether the driving force of competition and selection of the fittest, which is so powerful for the evolution of biological ecosystems could change somehow strategies for software design and evolution. I will discuss this question and propose a couple of ideas in this direction. For instance, why a language like R, with its semantic contradictions (Morandat et al 2012), seems most efficient for data analyses? Would a metasoftware, able to translate one practical problem into different implementations and learn from their comparisons be useful for the design of software building blocks? Would the concept of phenotypes (same organism, understand software, but totally different apparence and properties depending on the environment) lead to computer tools that are better tailored for each user than the current ones? Clearly, all these ideas converge towards more freedom for self-organisation of software and software ecosystems than it is currently the case. Would this be desirable, or useful? Mother nature answers a big yes for biological ecosystems... would you, software architects, try this too at the cost of loosing a little bit of control on your software ecosystems? Reference: Morandat, F., B. Hill, L. Osvald & J. Vitek (2012). Evaluating the Design of the R Language. ECOOP 2012–Object-Oriented Programming, 104-131.

Mots-clés :
  • (Anglais) Darwinian evolution
  • (Anglais) software evolution
  • (Anglais) ecosystem
  • (Anglais) biology