Definition
Self-evolving computing systems are computational systems that, in addition to tackling various problems and calculations, possess some sort of an evolutionary engine to learn, adapt, and process challenges and scenarios that are outside its operational domain and scope
I’m following a research paper titled The Vision of Self-Evolving Computing Systems by Danny Weyns et. al
Summary
The paper seeks to investigate the notion of self-evolving computer systems and positions the importance of it in the current state of the art. The paper attempts to develop an architecture for a self-evolving system and illustrate how the concept would fit in a smart city mobility scenario. Lastly, the paper discusses key research challenges
Sustainability is challenging. Traditional systems can autonomously tackle problems and also learn and adapt to deal with changing scenarios but they become deficient when new goals or new constraints are introduced that are beyond the operational domain of the system One can draw inspiration from biology and nature for SE systems (humans, insects etc.)
A SE system possesses two forms of awareness that, together, form its self-representation
- Self-awareness - Understanding about the goals and objectives that it is tracking, as well as runtime models of itself
- Context awareness - Understanding the environment it is operating in It also possesses an evolutionary engine that allows it utilize its self-representation to autonomously evolve its own architecture to encounter a new goal or constraint outside its operational domain
It can integrate new computing elements and resources with itself from computing warehouses whenever needed, thus making them auto-evolution-enabled Humans are out of the loop in SE systems. They are present only to add more compute elements to the warehouse and if applicable, to guide the evolutionary engine. SE systems are related to the lifelong computing paradigm