Applying to Mitigate Uncertainty in Adaptive

Philip K. McKinley, Betty H.C. Cheng, Andres J. Ramirez, Adam C. Jensen

BEACON Center for the Study of in Action Engineering and Network Laboratory

Department of and Engineering Michigan State University Pervasive Computing

• Computing systems are increasingly interacting with the physical world • Requirements: • Adapt to changing network • Conserve energy • Compensate for failures • Optimize performance • Typically requires interactions and cooperation among nodes

http://neptune.washington.edu

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Autonomic Systems

• Self-managed and long-running systems • Require only limited human guidance • Also needed to manage critical infrastructure • communication networks, • transportation systems, • water and power systems • Middleware has been shown to be an excellent place to implement adaptive functionality.

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research , the Ultimate Model

 No computational rivals on Earth in and adaptability

 Natural systems are:  Self-managing  Self-healing  Self-protecting  Self-optimizing

 Cooperation is ubiquitous! Nature, the Ultimate Model

 No computational system rivals life on Earth in complexity and adaptability

 Natural systems are:  Self-managing  Self-healing  Self-protecting  Self-optimizing

 Cooperation is ubiquitous!

Goal: Build systems that JUST WORK! Harnessing Evolution

!! , or mimicking nature, has been very effective in many engineering domains."

!! However, biomimetics alone does not account for the process of evolution."

!! Can we evolve computer systems that combine natural behaviors and modern technology?"

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Harnessing Evolution

!! Biomimetics, or mimicking nature, has been very effective in many engineering domains."

!! However, biomimetics alone does not account for the process of evolution."

!! Can we evolve computer systems that combine natural behaviors and modern They’re not fish! technology?"

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Evolution in a Computer

• Codify the basic principles of genetic evolution in computer software, e.g.,

- Genetic - - Digital Evolution • Great success in many areas of engineering, but not widely explored in the context of distributed systems...

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Evolution Park • Evoluonary robocs habitat for swimming, crawling, flying creatures • Facilitates biomutualism among engineering, computer science and • de (www.cse.msu.edu/evopark)

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research

Multi-material 3D Printing

Export to PDF Export to PDF

The engineering researchers will design robotic fish in the computer, then print them out using the !-D printer. PHOTO BY HARLEY J. SEELEY J. HARLEY BY PHOTO Digital Preliminary Ongoing Motivations Summary Evolution Studies Research locomotion and other behaviors turn, this knowledge will feed back swimming , the system will of a natural , using the into the development of robots that also be used to produce crawling stickleback fish as a model. can adapt to adverse and dynamic and flying robots. Since the printer is Boughman explains why the conditions.” capable of printing multiple materials stickleback, a small fish that averages The engineering researchers will at the same time, the researchers ! cm in size, is the perfect vertebrate design robotic fish in the computer will be able to produce for studying evolution in using evolutionary computation and structures, such as fins and wings action. “There is a wealth of informa- physics-based simulators, as well as that comprise rigid struts and more tion on their evolution, behavior, SolidWorks "D CAD so# ware. “Using pliable inner membranes. “However, and ecology, as well as good genetic evolutionary algorithms, we will for some studies, the robots do not tools, so they are a model system evolve the controllers for these robots, necessarily need to mimic any living for understanding the evolution of as well as the bodies of the robots creature,” says McKinley. “Rather, many traits, including social behavior, themselves, in a computer. Evolution the evolutionary process might morphology, and . They will enable us to find the best com- discover entirely new structures and are also amendable to lab and field binations of materials, shapes, and behaviors that match the properties experiments. But probably the most behaviors,” McKinley says. He notes of the materials and mechanisms for important reason is that they adapt that they will be able to evaluate locomotion.” very, very rapidly to novel evolution- thousands of generations in a day. Typically, a "-D printer like the ary pressures, giving us a window on “When we have a design that one in MSU’s evolutionary the process of evolution.” seems like it’s performing pretty well lab would be used to create a model, “The goal of the new project,” in the simulated world, we will print from which a mold would be made. says McKinley, “is to produce very it out for testing in our real tanks.” The final product would then be small swimming robots, similar to The "-D printer uses materials manufactured out of metal or some sticklebacks in size and appearance, that range from extremely hard other material. “But for us, what we which will intermingle with live fish plastic to extremely flexible plastic— print out—these robots—these are in order to help understand various and everything else in between. the end products,” McKinley says. behaviors and how they evolved. In While their initial focus is on “Having our own "-D printer

