DocumentCode :
251785
Title :
Using biology and ecology as inspiration for software maintenance? (Keynote abstract)
Author :
Grosjean, Philippe
Author_Institution :
COMPLEXYS Res. Inst., Univ. of Mons, Mons, Belgium
fYear :
2014
fDate :
3-6 Feb. 2014
Firstpage :
1
Lastpage :
1
Abstract :
Summary form only given. As a bioengineer and marine ecologist, I probably have a different view on software complexity and evolution than specialists in this field. The literature as well as discussion with colleagues suggests that there may well be “hidden gems” in traditional ecology for software engineers. In this presentation, I will compare a couple of biological and software (mostly Open Source) ecosystems and suggest a few ideas that may be useful for software maintenance research. Two key aspects appeared to me when I started to work on Open Source software ecosystems: (1) the difference in terminology in biology and software engineering, and (2) the much more collaborative trends in software ecosystems, compared to biological ecosystems. The first aspect is mostly a technical issue that unfortunately creates a strong barrier between software engineers and biologists. So, it should be worth considering using the same or similar meaning for the same terms, like ecosystem, resource, consumer, ... in both disciplines. The second aspect 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 forces for biological evolution (recall Darwin and his natural selection mechanism through struggle for existence), it is very clear that the fundamental rules that drive both biological and software ecosystems are completely different. So what? Is there still something to share between the two disciplines? For sure, a couple of concepts (mostly, simple 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, specialized multivariate analyses, biodiversity or interaction metrics, ...) could be of inspiration to software engineers. Yet, a much deeper consideration is whether the driving f- rce 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. They will, for sure, look strange in current views. For instance, why did a so badly designed language like R [1] become one of the most efficient tools for data analy-sis? Would a meta-software, able to translate one practical problem into different implementations and learn from their comparisons, change the design of software building blocks? Would the concept of phenotypes (same organism, understand software, but totally different appearance and properties depending on the environment) lead to computer tools that are better tailored for each user than the current ones? Ultimately, all these ideas converge towards more freedom for self-organisation of software and software ecosystems than is currently the case. Are you, software engineers, ready to learn from living organisms and to loose a little bit of your orchestration power? Are you ready to become a little bit more observers and a little bit less architects? New and interesting emergent properties may well appear from that freedom you would accept to concede to your complex systems!
Keywords :
biomedical engineering; data analysis; ecology; object-oriented programming; public domain software; software maintenance; software metrics; bioengineering; biological ecosystems; biological evolution; biology; computer tools; data analysis; ecology; marine ecologist; meta-software; natural selection mechanism; open source ecosystem; open source software ecosystem; software building block; software complexity; software design; software engineering; software evolution; software maintenance research; Abstracts; Ecosystems; Evolution (biology); Software maintenance;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on
Conference_Location :
Antwerp
Type :
conf
DOI :
10.1109/CSMR-WCRE.2014.6747159
Filename :
6747159
Link To Document :
بازگشت