Evolving Robust Networks for Systems-of-Systems: is it Viable for Large Networks?

Research output: Contribution to journalArticlepeer-review


Software systems that rely on ad-hoc networks are increasingly complex and prevalent. Some of these systems provide vital functionality to emergency services, military operations, and disaster relief; such systems may have significant impact on the safety of people involved in those operations. It is therefore important that those networks support critical software requirements, including those for latency of packet transfer. If a network ceases to meet the software’s requirements (e.g. due to a link failure) then engineers must be able to understand it well enough to reconfigure the network and restore it to a requirement-satisfying state. Given a complex network, it is difficult for a human to do this, especially under time pressure. Tool support would therefore be valuable. This paper presents a search-based tool which takes as input a network defined using the Network Description Language (NDL), annotated with a set of network-hosted applications and a set of latency requirements between each. The tool can evolve variants of the network configuration which meet the requirements and are robust to single link failures, using multi-objective optimisation to resolve the conflicting demands of robustness and low resource use. We have investigated how the Genetic Algorithm (GA) can be configured to find good results, and how the time taken to evolve networks scales with the size of the network. We conclude that the approach is effective for small networks (tens of nodes) but scales poorly beyond that.
Original languageEnglish
Pages (from-to)1502-1530
Number of pages29
JournalEmpirical Software Engineering
Issue number5
Early online date13 Feb 2014
Publication statusPublished - Oct 2014

Cite this