14 $%&&'()* +,-,./(' 0122–0120 . 333.'-&.+*%.'4%

Multi-material 3D Printing

Export to PDF Export to PDF

The engineering researchers will design robotic fish in the computer, then print them out using the !-D printer. PHOTO BY HARLEY J. SEELEY J. HARLEY BY PHOTO Digital Preliminary Ongoing Motivations Summary Evolution Studies Research locomotion and other behaviors turn, this knowledge will feed back swimming robots, the system will of a natural organism, using the into the development of robots that also be used to produce crawling stickleback fish as a model. can adapt to adverse and dynamic and flying robots. Since the printer is Boughman explains why the conditions.” capable of printing multiple materials stickleback, a small fish that averages The engineering researchers will at the same time, the researchers ! cm in size, is the perfect vertebrate design robotic fish in the computer will be able to produce complex system for studying evolution in using evolutionary computation and structures, such as fins and wings action. “There is a wealth of informa- physics-based simulators, as well as that comprise rigid struts and more tion on their evolution, behavior, SolidWorks "D CAD so# ware. “Using pliable inner membranes. “However, and ecology, as well as good genetic evolutionary algorithms, we will for some studies, the robots do not tools, so they are a model system evolve the controllers for these robots, necessarily need to mimic any living for understanding the evolution of as well as the bodies of the robots creature,” says McKinley. “Rather, many traits, including social behavior, themselves, in a computer. Evolution the evolutionary process might morphology, and speciation. They will enable us to find the best com- discover entirely new structures and are also amendable to lab and field binations of materials, shapes, and behaviors that match the properties experiments. But probably the most behaviors,” McKinley says. He notes of the materials and mechanisms for important reason is that they adapt that they will be able to evaluate locomotion.” very, very rapidly to novel evolution- thousands of generations in a day. Typically, a "-D printer like the ary pressures, giving us a window on “When we have a design that one in MSU’s evolutionary robotics the process of evolution.” seems like it’s performing pretty well lab would be used to create a model, “The goal of the new project,” in the simulated world, we will print from which a mold would be made. says McKinley, “is to produce very it out for testing in our real tanks.” The final product would then be small swimming robots, similar to The "-D printer uses materials manufactured out of metal or some sticklebacks in size and appearance, that range from extremely hard other material. “But for us, what we which will intermingle with live fish plastic to extremely flexible plastic— print out—these robots—these are in order to help understand various and everything else in between. the end products,” McKinley says. behaviors and how they evolved. In While their initial focus is on “Having our own "-D printer

14 $%&&'()* +,-,./(' 0122–0120 . 333.'-&.+*%.'4%

Multi-material 3D Printing

Export to PDF Export to PDF

