Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Software update via mobile agent based programming
Proceedings of the 2002 ACM symposium on Applied computing
Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems
Middleware '01 Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg
Agility---: the key to survival of the fittest in the software market
Communications of the ACM - Wireless networking security
Towards automatic social bootstrapping of peer-to-peer protocols
ACM SIGOPS Operating Systems Review
Evolving self-adaptive services using planning-based reflective middleware
Proceedings of the 5th workshop on Adaptive and reflective middleware (ARM '06)
Understanding user behavior in large-scale video-on-demand systems
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
A generic component model for building systems software
ACM Transactions on Computer Systems (TOCS)
From content distribution networks to content networks - issues and challenges
Computer Communications
A design framework for ultra-large-scale autonomic systems
EvoApplications'11 Proceedings of the 2011 international conference on Applications of evolutionary computation - Volume Part I
Genetic Programming and Evolvable Machines
Hi-index | 0.00 |
The heterogeneous, large-scale and decentralised nature of peer-to-peer systems creates significant issues when deploying new functionality and adapting peer behaviour. The ability to autonomously deploy new adaptive functionality is therefore highly beneficial. This paper investigates middleware support for evolving and adapting peers in divergent systems through reflective component based design. This approach allows self-contained functionality to exist in the network as a primary entity. This functionality is autonomously propagated to suitable peers, allowing nodes to be evolved and adapted to their individual constraints and the specific requirements of their environment. This results in effective functionality flourishing whilst suboptimal functionality dies out. By this, a self-managed infrastructure is created that supports the deployment of functionality following the evolutionary theory of natural selection. This approach is evaluated through simulations to highlight the potential of using natural selection for the deployment and management of software evolution.