Abstract
Systematically developing high-quality reusable software components is a difficult task and requires careful design to find a proper balance between potential reuse, functionalities and ease of implementation. Extendibility is an important property for software which helps to reduce cost of development and significantly boosts its reusability. This work introduces an approach to enhance components reusability by extending their functionalities using plug-ins at the level of the connection points (ports). Application-dependent functionalities such as data monitoring and arbitration can be implemented using a conventional scripting language and plugged into the ports of components. The main advantage of our approach is that it avoids to introduce application-dependent modifications to existing components, thus reducing development time and fostering the development of simpler and therefore more reusable components. Another advantage of our approach is that it reduces communication and deployment overheads as extra functionalities can be added without introducing additional modules. The details of the plug-in system is described in the paper and its advantages for the development of robotics applications are demonstrated by developing a step-by-step example on the iCub humanoid robot.
DOI
10.1109/iros.2014.6942762
Publication Date
2014-09-01
Event
2014 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2014)
Publication Title
2014 IEEE/RSJ International Conference on Intelligent Robots and Systems
Publisher
IEEE
Embargo Period
2024-11-22
Recommended Citation
Paikan, A., ATikhanoff, V., Metta, G., & Natale, L. (2014) 'Enhancing software module reusability using port plug-ins: An experiment with the iCub robot', 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, . IEEE: Available at: https://doi.org/10.1109/iros.2014.6942762