The engineering researchers will design robotic fish in the computer, then print them out using the !-D printer. PHOTO BY HARLEY J. SEELEY J. HARLEY BY PHOTO Digital Preliminary Ongoing Motivations Summary Evolution Studies Research locomotion and other behaviors turn, this knowledge will feed back swimming robots, the system will of a natural organism, using the into the development of robots that also be used to produce crawling stickleback fish as a model. can adapt to adverse and dynamic and flying robots. Since the printer is Boughman explains why the conditions.” capable of printing multiple materials stickleback, a small fish that averages The engineering researchers will at the same time, the researchers ! cm in size, is the perfect vertebrate design robotic fish in the computer will be able to produce complex system for studying evolution in using evolutionary computation and structures, such as fins and wings action. “There is a wealth of informa- physics-based simulators, as well as that comprise rigid struts and more tion on their evolution, behavior, SolidWorks "D CAD so# ware. “Using pliable inner membranes. “However, and ecology, as well as good genetic evolutionary algorithms, we will for some studies, the robots do not tools, so they are a model system evolve the controllers for these robots, necessarily need to mimic any living for understanding the evolution of as well as the bodies of the robots creature,” says McKinley. “Rather, many traits, including social behavior, themselves, in a computer. Evolution the evolutionary process might morphology, and speciation. They will enable us to find the best com- discover entirely new structures and are also amendable to lab and field binations of materials, shapes, and behaviors that match the properties experiments. But probably the most behaviors,” McKinley says. He notes of the materials and mechanisms for important reason is that they adapt that they will be able to evaluate locomotion.” very, very rapidly to novel evolution- thousands of generations in a day. Typically, a "-D printer like the ary pressures, giving us a window on “When we have a design that one in MSU’s evolutionary robotics the process of evolution.” seems like it’s performing pretty well lab would be used to create a model, “The goal of the new project,” in the simulated world, we will print from which a mold would be made. says McKinley, “is to produce very it out for testing in our real tanks.” The final product would then be small swimming robots, similar to The "-D printer uses materials manufactured out of metal or some sticklebacks in size and appearance, that range from extremely hard other material. “But for us, what we which will intermingle with live fish plastic to extremely flexible plastic— print out—these robots—these are in order to help understand various and everything else in between. the end products,” McKinley says. behaviors and how they evolved. In While their initial focus is on “Having our own "-D printer

14 $%&&'()* +,-,./(' 0122–0120 . 333.'-&.+*%.'4% Evolutionary Computation + 3D Printing

• Initial study: Evolution of autonomous robotic fish • Collaboration with Xiaobo Tan (ECE) and Jenny Boughman (Zoology) • Project funded by BEACON Center for the Study of Evolution in Action • High precision evolution of fin structure and movement • Goal: robots swim with fish as conspecifics. • Robots learn from fish (and vice versa!)

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Applications • Monitoring reservoirs, aquaculture farms, ecological habitats • Homeland security, harbor & estuary surveillance • Tracking vessels, oil spills

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Roles of Evolutionary Computation in Adaptive Systems

Application Domains Required Self-Adaptive Systems Swarm Robotics and Remote Sensing and Cybersecurity and Advanced, Intelligent Autonomous Systems Monitoring Infrastructure Protection Transportation Systems

EC Support for Traditional Software Adaptive Software Adaptive Software Engineering Methods Technologies Run-time Support - Model-Driven Engr. Adaptive Self-Monitoring - RELAX Spec. Language - Requirements Modeling Distributed Decision Making - Dynamically-Adaptive - Verification & Validation Path Discovery Systems Modeling - Model Checking & - AMOEBA-RT Run-Time Modular Verification - Transparent Shaping of - Software Engr. Metrics Development-time Support Robust Design Legacy Applications - Reuse & Design Patterns Exploring Environmental Risks - Safe Adaptation Support Finding Latent Properties

Evolutionary Computation Methods

Genetic Genetic & Evolved Artificial Algorithms Programming Digital Evolution Neural Networks Evolving Robust Distributed Algorithms tion. The first step in replication is for the parent to allocate space for the offspring’s . The parent thenAvidaexecutes its“Digital“copy-loop,” Petriwhere instruc Dish”tions are copied in- dividually from the parent’s genome to the offspring’s. Finally, the parent organism executes an H-DIVIDE instruction, creating the offspring. Each time an instruction is copied,Populationa ofmay self-replicatingbe introduced accordin computerg to a predefined programs:. These mu- •tations may take the form of a replacement (substituting a random instruction for the one•copied),Existan inins computationalertion (inserting an additional,environmentrandom instruction into the offspring’s genome),Subjector a deletion to mutation(removing theandcopied naturalinstruction selectionfrom the offspring’s genome). When• an organism replicates, a target cell that will house the new organism is selected •fromDigitalthe environment. OrganismDifferent models to select this target cell are available, including MASS-CircularACTION (select list ofat randoinstructionsm from among (genome)all cells) and andNE virtualIGHBOR HCPUOOD (select from• cells adjacent to the parent), among others. In every case, an organism that is already• Virtualpresent inCPUthe target cell is replaced (killed and overwritten) by the offspring.

