Abstract
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 language | English |
---|---|
Pages (from-to) | 1502-1530 |
Number of pages | 29 |
Journal | Empirical Software Engineering |
Volume | 19 |
Issue number | 5 |
Early online date | 13 Feb 2014 |
DOIs | |
Publication status | Published - Oct 2014 |