Robotic systems are increasingly being integrated in various aspects of everyday life. The robotic applications range from mission critical to infotainment and home service tasks. Robotic systems are expected to assist or replace their human counterparts for efficient and effective performance of all sorts of tasks such as industrial operations or surgical procedures. Like any other software intensive system, Software Architecture (SA) plays a vital role in ensuring the fulfilment of functional and non-functional requirements of robotics systems. Researchers from different communities (such as robotics, software engineering, industrial engineering, and artificial intelligence) have exploited architectural models to design, reason about, and engineer robotic software. Architecture-centric robotics research and practice can be characterised by various architectural models that emerged overtime such as: (i) object-oriented robotics (OO- R) enabling modularity, (ii) component-based robotics (CB-R) supporting reusability, and (iii) service- driven robotics (SD-R) exploiting dynamic composition of software.
In order to help build a body of knowledge about architectural challenges and solutions of architecting robotics systems, we have carried out a systematic mapping study that has been recently accepted in the Journal of Systems and Software (JSS). This study has systematically identified and classified the existing solutions, research progress and directions that influence architecture-driven modeling, development and evolution of robotic software. Our findings have have identified eight themes that support architectural solutions to enable (i) operations, (ii) evolution and (iii) development specific activities of robotic software. The research in this area has progressed from object-oriented to component-based and now to service-driven robotics representing different architectural models that emerged overtime. An emerging solution is cloud robotics that exploits the foundations of service-driven architectures to support an interconnected web of robots. The results of this SMS facilitate knowledge transfer – benefiting researchers and practitioners – focused on exploiting software architecture to model, develop and evolve robotic systems.