inc get-id halloc hdiv Registers Stacks rtrvm rotater AX BX CPU GS rotater CX LS sendmsg rtrvm Heads rotatel if-less Cell h-div Flow Instr getid Interface getid Read Write inc

Fig. 1. An AVIDDigitalA populationPreliminary(left), and theOngoingstructure of an individual organism (right). Motivations Summary During anEvolutionAVIDA experiment,Studiesthe meritResearchof a given determines how many instructions its virtual CPU is allowed to execute in relation to other or- ganisms, similar to a priority-based scheduling algorithm. Since digital are self-replicating, a higher merit results in an organism that replicates more frequently, spreading throughout and eventually dominating the population. Unlike fitness in ge- netic programming, merit in is not evaluated only at discrete time intervals, but rather updated asynchronously based upon performed tasks. Tasks are designed by the user and are used to reward desirable behavior (they may also punish undesirable be- havior), thereby driving . Tasks are defined in terms of an organism’s externally visible behavior, or phenotype (for example, messages that are sent), rather than in terms of CPU-level actions. This approach is intended to allow maximum flex- ibility in the evolution of a solution for a particular task. The solution might not be optimal when considering the task in isolation, but it may have other properties that make it well-suited for its environment – resilience to mutation, for example. Multiple tasks can be used in conjunction to reward complex behaviors. For example, one task may reward organisms for sending a message, while another may reward for a specific message payload. Rewards for performing multiple tasks are, by default, multiplicative.

3 Experiments and Results

We present three different sets of experiments. Each uses different combinations of AVIDA tasks, however all are focused on evolving the same behavior: proliferation of

Digital Evolution in Avida

Export to PDF Export to PDF

• Organisms self-replicate and gain CPU cycles when they perform tasks • No explicit fitness function, as in a • Faster executing organisms produce more offspring • Organisms compete for space • Avida has (1) replication, (2) variation, (3) differential fitness

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research

Digital Evolution in Avida

Export to PDF Export to PDF

• Organisms self-replicate and gain CPU cycles when they perform tasks • No explicit fitness function, as in a Genetic Algorithm • Faster executing organisms produce more offspring • Organisms compete for space • Avida has (1) replication, (2) variation, (3) differential fitness

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Early example: Leader Election • Leader election: A population must eventually elect one leader, and if that leader is terminated, elect a new leader. http://www.dartmouth.edu

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Early example: Leader Election • Leader election: A population must eventually elect one leader, and if that leader is terminated, elect a new leader. http://www.dartmouth.edu

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Early example: Leader Election • Leader election: A population must eventually elect one leader, and if that leader is terminated, elect a new leader. http://www.dartmouth.edu

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Early example: Leader Election • Leader election: A population must eventually elect one leader, and if that leader is terminated, elect a new leader. http://www.dartmouth.edu

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Early example: Leader Election • Leader election: A population must eventually elect one leader, and if that leader is terminated, elect a new leader. http://www.dartmouth.edu

Can digital evolution discover an algorithm that performs leader election?

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Communication Between Digital Organisms

send−msg retrieve−msg

p sub Registers p sub k shift−r h push AX q nand Stacks e if−less b nop−B CPU C rotate−r BX GS m inc s h−alloc t h−divide a nop−A CX LS y get−head o add e if−less y get−head A set−flow z if−label F get−id c nop−C D send−msg Heads i swap−stk v h−search E retrieve−msg F get−id Instruction f if−grt w mov−head z if−label Cell u h−copy Flow−control u h−copy u h−copy D send−msg Read u h−copy Interface D send−msg z if−label u h−copy Write C rotate−r

