Digitally Evolving Models for Dynamically Adaptive Systems

Developing a Dynamically Adaptive System (DAS) requires a developer to identify viable target systems that can be adopted by the DAS at runtime in response to specific environmental conditions, while satisfying critical properties. This paper describes a preliminary investigation into using digital evolution to automatically generate models of viable target systems. In digital evolution, a population of self-replicating computer programs exists in a user-defined computational environment and is subject to instruction-level mutations and natural selection. These "digital organisms" have no built-in ability to generate a model - each population begins with a single organism that only has the ability to self-replicate. In a case study, we demonstrate that digital evolution can be used to evolve known state diagrams and to further evolve these diagrams to satisfy system critical properties. This result shows that digital evolution can be used to aid in the discovery of the viable target systems of a DAS.

[1]  Christoph Adami,et al.  Design of evolvable computer languages , 2002, IEEE Trans. Evol. Comput..

[2]  Steven Johnson,et al.  Emergence: The Connected Lives of Ants, Brains, Cities, and Software , 2001 .

[3]  Andrew M. Tyrrell,et al.  Immunotronics - novel finite-state-machine architectures with built-in self-test using self-nonself differentiation , 2002, IEEE Trans. Evol. Comput..

[4]  Robert T. Pennock,et al.  The evolutionary origin of complex features , 2003, Nature.

[5]  Sandeep S. Kulkarni,et al.  Correctness of Component-Based Adaptation , 2004, CBSE.

[6]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[7]  Paolo Tonella,et al.  Evolutionary testing of classes , 2004, ISSTA '04.

[8]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[9]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[10]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[11]  David W. Payton,et al.  Pheromone Robotics , 2001, Auton. Robots.

[12]  Walter Truszkowski,et al.  NASA's Swarm Missions: The Challenge of Building Autonomous Software , 2004, IT Prof..

[13]  J. Mylopoulos,et al.  Towards requirements-driven autonomic systems design , 2005, ACM SIGSOFT Softw. Eng. Notes.

[14]  Francesco Mondada,et al.  Collective and Cooperative Group Behaviors: Biologically Inspired Experiments in Robotics , 1995, ISER.

[15]  Betty H. C. Cheng,et al.  A general framework for formalizing UML with formal languages , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[16]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[17]  C. Ofria,et al.  Genome complexity, robustness and genetic interactions in digital organisms , 1999, Nature.

[18]  David B. Knoester,et al.  Evolution of Leader Election in Populations of Self-Replicating Digital Organisms , 1996 .

[19]  John R. Koza,et al.  Genetic Programming IV: Routine Human-Competitive Machine Intelligence , 2003 .

[20]  C. Ofria,et al.  Evolution of digital organisms at high mutation rates leads to survival of the flattest , 2001, Nature.

[21]  M. Pagel Encyclopedia of evolution , 2002 .

[22]  Andrew M. Tyrrell,et al.  Embryonics+immunotronics: a bio-inspired approach to fault tolerance , 2000, Proceedings. The Second NASA/DoD Workshop on Evolvable Hardware.

[23]  Tatiana Kalganova,et al.  Evolutionary Algorithms and Theirs Use in the Design of Sequential Logic Circuits , 2004, Genetic Programming and Evolvable Machines.

[24]  José M. Troya,et al.  Specification and Refinement of Dynamic Software Architectures , 1999, WICSA.

[25]  Rogério de Lemos,et al.  Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems , 2012, ICSE 2012.

[26]  Roberto Montemanni,et al.  Design patterns from biology for distributed computing , 2006, TAAS.

[27]  Jason D. Lohn,et al.  Evolution, Re-evolution, and Prototype of an X-Band Antenna for NASA's Space Technology 5 Mission , 2005, ICES.

[28]  J. Pollack,et al.  Kin-Selection: The Rise and Fall of Kin-Cheaters , 2004 .

[29]  J. Pollack,et al.  Sexual reproduction and Muller's ratchet in digital organisms , 2004 .

[30]  Robert T. Pennock,et al.  Kin-Selection : The Rise and Fall of Kin-Cheaters , 2004 .

[31]  Tatsuya Suda,et al.  A middleware platform for a biologically inspired network architecture supporting autonomous and adaptive applications , 2005, IEEE Journal on Selected Areas in Communications.

[32]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[33]  Alistair Sutcliffe,et al.  Optimizing System Requirements with Genetic Algorithms , 2022 .

[34]  Charles Ofria,et al.  Avida , 2004, Artificial Life.

[35]  Christoph Adami,et al.  Evolution of genetic organization in digital organisms , 1999, ArXiv.

[36]  C. Ofria,et al.  Adaptive Radiation from Resource Competition in Digital Organisms , 2004, Science.

[37]  David B. Knoester,et al.  Using group selection to evolve leadership in populations of self-replicating digital organisms , 2007, GECCO '07.