Architecture-driven self-adaptation and self-management in robotics systems

We describe an architecture-centric design and implementation approach for building self-adapting and self-managing robotics systems. The basis of our approach is the concept of meta-level components, which facilitate adaptation and management of application-level components. Our approach applies two key enhancements to the traditional usage of meta-level components: (1) we utilize three distinct, specialized meta-level components for the three fundamental activities of a robotics system: sensing, computation, and control, and (2) we allow meta-level components to themselves be monitored, managed and adapted by other (higher layer) meta-level components. In this way, our approach flexibly supports adaptive layered architectures of arbitrary depth, the specification of arbitrary system adaptation policies, and the provision of intelligent facilities for constructing adaptation plans on-the-fly. We showcase our approach using a team of autonomous mobile robots that engage in a leader-follower scenario and experience a wide variety of failures, activating distinct recovery mechanisms.

[1]  Richard N. Taylor,et al.  Policy-based self-adaptive architectures: a feasibility study in the robotics domain , 2008, SEAMS '08.

[2]  Jeff Magee,et al.  From goals to components: a combined approach to self-management , 2008, SEAMS '08.

[3]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[4]  Marija Mikic-Rakic,et al.  A style-aware architectural middleware for resource-constrained, distributed systems , 2005, IEEE Transactions on Software Engineering.

[5]  Lois M. L. Delcambre,et al.  SAM: Security Adaptation Manager , 1999, Proceedings 15th Annual Computer Security Applications Conference (ACSAC'99).

[6]  Franco Zambonelli,et al.  A survey of autonomic communications , 2006, TAAS.

[7]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[8]  Sam Malek,et al.  Reconceptualizing a Family of Heterogeneous Embedded Systems via Explicit Architectural Support , 2007, 29th International Conference on Software Engineering (ICSE'07).

[9]  Jamie Hillman Dynamic Adaptation of Dependable Systems , 2003 .

[10]  Marija Mikic-Rakic,et al.  A Decentralized Redeployment Algorithm for Improving the Availability of Distributed Systems , 2005, Component Deployment.

[11]  Bradley R. Schmerl,et al.  Increasing System Dependability through Architecture-Based Self-Repair , 2002, WADS.

[12]  Sooyong Park,et al.  SHAGE: a framework for self-managed robot software , 2006, SEAMS '06.

[13]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..