{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,28]],"date-time":"2026-02-28T18:35:21Z","timestamp":1772303721897,"version":"3.50.1"},"reference-count":47,"publisher":"MDPI AG","issue":"1","license":[{"start":{"date-parts":[[2022,3,3]],"date-time":"2022-03-03T00:00:00Z","timestamp":1646265600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Software"],"abstract":"<jats:p>It is common knowledge among computer scientists and software engineers that \u201dbuilding robotics systems is hard\u201d: it includes applied and specialized knowledge from various scientific fields, such as mechanical, electrical and computer engineering, computer science and physics, among others. To expedite the development of robots, a significant number of robotics-oriented middleware solutions and frameworks exist that provide high-level functionality for the implementation of the in-robot software stack, such as ready-to-use algorithms and sensor\/actuator drivers. While the aforementioned focus is on the implementation of the core functionalities and control layer of robots, these specialized tools still require extensive training, while not providing the envisaged freedom in design choices. In this paper, we discuss most of the robotics software development methodologies and frameworks, analyze the way robotics applications are built and propose a new resource-oriented architecture towards the rapid development of robot-agnostic applications. The contribution of our work is a methodology and a model-based middleware that can be used to provide remote robot-agnostic interfaces. Such interfaces may support robotics application development from citizen developers by reducing hand-coding and technical knowledge requirements. This way, non-robotics experts will be able to integrate and use robotics in a wide range of application domains, such as healthcare, home assistance, home automation and cyber\u2013physical systems in general.<\/jats:p>","DOI":"10.3390\/software1010004","type":"journal-article","created":{"date-parts":[[2022,3,3]],"date-time":"2022-03-03T09:24:53Z","timestamp":1646299493000},"page":"53-79","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["A Framework for Rapid Robotic Application Development for Citizen Developers"],"prefix":"10.3390","volume":"1","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6407-6205","authenticated-orcid":false,"given":"Konstantinos","family":"Panayiotou","sequence":"first","affiliation":[{"name":"School of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, Greece"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9034-4832","authenticated-orcid":false,"given":"Emmanouil","family":"Tsardoulias","sequence":"additional","affiliation":[{"name":"School of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, Greece"}]},{"given":"Christoforos","family":"Zolotas","sequence":"additional","affiliation":[{"name":"School of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, Greece"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0235-6046","authenticated-orcid":false,"given":"Andreas L.","family":"Symeonidis","sequence":"additional","affiliation":[{"name":"School of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, Greece"}]},{"given":"Loukas","family":"Petrou","sequence":"additional","affiliation":[{"name":"School of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, Greece"}]}],"member":"1968","published-online":{"date-parts":[[2022,3,3]]},"reference":[{"key":"ref_1","unstructured":"Catsoulis, J. (2005). Designing Embedded Hardware: Create New Computers and Devices, O\u2019Reilly Media, Inc."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"52","DOI":"10.1145\/504729.504754","article-title":"Probabilistic robotics","volume":"45","author":"Thrun","year":"2002","journal-title":"Commun. ACM"},{"key":"ref_3","unstructured":"Tsardoulias, E., and Mitkas, P. (2017). Robotic frameworks, architectures and middleware comparison. arXiv."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"376","DOI":"10.1016\/j.ifacol.2019.10.060","article-title":"Low-code platform for automating business processes in manufacturing","volume":"52","author":"Waszkowski","year":"2019","journal-title":"IFAC-PapersOnLine"},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Elhadi, S., Marzak, A., Sael, N., and Merzouk, S. (2018). Comparative study of IoT protocols. Smart Application and Data Analysis for Smart Cities (SADASC\u201918), Springer.","DOI":"10.2139\/ssrn.3186315"},{"key":"ref_6","unstructured":"Coste-Maniere, E., and Simmons, R. (2000, January 24\u201328). Architecture, the backbone of robotic systems. Proceedings of the 2000 ICRA. Millennium Conference, IEEE International Conference on Robotics and Automation, Symposia Proceedings (Cat. No. 00CH37065), San Francisco, CA, USA."},{"key":"ref_7","unstructured":"Albus, J., McCain, H., and Lumia, R. (1987). NASA\/NBS Standard Reference Model for Telerobot Control System Architecture (NASREM), NIST Research Information Center. NBS Tech. Technical report, Note 1235."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"473","DOI":"10.1109\/21.97471","article-title":"Outline for a theory of intelligence","volume":"21","author":"Albus","year":"1991","journal-title":"IEEE Trans. Syst. Man Cybern."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1109\/JRA.1986.1087032","article-title":"A robust layered control system for a mobile robot","volume":"2","author":"Brooks","year":"1986","journal-title":"IEEE J. Robot. Autom."},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"92","DOI":"10.1177\/027836498900800406","article-title":"Motor schema\u2014Based mobile robot navigation","volume":"8","author":"Arkin","year":"1989","journal-title":"Int. J. Robot. Res."},{"key":"ref_11","unstructured":"Arkin, R.C. (1987). Towards Cosmopolitan Robots: Intelligent Navigation in Extended Man-Made Environments. [Ph.D. Thesis, Georgia Institute of Technology]."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Brooks, A., Kaupp, T., Makarenko, A., Williams, S., and Oreback, A. (2005, January 2\u20136). Towards component-based robotics. Proceedings of the 2005 IEEE\/RSJ International Conference on Intelligent Robots and Systems, Edmonton, AB, Canada.","DOI":"10.1109\/IROS.2005.1545523"},{"key":"ref_13","unstructured":"Stewart, D.B., and Khosla, P.K. (1995, January 5\u20139). Rapid development of robotic applications using component-based real-time software. Proceedings of the 1995 IEEE\/RSJ International Conference on Intelligent Robots and Systems, Human Robot Interaction and Cooperative Robots, Pittsburgh, PA, USA."},{"key":"ref_14","unstructured":"Fernandez, J.A., and Gonzalez, J. (1998, January 20\u201320). NEXUS: A flexible, efficient and robust framework for integrating software components of a robotic system. Proceedings of the 1998 IEEE International Conference on Robotics and Automation (Cat. No. 98CH36146), Leuven, Belgium."},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"429","DOI":"10.1016\/S0920-5489(99)90856-5","article-title":"A tool for the specification and the implementation of operating modules in a distributed robot architecture","volume":"6","author":"Fleury","year":"1999","journal-title":"Comput. Stand. Interfaces"},{"key":"ref_16","unstructured":"Stasse, O., and Kuniyoshi, Y. (2000, January 24\u201328). Predn: Achieving efficiency and code re-usability in a programming system for complex robotic applications. Proceedings of the 2000 ICRA. Millennium Conference, IEEE International Conference on Robotics and Automation, Symposia Proceedings (Cat. No. 00CH37065), San Francisco, CA, USA."},{"key":"ref_17","unstructured":"Nesnas, I.A., Volpe, R., Estlin, T., Das, H., Petras, R., and Mutz, D. (November, January 29). Toward developing reusable software components for robotic applications. Proceedings of the 2001 IEEE\/RSJ International Conference on Intelligent Robots and Systems, Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No. 01CH37180), Maui, HI, USA."},{"key":"ref_18","unstructured":"Volpe, R., Nesnas, I., Estlin, T., Mutz, D., Petras, R., and Das, H. (2001, January 10\u201317). The CLARAty architecture for robotic autonomy. Proceedings of the 2001 IEEE Aerospace Conference Proceedings (Cat. No. 01TH8542), Big Sky, MT, USA."},{"key":"ref_19","unstructured":"Collett, T.H., MacDonald, B.A., and Gerkey, B.P. (2005, January 5\u20137). Player 2.0: Toward a practical robot programming framework. Proceedings of the Australasian conference on robotics and automation (ACRA 2005), Sydney, Australia."},{"key":"ref_20","unstructured":"Bruyninckx, H. (2001, January 21\u201326). Open robot control software: The OROCOS project. Proceedings of the 2001 ICRA, IEEE International Conference on Robotics and Automation (Cat. No. 01CH37164), Seoul, Korea."},{"key":"ref_21","unstructured":"Magnenat, S., Longchamp, V., and Mondada, F. (November, January 29). ASEBA, an event-based middleware for distributed robot control. Proceedings of the Workshops and Tutorials CD IEEE\/RSJ 2007 International Conference on Intelligent Robots and Systems, San Diego, CA, USA."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"10","DOI":"10.5772\/5758","article-title":"Robotic software integration using MARIE","volume":"3","author":"Cote","year":"2006","journal-title":"Int. J. Adv. Robot. Syst."},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Uhl, K., and Ziegenmeyer, M. (2007). MCA2-an extensible modular framework for robot control applications. Advances in Climbing and Walking Robots, World Scientific.","DOI":"10.1142\/9789812770189_0078"},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Calisi, D., Censi, A., Iocchi, L., and Nardi, D. (2008, January 22\u201326). OpenRDK: A modular framework for robotic software development. Proceedings of the 2008 IEEE\/RSJ International Conference on Intelligent Robots and Systems, Nice, France.","DOI":"10.1109\/IROS.2008.4651213"},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Ando, N., Suehiro, T., and Kotoku, T. (2008). A software platform for component based rt-system development: Openrtm-aist. International Conference on Simulation, Modeling, and Programming for Autonomous Robots, Springer.","DOI":"10.1007\/978-3-540-89076-8_12"},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"73","DOI":"10.1145\/2189751.2047875","article-title":"Model-driven engineering and run-time model-usage in service robotics","volume":"47","author":"Steck","year":"2011","journal-title":"ACM Sigplan Not."},{"key":"ref_27","first-page":"5","article-title":"ROS: An open-source Robot Operating System","volume":"Volume 3","author":"Quigley","year":"2009","journal-title":"ICRA Workshop on Open Source Software"},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Beetz, M., M\u00f6senlechner, L., and Tenorth, M. (2010, January 18\u201322). CRAM\u2014A Cognitive Robot Abstract Machine for everyday manipulation in human environments. Proceedings of the 2010 IEEE\/RSJ International Conference on Intelligent Robots and Systems, Taipei, Taiwan.","DOI":"10.1109\/IROS.2010.5650146"},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Tenorth, M., and Beetz, M. (2009, January 11\u201315). KnowRob\u2014Knowledge processing for autonomous personal robots. Proceedings of the 2009 IEEE\/RSJ International Conference on Intelligent Robots and Systems, St. Louis, MO, USA.","DOI":"10.1109\/IROS.2009.5354602"},{"key":"ref_30","doi-asserted-by":"crossref","unstructured":"Bruyninckx, H., Klotzb\u00fccher, M., Hochgeschwender, N., Kraetzschmar, G., Gherardi, L., and Brugali, D. (2013, January 18\u201322). The BRICS component model: A model-based development paradigm for complex robotics software systems. Proceedings of the 28th Annual ACM Symposium on Applied Computing, Coimbra, Portugal.","DOI":"10.1145\/2480362.2480693"},{"key":"ref_31","unstructured":"Schlegel, C., Ha\u00dfler, T., Lotz, A., and Steck, A. (2009, January 14\u201317). Robotic software systems: From code-driven to model-driven designs. Proceedings of the 2009 IEEE International Conference on Advanced Robotics, Singapore."},{"key":"ref_32","unstructured":"Joyeux, S., and Albiez, J. (2011, January 8\u201314). Robot development: From components to systems. Proceedings of the 6th National Conference on Control Architectures of Robots, Grenoble, France."},{"key":"ref_33","doi-asserted-by":"crossref","first-page":"150","DOI":"10.1016\/j.rcim.2006.10.002","article-title":"A software engineering approach for the development of heterogeneous robotic applications","volume":"24","author":"Galindo","year":"2008","journal-title":"Robot. Comput.-Integr. Manuf."},{"key":"ref_34","unstructured":"Fern\u00e1ndez-Madrigal, J.A. (2003). The BABEL Development System for Integrating Heterogeneous Robotic Software, Technology Report System Engineering and Automation Department, University of Malaga."},{"key":"ref_35","doi-asserted-by":"crossref","first-page":"157","DOI":"10.1016\/j.cogsys.2016.08.004","article-title":"Towards an integrated robotics architecture for social inclusion\u2013The RAPP paradigm","volume":"43","author":"Tsardoulias","year":"2017","journal-title":"Cogn. Syst. Res."},{"key":"ref_36","doi-asserted-by":"crossref","first-page":"539","DOI":"10.1007\/s12369-016-0361-z","article-title":"Rapp: A robotic-oriented ecosystem for delivering smart user empowering applications for older people","volume":"8","author":"Reppou","year":"2016","journal-title":"Int. J. Soc. Robot."},{"key":"ref_37","doi-asserted-by":"crossref","unstructured":"Szlenk, M., Zieli\u0144ski, C., Figat, M., and Kornuta, T. (2015). Reconfigurable agent architecture for robots utilising cloud computing. Progress in Automation, Robotics and Measuring Techniques, Springer.","DOI":"10.1007\/978-3-319-15847-1_25"},{"key":"ref_38","first-page":"5","article-title":"Model driven architecture","volume":"308","author":"Soley","year":"2000","journal-title":"OMG White Pap."},{"key":"ref_39","unstructured":"Fowler, M. (2010). Domain-Specific Languages, Pearson Education."},{"key":"ref_40","unstructured":"Pastor, O., and Molina, J.C. (2007). Model-Driven Architecture in Practice: A Software Production Environment Based on Conceptual Modeling, Springer."},{"key":"ref_41","unstructured":"Caldiera, V.R.B.G., and Rombach, H.D. (1994). The goal question metric approach. Encycl. Softw. Eng., 528\u2013532."},{"key":"ref_42","doi-asserted-by":"crossref","first-page":"56","DOI":"10.1016\/j.compeleceng.2017.05.024","article-title":"Cloud robotics in smart manufacturing environments: Challenges and countermeasures","volume":"63","author":"Yan","year":"2017","journal-title":"Comput. Electr. Eng."},{"key":"ref_43","doi-asserted-by":"crossref","first-page":"1729881418759424","DOI":"10.1177\/1729881418759424","article-title":"The Internet of Robotic Things: A review of concept, added value and applications","volume":"15","author":"Simoens","year":"2018","journal-title":"Int. J. Adv. Robot. Syst."},{"key":"ref_44","first-page":"85","article-title":"Model-driven software systems engineering in robotics: Covering the complete life-cycle of a robot","volume":"57","author":"Schlegel","year":"2015","journal-title":"it-Inf. Technol."},{"key":"ref_45","unstructured":"Bubeck, A., Weisshardt, F., and Verl, A. (2014, January 2\u20133). BRIDE-A toolchain for framework-independent development of industrial service robot applications. Proceedings of the ISR\/Robotik 2014, 41st International Symposium on Robotics, VDE, Munich, Germany."},{"key":"ref_46","doi-asserted-by":"crossref","unstructured":"Jordan, S., Haidegger, T., Kov\u00e1cs, L., Felde, I., and Rudas, I. (2013, January 8\u201310). The rising prospects of cloud robotic applications. Proceedings of the 2013 IEEE 9th International Conference on Computational Cybernetics (ICCC), Tihany, Hungary.","DOI":"10.1109\/ICCCyb.2013.6617612"},{"key":"ref_47","doi-asserted-by":"crossref","unstructured":"Beigi, N.K., Partov, B., and Farokhi, S. (2017, January 8\u201313). Real-time cloud robotics in practical smart city applications. Proceedings of the 2017 IEEE 28th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC), Montreal, QC, Canada.","DOI":"10.1109\/PIMRC.2017.8292655"}],"container-title":["Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2674-113X\/1\/1\/4\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T22:31:12Z","timestamp":1760135472000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2674-113X\/1\/1\/4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,3]]},"references-count":47,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2022,3]]}},"alternative-id":["software1010004"],"URL":"https:\/\/doi.org\/10.3390\/software1010004","relation":{},"ISSN":["2674-113X"],"issn-type":[{"value":"2674-113X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,3,3]]}}}