p sub Registers p sub k shift−r h push AX q nand Stacks e if−less b nop−B CPU C rotate−r BX GS m inc s h−alloc t h−divide a nop−A CX LS y get−head o add e if−less y get−head A set−flow z if−label F get−id c nop−C D send−msg Heads i swap−stk v h−search E retrieve−msg F get−id Instruction f if−grt w mov−head z if−label Cell u h−copy Flow−control u h−copy u h−copy D send−msg Read u h−copy Interface D send−msg z if−label u h−copy Write C rotate−r

Message

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Communication Between Digital Organisms

send−msg retrieve−msg

p sub Registers p sub k shift−r h push AX q nand Stacks e if−less b nop−B CPU C rotate−r BX GS m inc s h−alloc t h−divide a nop−A CX LS y get−head o add e if−less y get−head A set−flow z if−label F get−id c nop−C D send−msg Heads i swap−stk v h−search E retrieve−msg F get−id Instruction f if−grt w mov−head z if−label Cell u h−copy Flow−control u h−copy u h−copy D send−msg Read u h−copy Interface D send−msg z if−label u h−copy Write C rotate−r

p sub Registers p sub k shift−r h push AX q nand Stacks e if−less b nop−B CPU C rotate−r BX GS m inc s h−alloc t h−divide a nop−A CX LS y get−head o add e if−less y get−head A set−flow z if−label F get−id c nop−C D send−msg Heads i swap−stk v h−search E retrieve−msg F get−id Instruction f if−grt w mov−head z if−label Cell u h−copy Flow−control u h−copy u h−copy D send−msg Read u h−copy Interface D send−msg z if−label u h−copy Write C rotate−r Any coordination between sending and Messagereceiving organisms is evolved.

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Distribution of Cell Identifiers

Vote for “King” Vote for both (confused)

Vote for “Prince”

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research

Distribution of Cell Identifiers

Export to PDF Export to PDF

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research C rotate-r k shift-r s h-alloc B rotate-l if-label A set-flow a nop-A These instructions send a single message c nop-C get-id z if-label Dominant thatGenomecontains this organism’s cell-ID. b nop-B z if-label nop-C g pop Neutral C m rotate−r utation. c nop-C k shift−r s h−alloc l shift-l send-msg B rotate−l if−label A set−flow Send a message t h-divide Dominant genome in the population a nop−A c nop−C get−id o add z if−label containing the sensed • b nop−B swap-stk z if−label nop−C s h-alloc g pop value. k shift-r c nop−C send−msg included this building block: This instrl shift−l uction is shared; it is t h−divide e if-less o add swap−stk h-search s h−alloc t h-divide k shift−r Shared between a spin− the top ofe if−less the coph−ysearchloop. w mov-head t h−divide wait and replication cycle. w mov−head c nop−C retrieve−msg c nop-C d if−n−equ retrieve-msg a nop−A d if-n-equ E retrieve−msg get−id Spin−wait until a larger c nop−C a nop-A c nop−C l shift−l if−grt value is received. E retrieve-msg b nop−B get-id These instrG get−pos uctions “spin-wait” until a message c nop-C v h−search mov−head x jmp−head c nop-C t h−divide l shift−l if−label Unconditionally copy five l shift-l x jmp−head that containsl shift−l an ID larger than this organism’s if-grt y get−head h−copy instructions to the b nop-B p sub A set−flow G get-pos k shift−r h−copy offspring’s genome. r IO v h-search cell-ID isA set−flowretrieved. mov-head p sub h−copy x jmp-head k shift−r h push t h-divide q nand send−msg Neutral e if−less b nop−B l shift-l C rotate−r h−copy Send two messages if-label m inc x jmp-head These instrs h−alloc uctions unconditionally copy 5 t h−divide send−msg containing the larger . l shift-l a nop−A This fragment spin-waits until it y get−head if−label value from above, y get-head o add h-copy instructionse if−less from the parent’ands rotateto theclockwise. • y get−head p sub h−copy A set−flow z if−label A set-flow F get−id rotate−r receives a message that indicates it c nop−C k shift-r offspring’D send−smsg genome. h-copy i swap−stk h−copy r IO v h−search E retrieve−msg A set-flow F get−id if−label f if−grt should vote for someone else. w mov−head p sub h-copy z if−label nop−C Copy an instruction u h−copy k shift-r u h−copy u h−copy nop−A from parent to offspring, h push D send−msg u h−copy divide if replication q nand send-msg D send−msg h−divide Effectively “hijacked” the replication z if−label e if-less u h−copy is complete. • C rotate−r mov−head u h−copy b nop-B z if−label c nop−C nop−A C rotate-r cycle -- reproductionh-copy is tied to a nop−A These instrt h−divide uctions send 2 messages containing m inc w mov−head nop−B a nop−A s h-alloc b nop−B t h-divide desirable send-msgbehavior (Knoester 2007)the (large) ID that was retrieved above, a nop-A Neutral mutation Task−related y get-head o add if-label and rotates Replicationthe organism cycle Task and1 replicationposition cycle clockwise. e if-less y get-head A set-flow h-copy z if-label Digital Preliminary Ongoing F get-id Motivations Summary c nop-C rotate-r D send-msg Evolution Studies Research i swap-stk v h-search h-copy E retrieve-msg F get-id if-label f if-grt w mov-head z if-label nop-C u h-copy These instructions copy another instruction u h-copy u h-copy nop-A from parent to offspring, test to see if the D send-msg u h-copy trailing nop-A/nop-B was just copied, and if D send-msg h-divide z if-label u h-copy so, divides this organism. C rotate-r mov-head u h-copy z if-label c nop-C nop-A a nop-A t h-divide w mov-head nop-B a nop-A b nop-B

