Abstract
Successful engineering principles for building software systems rely on the separation of concerns for mastering complexity. However, just working on different concerns of a system in a collaborative way is not good enough for economically feasible tailored solutions. A successful approach for this is the composition of complex systems out of commodity building blocks. These come as is and can be represented as blocks with ports via data sheets. Data sheets are models and allow a proper selection and configuration as well as the prediction of the behavior of a building block in a specific context. This chapter explains how model-driven approaches can be used to support separation of roles and composition for robotics software systems. The models, open-source tools, open-source robotics software components and fully deployable robotics software systems shape a robotics software ecosystem.
Download chapter PDF
References
J. Stubbe, J. Mock, S. Wischmann, The Acceptance of Service Robots: Tools and Strategies for the Successful Deployment in Companies. Study commissioned by BMWi as part of the PAiCE Technology Programme (iit-Institut für Innovation und Technik in der VDI/VDE Innovation + Technik GmbH, Berlin, 2019)
D. Brugali (ed.) Software Engineering for Experimental Robotics. Springer Tracts in Advanced Robotics (Springer, Berlin, 2007). ISBN: 3540689494
M. Hägele, N. Blümlein, O. Kleine, EFFIROB - Wirtschaftlichkeitsanalysen neuartiger Servicerobotik-Anwendungen und ihre Bedeutung für die Robotik-Entwicklung (Eine Analyse der Fraunhofer-Institute IPA und ISI im Auftrag des BMBF, 2011)
SPARC - The Partnership for Robotics in Europe. Strategic Research Agenda (SRA) for Robotics in Europe 2014–2020. euRobotics aisbl (2013 & 2014)
D. Mourtzis, Challenges and future perspectives for the life cycle of manufacturing networks in the mass customisation era. Logist. Res. 9, 2 (2016). https://doi.org/10.1007/s12159-015-0129-0
M. Teulieres, J. Tilley, L. Bolz, P.M. Ludwig-Dehm, S. Wägner, Industrial Robotics – Insights into the Sector’s Future Growth Dynamics (McKinsey & Company, New York, 2019)
J.F. Moore, Predators and prey: a new ecology of competition. Harv. Bus. Rev. 71(3), 75–83 (1993)
E. Kelly, Business Ecosystems Come of Age. Part of the Business Trends Series (Deloitte University Press, New York, 2015). DUP_1048-Business-ecosystems-come-of-age_MASTER_FINAL.pdf
S. Hallsteinsen, M. Hinchey, S. Park, K. Schmid, Dynamic software product lines. Computer 41(4), 93–95 (2008)
J. Bosch, From software product lines to software ecosystems, in Proceedings of the 13th Int. Software Product Line Conference (2009), pp. 111–119. https://doi.org/10.1145/1753235.1753251
W. Mahnke, S.-H. Leitner, M. Damm, OPC Unified Architecture (Springer, New York, 2009). ISBN: 978-3-540-68898-3
OPC Foundation Companion Specifications. https://opcfoundation.org/about/opc-technologies/opc-ua/ua-companion-specifications/
J. Bosch, P. Bosch-Sijtsema, From integration to composition: on the impact of software product lines, global development and ecosystems. J. Syst. Softw. 83(1), 67–76 (2010). ISSN:0164-1212. https://doi.org/10.1016/j.jss.2009.06.051
C. Schlegel, A. Lotz, M. Lutz, D. Stampfer, J.F. Inglés-Romero, C. Vicente-Chicote, Model-driven software systems engineering in robotics: covering the complete life-cycle of a robot. Inf. Technol. 57(2), 85–98 (2015). De Gruyter, Oldenbourg
L. Andrade, J.L. Fiadeiro, J. Gouveia, G. Koutsoukos, Separating computation, coordination and configuration. J. Softw. Mainten. Evol. Res. Pract. 14(5), 353–369 (2002)
E.A. Lee, S.A. Seshia, Introduction to Embedded Systems: A Cyber-Physical Systems Approach, 2nd edn. (MIT Press, Cambridge, 2017)
M. Lutz, D. Stampfer, A. Lotz, C. Schlegel, Service robot control architectures for flexible and robust real-world task execution: Best practices and patterns, in Informatik 2014, Workshop Roboter-Kontrollarchitekturen. LNI der GI (Springer, New York, 2014). ISBN:978-3-88579-626-8
F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern-Oriented Software Architecture, Volume 1, A System of Patterns (Wiley Press, Hoboken, 1996). ISBN: 978-0-471-95869-7
RobMoSys Wiki. Cited 9. Aug 2020. https://robmosys.eu/wiki/
E. Scioni, N. Huebel, S. Blumenthal, A. Shakhimardanov, M. Klotzbücher, H. Garcia, H. Bruyninckx, Hierarchical hypergraphs for knowledge-centric robot systems: a composable structural meta-model and its domain specific language NPC4. JOSER - Spec. Iss. Domain-Spec. Lang. Mod. Robot. Syst. 7(1), 55–74 (2016)
RobMoSys Wiki Modeling Section. Cited 9. Aug 2020 https://robmosys.eu/wiki/modeling:<title of subordinate document>
G. Engels, A. Schürr, Encapsulated hierarchical graphs, graph types, and meta types. Electron. Notes Theor. Comput. Sci. 2, 101–109 (1995)
M. Levene, A. Poulovassilis, An object-oriented data model formalised through hypergraphs. Data Knowl. Eng. 6, 205–224 (1991)
C.A. Szyperski, D. Gruntz, S. Murer, Component Software - Beyond Object-Oriented Programming. Addison-Wesley Component Software Series, 2nd edn. (Addison-Wesley, Boston, 2002)
I. Crnkovic, S. Sentilles, A. Vulgarakis, M.R.V. Chaudron, A classification framework for software component models. IEEE Trans. Softw. Eng. 37(5), 593–615 (2011). https://doi.org/10.1109/TSE.2010.83
C. Schlegel, A. Lotz, A. Steck, SmartSoft - The State Management of a Component. Technical Report 2011/01. Hochschule Ulm, Germany (2011) ISSN:1868-3452. http://www.zafh-servicerobotik.de/dokumente/ZAFH-TR-01-2011-ISSN-1868-3452.pdf
C. Schlegel, Navigation and Execution for Mobile Robots in Dynamic Environments: An Integrated Approach. PhD thesis, Uni Ulm (2004)
D. Stampfer, A. Lotz, M. Lutz, C. Schlegel, The SmartMDSD toolchain: an integrated MDSD workflow and Integrated Development Environment (IDE) for Robotics Software. JOSER - Spec. Iss. Domain-Spec. Lang. Mod. Robot. Syst. 7(1), 3–19 (2016)
M. Lutz, Model-Driven Behavior Development for Service Robotic Systems: Bridging the Gap between Software- and Behavior-Models (work in progress)
A. Lotz, A. Steck, C. Schlegel, Runtime monitoring of robotics software components: increasing robustness of service robotic systems, in International Conference on Advanced Robotics (ICAR ’11), Tallinn, Estonia (2011)
GitHub Repository with API specifications. Cited 9. Aug 2020. https://github.com/Servicerobotics-Ulm/SmartSoftComponentDeveloperAPIcpp
C. Schlegel, A. Lotz, ACE/SmartSoft - Technical Details and Internals. Technical Report 2010/01, Hochschule Ulm, Germany (2010). ISSN:1868-3452. http://www.zafh-servicerobotik.de/dokumente/ZAFH-TR-01-2010-ISSN-1868-3452.pdf
A. Lotz, A. Hamann, R. Lange, C. Heinzemann, J. Staschulat, V. Kesel, D. Stampfer, M. Lutz, C. Schlegel, Combining robotics component-based model-driven development with a model-based performance analysis, in Proceedings of the IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR) (2016), pp. 170–176
The Eclipse-based Open-Source SmartMDSD Toolchain. Cited 9. Aug 2020. https://wiki.servicerobotik-ulm.de/getting-started-guide. https://projects.eclipse.org/projects/modeling.smartmdsd
A. Steck, C. Schlegel, Managing execution variants in task coordination by exploiting design-time models at runtime, in Proceedings of the IEEE/RSJ International Conference on Robotics and Intelligent Systems (IROS), San Francisco, USA, September (2011)
SmartMDSD Tutorials. Cited 9. Aug 2020 https://wiki.servicerobotik-ulm.de/tutorials:<title of subordinate document>
A. Elkady, T. Sobh, Robotics middleware: A comprehensive literature survey and attribute-based bibliography. J. Robot. (2012). Article ID 959013. https://doi.org/10.1155/2012/959013. https://core.ac.uk/download/pdf/52956509.pdf
A. Ramaswamy, B. Monsuez, A. Tapus, Model-driven software development approaches in robotics research, in Proceedings of the 6th International Workshop on Modeling in Software Engineering (MiSE), June (2014), pp. 43–48. https://doi.org/10.1145/2593770.2593781
D. Akdur, V. Garousi, O. Demirors, A survey on modeling and model-driven engineering practices in the embedded software industry. J. Syst. Arch. (2018). https://doi.org/10.1016/j.sysarc.2018.09.007
E. Abraham, H. Kress-Gazit, L. Natale, A. Tacchella (organizers), Computer-Assisted Engineering for Robotics and Autonomous Systems. Dagstuhl-Seminar 17071, 12. - 17.02.2017. https://www.dagstuhl.de/17071
D. Stampfer, Contributions to System Composition using a System Design Process driven by Service Definitions for Service Robotics. PhD thesis, Technische Uni München (2018)
A. Lotz, Managing Non-Functional Communication Aspects in the Entire Life-Cycle of a Component-Based Robotic Software System. PhD thesis, Technische Uni München (2018)
The RobMoSys Discourse Forum. Cited 9. Aug 2020. https://discourse.robmosys.eu/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2021 The Author(s)
About this chapter
Cite this chapter
Schlegel, C., Lotz, A., Lutz, M., Stampfer, D. (2021). Composition, Separation of Roles and Model-Driven Approaches as Enabler of a Robotics Software Ecosystem. In: Cavalcanti, A., Dongol, B., Hierons, R., Timmis, J., Woodcock, J. (eds) Software Engineering for Robotics. Springer, Cham. https://doi.org/10.1007/978-3-030-66494-7_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-66494-7_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-66493-0
Online ISBN: 978-3-030-66494-7
eBook Packages: Computer ScienceComputer Science (R0)