Elsevier

Computer Networks

Volume 54, Issue 6, 29 April 2010, Pages 944-959
Computer Networks

A survey of evolutionary and embryogenic approaches to autonomic networking

https://doi.org/10.1016/j.comnet.2009.08.021Get rights and content

Abstract

The term “autonomic networking” refers to network-level software systems capable of self-management, according to the principles outlined by the Autonomic Computing initiative. Autonomicity is widely recognized as a crucial property to harness the growing complexity of current networked systems.

In this paper, we present a review of state-of-the-art techniques for the automated creation and evolution of software, with application to network-level functionalities. The main focus of the survey are biologically-inspired bottom-up approaches, in which complexity is grown from interactions among simpler units. First, we review evolutionary computation, highlighting aspects that apply to the automatic optimization of computer programs in online, dynamic environments. Then, we review chemical computing, discussing its suitability as execution model for autonomic software undergoing self-optimization by code rewriting. Last, we survey approaches inspired by embryology, in which artificial entities undergo a developmental process. The overview is completed by an outlook into the major technical challenges for the application of the surveyed techniques to autonomic systems.

Introduction

Building software able to continuously improve itself automatically is a common goal in artificial intelligence, software engineering, and other areas of computer science, including, more recently, autonomic systems and organic computing. The vision is to bring to computers the ability to constantly seek to learn and adapt, driven by a concrete purpose and motivation coming from the interaction with the real world [2]. This is also meant to automate a large number of processes in computer communication and networking systems, reducing human intervention while improving the system’s performance and its robustness, reducing costs related to design and management [3], [4].

Efforts in this direction follow either a top-down or a bottom-up approach. Top-down approaches attempt to automate the reasoning process used in software engineering and design, from user requirements down to the code implementation. These include automatic program and protocol synthesis from specifications [5], [6] and more recently, derivation of policy rules from high-level representations closer to natural language [7], [8]. Bottom-up approaches look at how higher-level software functionality would emerge from patterns of lower-level interactions among simpler system units. Artificial Life (ALife), evolutionary computation, Swarm Intelligence, Amorphous Computing and other areas focus on such a bottom-up approach.

While the top-down approach seeks a formal model of software construction by humans, the bottom-up approach is essentially biologically-inspired. Even the most elementary life forms possess a level of robustness and adaptation far beyond current artificial systems, therefore it seems worthwhile to learn from biology in order to draw inspiration for the design of new systems.

In this paper we provide a survey of bio-inspired approaches which could be used in such bottom-up creation of software performing network-level functionalities. Our focus is on dynamic, online processes where evolution and adaptation must happen continuously, during the operation of the system, as opposed to offline, design-time optimization approaches. We investigate the potential of bio-inspired algorithms to obtain network software that is able to continuously pursue a better operation point without ever stopping. Particular attention will be devoted to distributed software systems, where extra challenges arise due to the need of working with partial (and in many cases delayed) information only.

Numerous bio-inspired systems are available. A classification was proposed in [9], which positions them in a 3-D space defined by three axes, related to evolution of functionality, structural growth, and learning ability, respectively. We focus on the first two axes, represented mainly by evolutionary computation and developmental approaches related to embryology.

This paper is organized as follows. In Section 2 we provide some context, in terms of both autonomic networking as well as classifications of biologically-inspired approaches according to the POE (Phylogenesis, Ontogenesis, Epigenesis) framework introduced in [9]. In Section 3 we review the state-of-the-art in evolutionary computation with focus on online and dynamic environments. In Section 4 we review existing approaches in chemical computing and their potential application to the construction of autonomic networks. In Section 5 we present the main research lines inspired by embryology: embryonics and artificial embryogenies. Section 6 presents a discussion on the possible combination of the aforementioned approaches. In Section 7 we take a system view to some of the specific challenges implied in the design of autonomous networking systems. Section 8 concludes the paper pointing out possible applications to the automated generation and optimization of software in the context of autonomic networking.

Section snippets

Autonomic Computing and networking

The “Autonomic Computing” initiative, launched by IBM in 2001 [3], was meant to set the foundations for a new generation of computer systems, able to self-manage themselves. The launch of the initiative was motivated by the increasing complexity (and therefore cost) related to the management of information systems. IBM’s response was to introduce a set of architectures and tools for the design of computer software possessing four key features: self-configuring, self-healing, self-optimizing,

Evolutionary computation

In this section we survey evolutionary computation techniques and discuss their applicability to enhance networking systems with self-optimization capabilities.

Evolutionary computation (EC) [14], [15] derives optimization algorithms inspired by biological evolution principles such as genetics and natural selection. Evolutionary Algorithms (EAs) are meta-heuristics that can be applied to a variety of search and optimization problems. Existing EAs include: Genetic Algorithms (GAs), Genetic

Chemical computing

In this section we introduce chemical computing and provide evidence of its potential in serving as a model for building networking solutions that present a high level of robustness while supporting run-time changes at the code level.

Chemical computing models [56], [57], [58], [59] express computations as chemical reactions that consume and produce computational objects (data or code). Objects are represented as virtual molecules placed in a multiset, an unordered set within which elements may