Fig. 7. Dominant genome sending messages that carry the largest cell-ID. work, we have used to evolve organisms that perform leader election by identifying unique characteristics of individuals [20]. We are also using AVIDA to study the evolution of other distributed operations, such as data gathering, and to evolve organisms that generate UML state diagrams for dynamically adaptive systems. Finally, we have recently developed an instruction set that includes simple motor control primi- tives and sensors. We expect to use this platform to evolve individuals that can traverse obstacle courses, elude predators, and catch moving targets. Further Information. Papers on digital evolution and the AVIDA software are avail- able at http://devolab.cse.msu.edu. Information on evolving cooperative be- havior can be found at http://www.cse.msu.edu/thinktank. Acknowledgments. The authors gratefully acknowledge the contributions of the fol- lowing individuals to this work: Jeffrey Clune, Sherri Goings, David Bryson, , Heather Goldsby, and Betty Cheng. This work was supported in part by the U.S. Department of the Navy, Office of Naval Research under Grant No. N00014-01-1- 0744, U.S. National Science Foundation grants EIA-0130724, ITR-0313142, and CCF 0523449, and a Quality Fund Concept grant from Michigan State University.

References

1. McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing adaptive software. IEEE Computer 37(7) (2004) 56–64 2. Ofria, C., Wilke, C.O.: Avida: A software platform for research in computational evolution- ary biology. Journal of Artificial Life 10 (March 2004) 191–229 Distributed Consensus

• A fundamental problem in • Collection of entities must “agree” upon data or course of action • Our initial studies in leader election led to a more general study of

8 distributed consensus x 10

16 14 Analysis of the genome revealed a12 • 10 8 novel probabilistic algorithm for Opinion 6 consensus, which is effective 4 2 in highly adverse environments 0 0 100 200 300 400 500 600 700 800 Update (Knoester et al., SASO 2009) mean opinion ind. opinions consensus reached

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Other Studies

• Evolution of • firefly-like synchronization • quorum sensing • foraging for resources • cooperative predation • Evolutionary robotics • basic locomotion • coordinated movement of robots (e.g., patrolling) • of behavior and morphology

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research High-Assurance Dynamically-Adaptable Software Why not evolve... Software Engineers?!?

