Philip McKinley , Betty
نویسندگان
چکیده
N early 150 years ago, Charles Darwin explained how evolution and natural selection transformed the earliest life forms into the rich panoply of life seen today. Scientists estimate this process has been at work on Earth for at least 3.5 billion years. But we remain at the dawn of evolution in another world: the world of computing. There, evolution helps humans solve complex problems in engineering and provides insight into the evolutionary process in nature. As computing power continues to increase, researchers and developers apply evolutionary algorithms to an ever-widening variety of problems. As the " Evolution in a Computer " sidebar shows, evolutionary computation methods such as genetic algorithms have already achieved considerable success, rivaling and surpassing human designers in problem domains as wide-ranging as flash memory sticks and aircraft wings. We are investigating how to harness the power of evolution to help construct better computer software. The increasing interaction between computing technology and the physical world motivates this work. Systems must adapt to their environment, compensate for failures, optimize performance, and protect themselves from attacks—all with minimal human intervention. To design robust and resilient computational systems, we can take inspiration from nature. Living organisms have an amazing ability to adapt to changing environments , both in the short term through phenotypic plasticity and in the longer term through Darwinian evolution. Indeed, no existing cybersystem rivals the complexity of Earth's biosphere, yet life on Earth has evolved to not only deal with this complexity but to thrive on it. Many researchers have studied how to use the characteristics of natural systems to design better computing systems. One approach mimics the behaviors of social insects and other species. However, while such biomi-metic methods have shown promise in controlling fleets of unmanned robotic systems and in other applications, they can only codify behaviors observed in nature today. Purely biomimetic approaches seek to imitate the results of evolution, but they do not account for the process of natural selection that produced those behaviors. For example, we can design the control software on a microrobot so that it mimics certain behaviors found in ants. However, while the robot might possess some physical characteristics reminiscent of an ant, the differences vastly outnumber the similarities. On the other hand, if we had the ability to evolve the control software, taking into account the capabilities of the robot and the characteristics of its environment, new behaviors …
منابع مشابه
Efficient Multicast in All-Port Wormhole-Routed Hypercubes
This paper addresses the problem of collective data distribution, speci cally multicast, in wormhole-routed hypercubes. The system model allows a processor to send and receive data in all dimensions simultaneously. New theoretical results that characterize contention among messages in wormhole-routed hypercubes are developed and used to design new multicast routing algorithms. The algorithms ar...
متن کاملEnabling Safe Dynamic Component-Based Software Adaptation
Recomposable software enables a system to change its structure and behavior during execution, in response to a dynamic execution environment. This paper proposes an approach to ensure that such adaptations are safe with respect to system consistency. The proposed method takes into consideration dependency analysis for target components, specifically determining viable sequences of adaptive acti...
متن کاملIMcast: An Object-Oriented Tool for Image Multicasting
Eric R. Kass and Philip K. McKinley Department of Computer Science Michigan State University East Lansing, Michigan 48824 fkasseric, [email protected] Proceedings of the IEEE International Conference Multimedia Computing and Systems (ICMCS'97), Ottawa, Canada, June 1997.
متن کاملApplying Digital Evolution to the Development of Self-Adaptive ULS
A key characteristic for ultra-large scale (ULS) softwareintensive systems is the need to adapt at run time in response to changing environmental conditions. Given the scale, complexity, and heterogeneity of ULS elements, innovative, but rigorous software engineering techniques are needed to address the development and the evolution of these systems. The developer of self-adaptive ULS systems m...
متن کاملTRAP/J: Transparent Generation of Adaptable Java Programs
This paper describes TRAP/J, a software tool that enables new adaptable behavior to be added to existing Java applications transparently (that is, without modifying the application source code and without extending the JVM). The generation process combines behavioral reflection and aspect-oriented programming to achieve this goal. Specifically, TRAP/J enables the developer to select, at compile...
متن کامل