Paul Roberston

 

 

Title: Handling real world complexity: The self adaptive software approach

 

Abstract: The real world is an immensely complex place.  Traditionally we have tried to avoid that complexity by finding situations that have minimal complexity or carefully engineering situations that minimize complexity.  Our attempts have been of limited success.  Today,  robots cannot can roam unrestricted in the real world, vision systems do not operate robustly in the unconstrained world, and speech understanding systems work poorly outside of  quiet environments.  Nevertheless the next generation of smart devices will want to work robustly in the unconstrained world.

Building systems that can interact intelligently with a complex environment requires complex programs. Over the years numerous architectures have been developed to facilitate the problem of building complex systems that exhibit interesting behavior in the face of a complex environment. Examples of such architectures include Blackboards, Forward chaining rule based systems, Schemas, subsumption, and multi-agent systems.

Self adaptive software deals with the complexity of the real world by dividing it up into simpler contexts and automatically switching between contexts as necessary.  I will describe a self adaptive reflective architecture and give an overview of some of the problems that it has been successfully applied to.  Self adaptive software has some key benefits over earlier approaches which I will describe.