Software Reuse for Mobile Robot Applications Through Analysis Patterns
Dayang Jawawi1, Safaai Deris1, and Rosbi Mamat2
1Department of Software Engineering, Universiti Teknologi Malaysia, Malaysia
2Department of Mechatronics and Robotics Engineering, Universiti Teknologi Malaysia, Malaysia
Abstract: Software analysis pattern is an approach of software reuse which provides a way to reuse expertise that can be used across domains at early level of development. Developing software for a mobile robot system involves multi-disciplines expert knowledge which includes embedded systems, real-time software issues, control theories and artificial intelligence aspects. This paper focuses on analysis patterns as a means to facilitate mobile robot software knowledge reuse by capturing conceptual models in those domains in order to allow reuse across applications. The use of software analysis patterns as a means to facilitate Autonomous Mobile Robots (AMR) software knowledge reuse through component-based software engineering is proposed. The software analysis patterns for AMR were obtained through a pattern mining process, and documented using a standard catalogue template. These analysis patterns are categorized according to hybrid deliberate layered architecture of robot software: Reactive layer, supervisor layer and deliberative layer. Particularly, the analysis patterns in the reactive layer are highlighted and presented. The deployment of the analysis patterns are illustrated and discussed using an AMR software case study. To verify the existence of the pattern in AMR systems, pattern-based reverse engineering was performed on two existing AMR systems. The reuse potential of these patterns is evaluated by measuring the reusability of components in the analysis patterns.
Keywords: Analysis pattern, software reuse, component-based development, pattern-based reverse engineering.