..............................
..............................
..............................
Software Reuse for Mobile Robot Applications Through Analysis Patterns Dayang Jawawi1, Safaai Deris1, and Rosbi Mamat2
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
.
[1] Alami R., Chatila R., Fleury S., Ghallab M., and Ingrand F., Architecture for Autonomy, Journal of Robotics Research, vol. 17, no. 4, pp. 315-337, 1998.
[2] Blum S., Towards a Component-Based System Architecture for Autonomous Mobile Robots, in Proceedings of IASTED International Conference on Robotics and Applications (RA 01) , pp. 220-225, 2001.
[3] Braunl. T., Embedded Robotics: Mobile Robot Design and Applications with Embedded Systems , Springer-Verlag, New York, 2003.
[4] Brooks R. A., A Robust Layered Control System for a Mobile Robot, IEEE Journal of Robotics and Automation , vol. RA-2, no. 1, pp. 14-23, 1986.
[5] Chikofsky E. J. and Cross II J. H., Reverse Engineering and Design Recovery: A Taxonomy, IEEE Software, vol. 7, no. 1, pp. 13- 17, 1990.
[6] Douglass B. P., Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems , Addison Wesley, Boston, 2002.
[7] Fernandez J. A., Gonzalez J., NEXUS: A Flexible, Efficient and Robust Framework for Integrating Software Components of A Robotic System, in Proceedings of the IEEE International Conference on Robotics and Automation , vol. 1, pp. 524-529, 1998.
[8] Fire Marshal Bill, available at: http://www. dragonflyhollow.org/matt/robots/firemarshalbill, August 2004.
[9] Fujita M. and Kageyama K., An Open Architecture for Robot Entertainment, in Proceedings of the 1st International Conference on Autonomous Agents , pp. 435-442, 1997.
[10] Gamma J., Helm R., Johnson R. and Vlissides J., Design Patterns: Elements of Reuse Object- Oriented Software , Addison-Wesley, 1995.
[11] Geyer-Schulz A. and Hahsler M., Software Reuse with Analysis Patterns, in Proceedings of the 8th Association for Information Systems (AMCIS) , Dallas, TX, pp. 1156-1165, 2002. The International Arab Journal of Information Technology, Vol. 4, No. 3, July 2007 228
[12] Graves A. R. and Czarnecki C., Design Patterns for Behaviour-Based Robotics, Systems and Human , vol. 30, no. 1, pp. 36-41, 2000.
[13] Jones L. J., Seiger B. A., and Flynn A. M., Mobile Robots Inspiration to Implementation, Peters A. K. , Natick, 1999.
[14] Labrosse J. J., MicroC/OS-II The Real-Time Kernel , R&D Books, USA, 1999.
[15] Mallet A., Fleury S., and Bruyninckx H., A Specification of Generic Robotics Software Components: Future Evolutions of GenoM in the Orocos Context, in Proceedings of the IEEE International Conference on Intelligent Robots and System, vol. 3, pp. 2292-2297, 2002.
[16] Nelson M. L., A Design Pattern for Autonomous Vehicle Software Control Architectures, in Proceedings of 23rd International Conference on Computer Software and Applications , pp. 172-177, October 1999.
[17] Nesnas I. A., Wright A., Bajracharya M., Simmons R., Estlin T., and Won S. K., CLARAty: An Architecture for Reusable Robotic Software, in Proceedings of SPIE Aerosense Conference , Unmanned Ground Vehicle Technology V , vol. 5083, pp. 253-264, 2003.
[18] Oreback A. and Christensen H. I., Evaluation of Architecture for Mobile Robotics, Autonomous Robots , vol. 14, pp. 33-49, 2003.
[19] Paradigm Systems, Paradigm C++ Reference Manual Version 5.0 , Endwell, 2000
[20] Real World Interface, Mobility Robot Integration, available at: http://www.isr.com/ rwi, December 2003.
[21] Riehle D. and Zullighoven H., Understanding and Using Patterns in Software Development, Theory and Practice of Object Systems, vol. 2, no. 1, pp. 33-13, 1996.
[22] Seward D. W. and Garman A., The Software Development Process for an Intelligent Robot, IEEE Computing and Control Engineering Journal , vol. 7, no. 2, pp. 86-92, 1996.
[23] Smith G., Smith R., and Wardhani A., Software Reuse Across Robotic Platforms: Limiting The Effects of Diversity, in Proceedings of the Australian Software Engineering Conference , pp. 252-261, 2005.
[24] Washizaki H., Yamamoto H., and Fukazawa Y., A Metrics Suite for Measuring Reusability of Software Components, in Proceedings of the 9th International Software Metrics Symposium, pp. 211-223, 2003.
[25] Winn T. and Calder, Is This a Pattern?, IEEE Software , vol. 19 , no. 1 , pp. 59-66, 2002.
[26] Yacoub S. M. and Ammar H. H., Pattern- Oriented Analysis and Design: Composing Patterns to Design Software Systems , Addison- Wesley, Boston, 2004. Dayang Jawawi received her BSc degree in software engineering from Sheffield Hallam University, UK, and her MSc degree in computer science from Universiti Technologi Malaysia. Currently, she is working toward PhD degree in software engineering. Her area of research is component-based software engineering for embedded real-time software. Safaai Deris received his Master degree in engineering and his PhD in computer and system sciences from Osaka Prefecture University, Japan. Currently, he is a professor in the Department of Software Engineering, Faculty of Computer Science and Information Systems, Universiti Teknologi Malaysia. His research interest include software engineering, artificial intelligence and bioinformatics. He has authored and co-authored more than 50 papers in international and local journals and conferences. Currently, he is the deputy dean of Graduate Studies, Universiti Teknologi Malaysia. Rosbi Mamat is an associate professor and head of Department of Mechatronic and Robotics Engineering at the Faculty of Electrical Engineering, Universiti Teknologi Malaysia. He obtained his PhD in control engineering from University of Sheffield, UK. His research interests include intelligent control, robotics and mechatronic systems. BEHAVIOR-BASED CONTROL MOTORCONTROL