Embryology

In this section we discuss embryology-inspired mechanisms and their use for providing self-healing capabilities to network protocols and services.

Embryology is a branch of developmental biology focusing on embryogeny, i.e., the process by which the embryo is formed and develops, from fertilization to mitotic divisions and cellular differentiation. The ability of embryos to generate complexity starting from a basic entity has generated a lot of attention in the artificial intelligence field.

The

EC and embryology: common synergies

While evolutionary computation and embryology-based approaches pertain both – broadly speaking – to the same research area, and while there is a considerable overlap in the research communities involved (with the notable exception of embryonics), there are many synergies which have not been exploited so far. A thorough understanding of all the combinations possible on the PO-plane is still missing.

Such combination could complement genetic-based EC techniques by providing a different level of

Challenges from a systemic view

The previous sections have reviewed several bio-inspired techniques with potential applications to the area of autonomic systems. However, from a systemic perspective, applying such techniques raises a number of research challenges to be addressed, including: complexity, safety and robustness, distributed online fitness evaluation, infinite regression of control loops, population management. Each of these items is discussed separately below.

Conclusion

In this paper, we have critically reviewed existing approaches in evolutionary computation, chemical computing and Embryology-inspired techniques and discussed their applicability for building autonomic networks. Such approaches represent a suitable base for designing systems able to self-configure, -optimize, -heal and -protect. Notwithstanding, there are issues of fundamental nature that need to be addressed in order to enable the vision of autonomic networking, including complexity, online

Daniele Miorandi is the head of the Pervasive Computing and Communications Area at CREATE-NET, Italy. He received a Ph.D. in Communications Engineering from University of Padova, Italy, in 2005, and a Laurea degree (summa cum lauda) in Communications Engineering from University of Padova, Italy, in 2001. He joined CREATE-NET in January 2005, where he is leading a group working on Pervasive Computing and Communication Environments. Since March 2007 he is the coordinator of the European project

