Software Variability Composition and Abstraction in Robot Control Systems

  • Davide BrugaliEmail author
  • Mauro Valota
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9789)


Control systems for autonomous robots are concurrent, distributed, embedded, real-time and data intensive software systems. A real-world robot control system is composed of tens of software components. For each component providing robotic functionality, tens of different implementations may be available.

The difficult challenge in robotic system engineering consists in selecting a coherent set of components, which provide the functionality required by the application requirements, taking into account their mutual dependencies. This challenge is exacerbated by the fact that robotics system integrators and application developers are usually not specifically trained in software engineering.

Current approaches to variability management in complex software systems consists in explicitly modeling variation points and variants in software architectures in terms of Feature Models.

The main contribution of this paper is the definition of a set of models and modeling tools that allow the hierarchical composition of Feature Models, which use specialized vocabularies for robotic experts with different skills and expertise.


Feature Model Variation Point Architectural Model Software Product Line Autonomous Robot 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    ROS: Robot Operating System (2007).
  2. 2.
    The HyperFlex Toolchain (2014).
  3. 3.
    Eclipse Xtext (2016).
  4. 4.
    Abele, A., Lönn, H., Reiser, M.-O., Weber, M., Glathe, H.: Epm: a prototype tool for variability management in component hierarchies. In: Proceedings of the 16th International Software Product Line Conference, vol. 2, pp. 246–249. ACM (2012)Google Scholar
  5. 5.
    Acher, M., Collet, P., Lahire, P., France, R.: Comparing approaches to implement feature model composition. In: Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.) ECMFA 2010. LNCS, vol. 6138, pp. 3–19. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Ando, N., Kurihara, S., Biggs, G., Sakamoto, T., Nakamoto, H., Kotoku, T.: Software deployment infrastructure for component based rt-systems. J. Robot. Mechatron. 23(3), 350–359 (2011)CrossRefGoogle Scholar
  7. 7.
    Bischoff, R., Guhl, T., Prassler, E., Nowak, W., Kraetzschmar, G., Bruyninckx, H., Soetens, P., Haegele, M., Pott, A., Breedveld, P., et al.: Brics-best practice in robotics. In: Robotics (ISR), 2010 41st International Symposium on and 2010 6th German Conference on Robotics (ROBOTIK), pp. 1–8. VDE (2010)Google Scholar
  8. 8.
    Brugali, D., Nowak, W., Gherardi, L., Zakharov, A., Prassler, E.: Component-based refactoring of motion planning libraries. In: 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4042–4049. IEEE (2010)Google Scholar
  9. 9.
    Brugali, D., Scandurra, P.: Component-based robotic engineering (Part I) [Tutorial]. IEEE Robot. Autom. Mag. 16(4), 84–96 (2009)CrossRefGoogle Scholar
  10. 10.
    Cirilo, E., Kulesza, U., Lucena, C.: A product derivation tool based on model-driven techniques and annotations. J. Univ. Comput. Sci. 14(8), 1344–1367 (2008)Google Scholar
  11. 11.
    Cirilo, E., Nunes, I., Kulesza, U., Lucena, C.: Automating the product derivation process of multi-agent systems product lines. J. Syst. Softw. 85(2), 258–276 (2012)CrossRefGoogle Scholar
  12. 12.
    Dhouib, S., Kchir, S., Stinckwich, S., Ziadi, T., Ziane, M.: RobotML, a domain-specific language to design, simulate and deploy robotic applications. In: Noda, I., Ando, N., Brugali, D., Kuffner, J.J. (eds.) SIMPAR 2012. LNCS, vol. 7628, pp. 149–160. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  13. 13.
    Garrido-Jurado, S., Muoz-Salinas, R., Madrid-Cuevas, F., Marn-Jimnez, M.: Automatic generation and detection of highly reliable fiducial markers under occlusion. Pattern Recogn. 47(6), 2280–2292 (2014)CrossRefGoogle Scholar
  14. 14.
    Gherardi, L., Brugali, D.: An eclipse-based feature models toolchain. In: 6th Italian Workshop on Eclipse Technologies (EclipseIT 2011) (2011)Google Scholar
  15. 15.
    Gherardi, L., Brugali, D.: Modeling and reusing robotic software architectures: the HyperFlex toolchain. In: IEEE International Conference on Robotics and Automation (ICRA 2014), Hong Kong, China, 31 May - 5 June 2014. IEEE (2014)Google Scholar
  16. 16.
    Haber, A., Rendel, H., Rumpe, B., Schaefer, I., Van Der Linden, F.: Hierarchical variability modeling for software architectures. In: Software Product Line Conference (SPLC), 2011 15th International, pp. 150–159. IEEE (2011)Google Scholar
  17. 17.
    Haugen, O., Wąsowski, A., Czarnecki, K.: Cvl: common variability language. In: Proceedings of the 17th International Software Product Line Conference, SPLC 2013, p. 277. ACM, New York (2013)Google Scholar
  18. 18.
    Lotz, A., Inglés-Romero, J.F., Vicente-Chicote, C., Schlegel, C.: Managing run-time variability in robotics software by modeling functional and non-functional behavior. In: Nurcan, S., Proper, H.A., Soffer, P., Krogstie, J., Schmidt, R., Halpin, T., Bider, I. (eds.) BPMDS 2013 and EMMSAD 2013. LNBIP, vol. 147, pp. 441–455. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  19. 19.
    Ressia, J., Grba, T., Nierstrasz, O., Perin, F., Renggli, L.: Talents: an environment for dynamically composing units of reuse. Softw. Pract. Experience 44(4), 413–432 (2014)CrossRefGoogle Scholar
  20. 20.
    Rosenmüller, M., Siegmund, N.: Automating the configuration of multi software product lines. In: VaMoS, pp. 123–130 (2010)Google Scholar
  21. 21.
    Schmidt, D.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  22. 22.
    Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw. Pract. Experience 35(8), 705–754 (2005)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.University of BergamoDalmineItaly

Personalised recommendations