Abstract
Advanced robotic systems are finally becoming a reality; following the increased attention that robotics have attracted during the last few decades, new types of robotic applications are launched, from robotic space vessels and fully autonomous cars to robotic dancers and robot companions. Even more, following the advancements in the Internet of Things (IoT) domain, robots can now participate in more complex systems, namely Cyber-physical systems (CPS). In such systems, robots, software, sensors and/or “things” cooperate seamlessly in order to exhibit the desired outcome. However, the high heterogeneity of the components comprising CPS systems requires expertise in various scientific domains, a fact that makes development of CPS applications a resource- and time-consuming process. In order to alleviate this pain, model-driven (or model-based) approaches have been introduced. They employ a low code software engineering approach and hide the domain-specific knowledge needed, by providing an abstract representation that can be more easily understood. Following the low-code paradigm, current work focuses on the development of Domain-specific Languages (DSL) for ROS2 (Robot Operating System 2) systems in order to hide low-level middleware-specific setup and configuration details and enable access to robot development by non ROS experts. Furthermore, in order to enable the integration of ROS2 robots in CPS, a second DSL was developed. The first language, GeneROS, is used for the development and configuration of the core functionalities of the robot (such as hardware drivers and algorithms), while the second language, ROSbridge-DSL, implements the interfaces for connecting robots to the Edge and the Cloud, enabling this way remote monitoring and control in the context of IoT and CPS.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
Code Availability
All code developed in the context of the current study (DSL implementations, M2M and M2T Transformations) is available at the following repositories: \(\bullet \) GeneROS DSL: https://github.com/robotics-4-all/generos\(\bullet \) ROSbridge DSL: https://github.com/robotics-4-all/rosbridge-dsl\(\bullet \) GeneROS-ROSbridge M2M: https://github.com/robotics-4-all/rosbridge-generos-int
References
Simoens, P., Dragone, M., Saffiotti, A.: The internet of robotic things: a review of concept, added value and applications. Int. J. Adv. Robot. Syst. 15(1), 1729881418759424 (2018)
Ray, P.P.: Internet of robotic things: concept, technologies, and challenges. IEEE Access 4, 9489–9500 (2016)
Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice. Synthesis Lect. Softw. Eng. 3(1), 1–207 (2017)
Van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: an annotated bibliography. ACM Sigplan Notices 35(6), 26–36 (2000)
Gherardi L., Hochgeschwender N., Schlegel C., Schultz U.P., Stinckwich S.: Proceedings of the fifth international workshop on domain-specific languages and models for robotic systems (DSLRob 2014). arXiv:http://arxiv.org/abs/1411.71481411.7148 (2014)
Schlegel C., Schultz U.P., Stinckwich S., Wrede S.: Proceedings of the sixth international workshop on domain-specific languages and models for robotic systems (DSLRob 2015). arXiv:http://arxiv.org/abs/1601.008771601.00877 (2016)
Nordmann A., Hochgeschwender N., Wrede S.: A survey on domain-specific languages in robotics, 195–206 (2014)
Fowler M.: Domain-specific. languages Pearson Education, (2010)
Macenski S., Foote T., Gerkey B., Lalancette C., Woodall W.: Robot operating system 2: design, architecture, and uses in the wild. Sci. Robot., 7(66), eabm6074 (2022)
Batth R.S., Nayyar A., Nagpal A.: Internet of robotic things: driving intelligent robotics of future-concept, architecture, applications and technologies, 151–160 (2018)
Sanfeliu, A., Hagita, N., Saffiotti, A.: Network robot systems. Robot. Auto. Syst. 56(10), 793–797 (2008)
Hu, G., Tay, W.P., Wen, Y.: Cloud robotics: architecture, challenges and applications. IEEE Netw. 26(3), 21–28 (2012)
Kehoe, Ben, Patil, Sachin, Abbeel, Pieter, Goldberg, Ken: A survey of research on cloud robotics and automation. IEEE Trans. Autom. Sci. Eng. 12(2), 398–409 (2015)
Kara D., Carlaw S.: The internet of robotic things. ABI Research (2014)
Bordel, B., Alcarria, R., Robles, T., Martín, D.: Cyber-physical systems: Extending pervasive sensing from control theory to the internet of things. Pervasive Mobile Comput. 40, 156–184 (2017)
Lee E.A.: Cyber physical systems: design challenges, 363–369 (2008)
Rajkumar R., Lee I., Sha L., Stankovic J.: Cyber-physical systems: the next computing revolution, 731–736 (2010)
Khaitan, S.K., McCalley, J.D.: Design techniques and applications of cyberphysical systems: a survey. IEEE Syst. J. 9(2), 350–365 (2014)
Rajhans, A., et al.: Supporting heterogeneity in cyber-physical systems architectures. IEEE Trans. Autom. Cont. 59(12), 3178–3193 (2014)
Quigley M., et al.: ROS: an open-source robot operating system, 3(3.2), 5 (2009)
Pardo-Castellote G.: Omg data-distribution service: srchitectural overview, 200–206 (2003)
Schlesselman J.M., Pardo-Castellote G., Farabaugh B.: OMG data-distribution service (DDS): architectural update, 2, 961–967 (2004)
Maruyama Y., Kato S., Azumi T.: Exploring the performance of ROS2, 1–10 (2016)
Gutiérrez C.S.V., Juan L.U.S., Ugarte I.Z., Vilches V.M.: Towards a distributed and real-time framework for robots: evaluation of ROS 2.0 communications for real-time robotic applications. arXiv:http://arxiv.org/abs/1809.02595 (2018)
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surveys (CSUR) 37(4), 316–344 (2005)
Bruyninckx H., et al.: The BRICS component model: a model-based development paradigm for complex robotics software systems, 1758–1764 (2013)
Bischoff R., et al.: Brics-best practice in robotics, 1–8 (2010)
Bruyninckx, H.: Open robot control software: the OROCOS project 3, 2523–2528 (2001)
Kumar, P.S., et al.: ROSMOD: a toolsuite for modeling, generating, deploying, and managing distributed real-time component-based software using ROS. Electronics 5(3), 53 (2016)
EU, R.: Project (2017–2020). RobMoSys: composable models and software for robtics systems-towards an EU digital industrial platform for robotics (2020)
Stampfer, D., Lotz, A., Lutz, M., Schlegel, C.: The smartmdsd toolchain: an integrated mdsd workflow and integrated development environment (ide) for robotics software. J. Softw. Eng. Robot. (JOSER) 7(1), 3–19 (2016)
Kchir S., Dhouib S., Tatibouet J., Gradoussoff B., Simoes M.D.S.: RobotML for industrial robots: Design and simulation of manipulation scenarios, 1–8 (2016)
Zamalloa I., Muguruza I., Hernández A., Kojcev R., Mayoral V.: An information model for modular robots: the hardware robot information model (hrim). arXiv:http://arxiv.org/abs/1802.014591802.01459 (2018)
Casalaro G.L., et al.: Model-driven engineering for mobile robotic systems: a systematic mapping study. Softw. Syst. Model., 1–31 (2021)
Bozhinoski D., Di Ruscio D., Malavolta I., Pelliccione P., Tivoli M.: Flyaq: enabling non-expert users to specify and generate missions of autonomous multicopters (2015)
Menghi C., Tsigkanos C., Berger T., Pelliccione P.: PsALM: specification of dependable robotic missions (2019)
Weintrop D., et al.: Evaluating CoBlox: a comparative study of robotics programming environments for adult novices (2018)
Hammoudeh, García N., Deshpande, H., Santos, A., Kahl, B., Bordignon, M.: Bootstrapping MDE development from ROS manual code: Part 2-Model generation and leveraging models at runtime. Softw. Syst. Model. 20(6), 2047–2070 (2021)
Crick C., Jay G., Osentoski S., Pitzer B., Jenkins O.C.: Rosbridge: Ros for non-ros users, 493–504 (2017)
Crick C., Jay G., Osentoski S., Jenkins O.C.: ROS and rosbridge: Roboticists out of the loop, 493–494 (2012)
Pereira A.B.M., Julio R.E., Bastos G.S.: ROSRemote: using ROS on cloud to access robots remotely, 569–605 (2019)
Celar S., Mudnic E., Seremet Z.: State-of-the-art of messaging for distributed computing systems. Int. J. Vallis Aurea: State-of-the-art Messaging Distr. Comput. Syst., 3(2), 5–18 (2017)
Da Silva, A.R.: Model-driven engineering: a survey supported by the unified conceptual model. Comput. Lang. Syst. Struct. 43, 139–155 (2015)
Steinberg D., Budinsky F., Merks E., Paternostro M.: EMF: eclipse modeling framework, Pearson Education(2008)
Budinsky F., Ellersick R., Steinberg D., Grose T.J., Merks E.: Eclipse modeling framework: a developer’s guide. (2004). Addison-Wesley Professional
Aranega V.: Pyecore: a python (Ic) implementation of the eclipse modeling framework. Model.-Lang. com (2017)
Dejanović I., Vaderna R., Milosavljević G., Vuković Ž.: TextX: a python tool for domain-specific languages implementation. Knowl.-Based Syst., 115, 1–4 (2017)
Souto E., et al.: A message-oriented middleware for sensor networks, 127–134 (2004)
Dobbelaere P., Esmaili K.S.: Kafka versus RabbitMQ: a comparative study of two industry reference publish/subscribe implementations: industry paper, 227–238 (2017)
Panayiotou K., et al.: Ms Pacman and the robotic ghost: a modern cyber-physical remake of the famous pacman game, 147–154 (2019)
Nguyen, V., Deeds-Rubin, S., Tan, T., Boehm, B.: A SLOC counting standard 2007, 1–16 (2007)
Soley, R., et al.: Model driven architecture. OMG White Paper 308(308), 5 (2000)
Pastor O., Molina J.C.: Model-driven architecture in practice: a software production environment based on conceptual modeling, vol. 1 (2007). Springer
Caldiera V.R.B.G., Rombach H.D.: The goal question metric approach. Ency. Softw. Eng., 528–532 (1994)
Bruneliere H., Cabot J., Jouault F., Madiot F.: MoDisco: a generic and extensible framework for model driven reverse engineering, 173–174 (2010)
Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice. Synth. Lect. Softw. Eng. 3(1), 1–207 (2017)
Acknowledgements
This research is co-financed by Greece and the European Union (European Social Fund - ESF) through the Operational Programme “Human Resources Development, Education and Lifelong Learning” in the context of the project “Strengthening Human Resources Research Potential via Doctorate Research” (MIS-5000432), implemented by the State Scholarships Foundation (IKY).
Funding
Open access funding provided by HEAL-Link Greece.
Author information
Authors and Affiliations
Contributions
All authors contributed equally to the study conception and design. The first draft of the manuscript was written by Rafail Brouzos and Konstantinos Panayiotou and all authors commented on previous versions of the manuscript. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Competing interest
The authors declare that they have no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rafail Brouzos, Konstantinos Panayiotou, Emmanouil Tsardoulias and Andreas Symeonidis are contributed equally to this work.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, 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 licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence 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. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Brouzos, R., Panayiotou, K., Tsardoulias, E. et al. A Low-Code Approach for Connected Robots. J Intell Robot Syst 108, 28 (2023). https://doi.org/10.1007/s10846-023-01861-y
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10846-023-01861-y