References (92)

  • J. Branke et al.

    Evolutionary design of en-route caching strategies

    Applied Soft Computing

    (2007)
  • G. Paun

    Computing with membranes

    Journal of Computer and System Sciences

    (2000)
  • D. Miorandi, L. Yamamoto, Evolutionary and embryogenic approaches to autonomic systems, in: Proceedings of the...
  • O.G. Selfridge

    Learning and education: a continuing frontier for AI

    IEEE Intelligent Systems

    (2006)
  • J. Kephart et al.

    The vision of autonomic computing

    IEEE Computer

    (2003)
  • S. Dobson et al.

    A survey of autonomic communications

    ACM Transactions on Autonomous and Adaptive Systems

    (2006)
  • Z. Manna et al.

    Fundamentals of deductive program synthesis

    IEEE Transactions on Software Engineering

    (1992)
  • R.L. Probert et al.

    Synthesis of communication protocols: survey and assessment

    IEEE Transactions on Computers

    (1991)
  • J. Weeds, B. Keller, D. Weir, I. Wakeman, J. Rimmer, T. Owen, Natural language expression of user policies in pervasive...
  • R. Sterritt, M.G. Hinchey, J.L. Rash, W. Truszkowski, C. Rouff, D. Gracanin, Towards formal specification and...
  • M. Sipper et al.

    A phylogenetic, ontogenetic, and epigenetic view of bio-inspired hardware systems

    IEEE Transactions on Evolutionary Computation

    (1997)
  • F. Sestini

    Situated and autonomic communication: an EC FET European initiative

    ACM Computer Communications Review

    (2006)
  • Y. Diao et al.

    A control theory foundation for self-managing computing systems

    IEEE Journal on Selected Areas in Communications

    (2005)
  • J. Kephart, W. Walsh, An artificial intelligence perspective on autonomic computing policies, in: Proceedings of the...
  • E. Cantu-Paz

    Efficient and Accurate Parallel Genetic Algorithms

    (2000)
  • J.A. Foster

    Evolutionary computation

    Nature Reviews Genetics

    (2001)
  • A. Eiben et al.

    Introduction to Evolutionary Computing

    (2003)
  • W. Banzhaf et al.

    From artificial evolution to computational evolution: a research agenda

    Nature Reviews Genetics

    (2006)
  • J. Timmis et al.

    Going back to our roots: second generation biocomputing

    International Journal on Unconventional Computing

    (2006)
  • J. Holland

    Adaptation in Natural and Artificial Systems

    (1992)
  • J. Koza

    Genetic Programming: On the Programming of Computers by Means of Natural Selection

    (1992)
  • W. Banzhaf et al.

    Genetic Programming, An Introduction

    (1998)
  • W.B. Langdon et al.

    Foundations of Genetic Programming

    (2002)
  • R. Poli

    Parallel Distributed Genetic Programming

  • J.F. Miller, P. Thomson, Cartesian genetic programming, in: R. Poli et al. (Eds.), Genetic Programming, Proceedings of...
  • S.G. Araújo, A.C.P. Pedroza, A.C. Mesquita, Evolutionary synthesis of communication protocols, in: Tenth International...
  • N. Sharples et al.

    Protocol construction using genetic search techniques

  • N. Sharples, Evolutionary Approaches to Adaptive Protocol Design, Ph.D. Dissertation, University of Sussex, UK, August...
  • S. Nolfi et al.

    Evolutionary Robotics: The Biology, Intelligence, and Technology of Self-Organizing Machines

    (2000)
  • W. Banzhaf et al.

    Genetic programming of an algorithmic chemistry

  • N. Matsumaru, P.S. di Fenizio, F. Centler, P. Dittrich, On the evolution of chemical organizations, in: Proceedings of...
  • S. Luke, L. Panait, Fighting bloat with nonparametric parsimony pressure, in: Parallel Problem Solving from Nature...
  • Y. Jin et al.

    Evolutionary optimization in uncertain environments – a survey

    IEEE Transactions on Evolutionary Computation

    (2005)
  • H.G. Cobb, An investigation into the use of hypermutation as an adaptive operator in genetic algorithms having...
  • S. Yang, Memory-based immigrants for genetic algorithms in dynamic environments, in: Proceedings of the Genetic and...
  • P.A.N. Bosman, Learning, anticipation and time-deception in evolutionary online dynamic optimization, in: Proceedings...
  • T. Yu, Program evolvablility under environmental variations and neutrality, in: Proceedings of the 9th European...
  • R. Cavill, S. Smith, A. Tyrrell, Multi-chromosomal genetic programming, in: Proceedings of the Genetic and Evolutionary...
  • R.A. Freitas Jr., R.C. Merkle, Kinematic Self-Replicating Machines, Landes Bioscience, Georgetown, TX, USA, 2004,...
  • T. Meyer, L. Yamamoto, C. Tschudin, A self-healing multipath routing protocol, in: Proceedings of the BIONETICS,...
  • P. McKinley et al.

    Harnessing digital evolution

    IEEE Computer

    (2008)
  • L. Spector, J. Klein, M. Keijzer, The Push3 execution stack and the evolution of control, in: Proceedings of the...
  • L. Spector et al.

    Genetic programming and autoconstructive evolution with the push programming language

    Genetic Programming and Evolvable Machines

    (2002)
  • L. Spector et al.

    Ontogenetic programming

  • L. Spector et al.

    Automatic generation of adaptive programs

  • M. O’Neill et al.

    Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language

    (2003)
  • Cited by (13)

    View all citing articles on Scopus

    Daniele Miorandi is the head of the Pervasive Computing and Communications Area at CREATE-NET, Italy. He received a Ph.D. in Communications Engineering from University of Padova, Italy, in 2005, and a Laurea degree (summa cum lauda) in Communications Engineering from University of Padova, Italy, in 2001. He joined CREATE-NET in January 2005, where he is leading a group working on Pervasive Computing and Communication Environments. Since March 2007 he is the coordinator of the European project BIONETS (www.bionets.eu). His research interests include bio-inspired approaches to networking and service provisioning in large-scale computing systems, modeling and performance evaluation of wireless networks, wireless extensions of fieldbus systems, prototyping of wireless mesh solutions. He has co-authored more than 70 papers in internationally refereed journals and conferences. He serves on the Steering Committee of various international events (WiOpt, Autonomics, ValueTools), for some of which he was a co-founder (Autonomics and ValueTools). He served as TPC co-chair of WiOpt 2009. He also serves on the TPC of leading conferences in the networking field, including, e.g., IEEE INFOCOM, IEEE ICC, IEEE Globecom. He is serving as co-Editor-in-Chief for ICST Transactions on Network Optimisation and Control.

    Lidia Yamamoto is a post-doctoral researcher at the Computer Science Department, University of Basel, Switzerland. Her research currently focuses on artificial chemistries, bio-inspired computing, and autonomic systems. She holds a doctoral degree from the University of Liege, Belgium (2003), a master’s degree in Communication Systems and Networks from the Technical University of Madrid, Spain (1995), and a bachelor degree in Computer Science from the State University of Campinas, Brazil (1991). She also worked for Hitachi Europe, France (2002–2004), KPN Research, the Netherlands (1996–1998), and Telefonica I+D, Spain (1993–1996).

    Francesco De Pellegrini was born in 1974, Italy. He received the Laurea degree in 2000 and the Ph.D. degree in 2004, both in Telecommunication Engineering, from the University of Padova. During year 2001/2002 he spent one year at Boston University as a visiting scholar. He is currently a senior researcher at CREATE-NET. His research interests are location detection in sensor networks, multirate systems, routing, wireless mesh networks, VoIP, Ad Hoc and Delay Tolerant Networks. He is a TPC member of IEEE Infocom and a reviewer for several international networking conferences and journals. He serves in the Steering Programm Committee of Mobiquitous and Robocomm. He was the Vice-chair for the first edition of Robocomm.

    This work has been partially funded by the European Commission within the framework of the BIONETS Project EU-IST-FET-SAC-FP6-027748, www.bionets.eu. An earlier version of this work appeared in the Proc. of ValueTools (Inter-Perf Workshop), 2008 [1].

    View full text