• Avida provides a means to search large solution spaces • Treat Avidians as model generators. • Let them compete to see who can generate the best design.

• Need to be able to verify those designs.

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Avidian “Developers”

• Advantage: Open-ended and rigorous !

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Case Study: Control System

Best Paper Award ICAC 2008

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Run-time Reconfiguration • How can we automatically identify target reconfigurations?

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Run-time Reconfiguration • How can we automatically identify target reconfigurations? - searching the entire solution space may not be practical

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Run-time Reconfiguration • How can we automatically identify target reconfigurations? - searching the entire solution space may not be practical - must consider competing objectives

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Run-time Reconfiguration • How can we automatically identify target reconfigurations? - searching the entire solution space may not be practical - must consider competing objectives - must deal with uncertainty

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Run-time Reconfiguration • How can we automatically identify target reconfigurations? - searching the entire solution space may not be practical - must consider competing objectives - must deal with uncertainty (1) Changing environment

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Run-time Reconfiguration • How can we automatically identify target reconfigurations? - searching the entire solution space may not be practical - must consider competing objectives - must deal with uncertainty (1) Changing environment (2) Unexpected environmental conditions

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Run-time Reconfiguration • How can we automatically identify target reconfigurations? - searching the entire solution space may not be practical - must consider competing objectives - must deal with uncertainty (1) Changing environment (2) Unexpected environmental conditions

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Requirements

• Automatic generation of new reconfigurations

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Requirements

• Automatic generation of new reconfigurations - respond to current environmental conditions

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Requirements

• Automatic generation of new reconfigurations - respond to current environmental conditions - balance tradeoffs between functional and non- functional requirements

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Requirements

• Automatic generation of new reconfigurations - respond to current environmental conditions - balance tradeoffs between functional and non- functional requirements - new solutions must be produced and applied in real-time

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Requirements

• Automatic generation of new reconfigurations - respond to current environmental conditions - balance tradeoffs between functional and non- functional requirements - new solutions must be produced and applied in real-time - implicitly control reconfiguration costs at run time

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Example: Remote Data Mirroring • Issues

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Example: Remote Data Mirroring • Issues - reconstruct network to prevent data loss & data unavailability

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Example: Remote Data Mirroring • Issues - reconstruct network to prevent data loss & data unavailability - multiple competing objectives [Keeton06, Wilkes03, Wilkes04]

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Example: Remote Data Mirroring • Issues - reconstruct network to prevent data loss & data unavailability - multiple competing objectives [Keeton06, Wilkes03, Wilkes04]

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Example: Remote Data Mirroring • Issues - reconstruct network to prevent data loss & data unavailability - multiple competing objectives [Keeton06, Wilkes03, Wilkes04] Reliability

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Example: Remote Data Mirroring • Issues - reconstruct network to prevent data loss & data unavailability - multiple competing objectives [Keeton06, Wilkes03, Wilkes04] Reliability

Performance

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Example: Remote Data Mirroring • Issues - reconstruct network to prevent data loss & data unavailability - multiple competing objectives [Keeton06, Wilkes03, Wilkes04] Reliability

Performance Cost

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Example: Remote Data Mirroring • Issues - reconstruct network to prevent data loss & data unavailability - multiple competing objectives [Keeton06, Wilkes03, Wilkes04] Reliability - search space is enormous!

Performance Cost

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Plato • Evolutionary decision-making approach for evaluating tradeoffs automatically in real-time

Monitor

Monitor Evolutionary ... Reconfiguration Framework Monitor

Monitor

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Plato • Evolutionary decision-making approach for evaluating tradeoffs automatically in real-time

Monitor

Monitor Evolutionary ... Reconfiguration Framework Monitor

Monitor

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Plato • Evolutionary decision-making approach for evaluating tradeoffs automatically in real-time

Monitor

Monitor Evolutionary ... Reconfiguration Framework Monitor

Monitor

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Plato • Evolutionary decision-making approach for evaluating tradeoffs automatically in real-time

Monitor

