SARAMR : uma arquitetura de referência baseada em loops de controle para facilitar manutenções em software robótico autoadaptativo
Paula, Marcos Henrique de
Autonomous mobile robots are a special category of robots designed for performing tasks without the intervention of human beings. Some robots are designed to perform tasks in completely inhospitable environments such as the earth´s subsurface, the ocean depths or spatial exploration. In order to consider a robot as autonomous, a fundamental premise is to have self-adaptation capabilities. Over the last years, the advances in technology allow the development of self-adaptive systems, which are able to manage themselves to recuperate from faults or even change their behavior and structure in order to improve the quality of the delivered service. A critical point when building any software is its architecture, i.e., its structural organization in a set of interacting components. In this context, reference architecture is a technique that is well known for combining the best practices, patterns and strategies for building and standardizing domain specific software. Nowadays, there is a lack of studies presenting reference architectures for structuring self-adaptive software of mobile robots in order to decrease maintenance efforts. A number of studies claim that self-adaptive systems are based on the control theory and, more specifically, on the use of control loops in their architecture to perform adaptations. Therefore, this master thesis proposes SARAMR, a control loop-based reference architecture whose goal is to make maintenance activities a more productive task. The employment of the architecture divides the whole system in two modules; base application and adaptation module. The adaptation module encompasses the control loops and the base application is further divided into three other components: environment, behaviors and the electromechanical part. SARAMR was qualitatively evaluated by means of the development of two applications: a self-adaptive wall follower mobile robot and another conventional one to performing monitoring in in-door environments. Next, some maintenance activities were created to investigate the effort of applying them. We have observed that the separation of concerns of our architecture allows new components to be added causing less impacts than in systems developed in an adhoc way.