Biodiversity - Software
Mother Nature Asked for Paradigm Shift in Software Engineering
Could software engineering find some inspiration in the way biological systems function? Maybe and it's worth exploring, say a group of scientists about to start pluridisciplinary work through Diversify, a European project whose kick-off meeting took place in Inria research center, in Rennes, France, in March 2013.
“Take a critical component in a plane. With failure not an option, these things are often duplicated or, better yet, triplicated. An error in one component will be out-voted by the others. But if a triply redundant system relies on just one technology, there is still a risk of seeing the three parts failing simultaneously. So in order to minimize such risk and enhance safety one notch further, aircraft manufacturers purposefully commit different development teams tasked to come up with a variety of solutions. So, as you can see, in computer science, just like in biology, diversity can be a plus
,” says scientist Olivier Barais during the kick-off meeting of the Diversify project.
Sponsored by the EU, Diversify is a research project within FET Proactive, a scheme aimed at fostering non-conventional approaches in response to emerging societal and industrial needs. “Our objective is to investigate how models of biodiversity can be adapted to spontaneously diversify software in collaborative adaptive systems in order to improve their adaptive capacities. We have the intuition that ecological systems are based on diversity and redundancy. There are things to be learned from observing them, ” outlines project coordinator Benoît Baudry. Besides two Inria research teams, Diversify involves three other academic partners: Rennes 1 University's Ecobio Laboratory, the Distributed Systems Group (DSG) of the Trinity College Dublin and the Department for Networked Systems and Services of Sintef, the Norwegian research institute.
“The analogy with biology has been in our mind for well over 10 years now
, Sintef scientist Franck Fleurey recalls. There was a time when we would simply check a Wikipedia page on some biological theme and try to gather some inspiration from that. But you can hardly call that a truly pluridisciplinary interaction, can you? So our goal now is to go one step further along the pluridisciplinary road. We don't just want to have ecologists expose us some models and then try to figure out how we can use them. We aim at getting some
iteration. We will go back to these specialists, show them our experiments and ask for an ecological assessment of our results. Maybe will we get some good advice on what we can improve, why it doesn't work, so on and so forth. ”
The life science expertise will be brought by Ecobio in conjunction with an ecological board of four ecologists. “Did we need an ecology core partner? Absolutely, Baudry believes. We thought it would make a lot of sense although we feared it would be rather difficult to convince researchers from this field to join us. ” Ecobio Cendrine Mony accepted the invitation. As she points out, “we will try to explain how ecological networks function. But there is also a methodology aspect in this collaboration. We will compare the way we design experiments and analyze data. We are interested in seeing our every day research object approached from another perspective and the new research questions this raises. ”
Pursuing the Analogy
Still, isn't bridging two scientific fields so far apart a bit of a challenge? "Probably. But, at any rate, the scientific intuition about ecology can be understood better by software specialists than the other way around,
” Mony opines. “Beyond a superficial first level of understanding, those ecological models are really complex. My inkling is that we will come to realize how difficult it is to link them to our world,
” Baudry believes. “Communicating together sure is a challenge, Fleurey concedes.
We will have to make an effort to present the results of our experiments in a way that is understandable. We will be compelled to abstract some of the technical aspects. We’ll have to focus on what really matters, we will probably achieve something that we wouldn't have otherwise. Something good might come from it.
Having said that, “we are not just exploring those analogies for the sake of it. In software engineering, we face some problems that we are not really able to solve using our traditional techniques. Sintef and Inria have been working on adaptive systems for a few years. We have come to results. But there are classes of interconnected systems for which our techniques just do not scale. The bad news is that we really don't see how a small delta could help achieve it. So, in essence, we need a paradigm shift. ”
“The point in building a European project was to reach a critical mass, Baudry remarks. Working only on a small piece of software wouldn't make sense. We needed a really large-scale case study. So we contacted Trinity College Dublin. They provide both an application domain and their expertise in distributed systems. ”
"At TCD, we work on the concept of smart cities : energy efficiency, ustainability and so on, Hui Song explains. We investigate the design of the middleware needed to optimize urban resource usage. We focus on the exploitation of data from very diverse sensors with aim of enabling a better management of such large-scale services. Imagine a flood for instance. Adaptive software could help local authorities to assess the damage, quickly react to the emergencies, warn the people... It calls for the design of new programming models and middleware architectures that allow sensor data to be gathered and interpreted more effectively. But presently, there isn't any guideline of good practices to define the development of such tools. We hope our skills in Model-Driven Engineering and Models@Runtime will be of help in this regard.
How does the whole project fit against the backdrop of standardization? “That's the provocative part, Fleurey acknowledges. Thinking out of the box, we may be running against some of the trends where homogenization of hardware and software is meant to make things simpler. This might be good for some properties, but not for all. So let's explore the other direction. Let's introduce some diversity in our systems and see what it brings. ”