Monitor Evolutionary ... Reconfiguration Framework Monitor

Monitor

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Plato • Evolutionary decision-making approach for evaluating tradeoffs automatically in real-time

Monitor

Monitor Evolutionary ... Reconfiguration Framework Monitor

Monitor

Evolve an overlay network to diffuse data across a set of remote data mirrors

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Multidimensional Reconfiguration

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Multidimensional Reconfiguration

18 11 • Original design only optimized for cost 12 9 23 2

0 5 13 8

4 6 15

20 22 19 1 24

10 16 17 7

21 3 14

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Multidimensional Reconfiguration

18 11 • Original design only optimized for cost 12 9 23 2

0 5 13 8

4 6 15

20 22 19 1 24

10 16 17 7

21 3 14

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Multidimensional Reconfiguration

• Original design only optimized for cost

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Multidimensional Reconfiguration

17 1 Original design only • 14 21 15 24 18 optimized for cost

3 16 • Reconfigured design 9 12 13

optimizes for reliability, 8 performance, and cost 22 2 7 4

20 5 19 23

10 11 6 0

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Experimental Results

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Experimental Results

• Periodic network failures

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Experimental Results

• Periodic network failures • Randomly kill five links every 2,500 generations.

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Experimental Results

• Periodic network failures 400 300 • Randomly kill five links 200 every 2,500 generations. 100

0 Max. Fitness ï100

ï200

ï300

ï400 0 20 40 60 80 100 % of Links Failed

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Experimental Results

• Periodic network failures 400 300 • Randomly kill five links 200 every 2,500 generations. 100

0 At end (60 iterations) entire Max. Fitness • ï100 network has failed. ï200 Plato running in real-time on ï300 • ï400 0 20 40 60 80 100 a laptop computer. % of Links Failed

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Experimental Results

• Periodic network failures 400 300 • Randomly kill five links 200 every 2,500 generations. 100

0 At end (60 iterations) entire Max. Fitness • ï100 network has failed. ï200 Plato running in real-time on ï300 • ï400 0 20 40 60 80 100 a laptop computer. % of Links Failed Excellent performance until > 80% of links have failed

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Other Software Engineering Applications

• Detecting latent properties in software models • Adaptive monitoring to detect possible requirements violations in adaptive software

• Run-time generation of “safe” adaptation paths • Mitigating negative effects of environmental uncertainty by exploring “adaptation space” a priori

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Conclusions

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Conclusions

• Key Points

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Conclusions

• Key Points • Traditionally, complex systems are designed by engineers.

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Conclusions

• Key Points • Traditionally, complex systems are designed by engineers. • But, natural systems evolved.

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Conclusions

• Key Points • Traditionally, complex systems are designed by engineers. • But, natural systems evolved.

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Conclusions

• Key Points • Traditionally, complex systems are designed by engineers. • But, natural systems evolved. • Can evolutionary computation be “harnessed” to built more robust computational systems?

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Conclusions

• Key Points • Traditionally, complex systems are designed by engineers. • But, natural systems evolved. • Can evolutionary computation be “harnessed” to built more robust computational systems? • Can evolution in artificial systems inspire advances in the study of natural systems?

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Conclusions

• Key Points • Traditionally, complex systems are designed by engineers. • But, natural systems evolved. • Can evolutionary computation be “harnessed” to built more robust computational systems? • Can evolution in artificial systems inspire advances in the study of natural systems?

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Conclusions

• Key Points • Traditionally, complex systems are designed by engineers. • But, natural systems evolved. • Can evolutionary computation be “harnessed” to built more robust computational systems? • Can evolution in artificial systems inspire advances in the study of natural systems?

• We are exploring both areas.

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research Further Information http://www.cse.msu.edu/~mckinley

...or simply google(phil mckinley)

Email: [email protected]

This research has been supported in part by the National Science Foundation, the Office of Naval Research, the Army Research Office, and Michigan State University.

Digital Preliminary Ongoing Motivations Summary Evolution Studies Research