Model-driven engineering for mobile robotic systems: a systematic mapping study

Mobile robots operate in various environments (e.g. aquatic, aerial, or terrestrial), they come in many diverse shapes and they are increasingly becoming parts of our lives. The successful engineering of mobile robotics systems demands the interdisciplinary collaboration of experts from different domains, such as mechanical and electrical engineering, artificial intelligence, and systems engineering. Research and industry have tried to tackle this heterogeneity by proposing a multitude of model-driven solutions to engineer the software of mobile robotics systems. However, there is no systematic study of the state of the art in model-driven engineering (MDE) for mobile robotics systems that could guide research or practitioners in finding model-driven solutions and tools to efficiently engineer mobile robotics systems. The paper is contributing to this direction by providing a map of software engineering research in MDE that investigates (1) which types of robots are supported by existing MDE approaches, (2) the types and characteristics of MRSs that are engineered using MDE approaches, (3) a description of how MDE approaches support the engineering of MRSs, (4) how existing MDE approaches are validated, and (5) how tools support existing MDE approaches. We also provide a replication package to assess, extend, and/or replicate the study. The results of this work and the highlighted challenges can guide researchers and practitioners from robotics and software engineering through the research landscape.

[1]  Bran Selic,et al.  Real-Time Object-Oriented Modeling (ROOM) , 1996, RTAS 1996.

[2]  Wojtek Kozaczynski,et al.  Component-Based Software Engineering , 1998, IEEE Software.

[3]  Magnus C. Ohlsson,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[4]  Herman Bruyninckx,et al.  Open robot control software: the OROCOS project , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[5]  Carlo Ghezzi,et al.  Fundamentals of software engineering (2. ed.) , 2003 .

[6]  Richard T. Vaughan,et al.  The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems , 2003 .

[7]  Arvinder Kaur,et al.  Component Based Software Engineering , 2010 .

[8]  Jeffrey G. Gray,et al.  A model-driven approach for generating embedded robot navigation control software , 2004, ACM-SE 42.

[9]  Jon S. Berndt,et al.  JSBSim: An Open Source Flight Dynamics Model in C++ , 2004 .

[10]  Jakob Rehof,et al.  Zing: A Model Checker for Concurrent Software , 2004, CAV.

[11]  Frank Weil,et al.  Model-Driven engineering in a large industrial context — motorola case study , 2005, MoDELS'05.

[12]  Safety Executive Bootle Introduction to IEC 61508 , 2005 .

[13]  Alexei Makarenko,et al.  Towards component-based robotics , 2005, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[14]  William D. Smart,et al.  Trends in Robot Software Domain Engineering , 2005, PPSDR@ICRA.

[15]  Roel Wieringa,et al.  Requirements engineering paper classification and evaluation criteria: a proposal and a discussion , 2005, Requirements Engineering.

[16]  P. Feiler,et al.  The Architecture Analysis & Design Language (AADL): An Introduction , 2006 .

[17]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[18]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[19]  Manuel Resinas,et al.  A Model-Driven Architecture Approach for Modeling, Specifying and Deploying Policies in Autonomous and Autonomic Systems , 2006, 2006 2nd IEEE International Symposium on Dependable, Autonomic and Secure Computing.

[20]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[21]  H. Vangheluwe,et al.  Metamodelling - State of the Art and Research Challenges , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[22]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[23]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[24]  T. Dybå,et al.  Applying Systematic Reviews to Diverse Study Types: An Experience Report , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[25]  Tim Weilkiens,et al.  Systems engineering with SysML / UML - modeling, analysis, design , 2007 .

[26]  Ketil Stølen,et al.  What is model driven architecture , 2003 .

[27]  Bernhard Rumpe,et al.  MontiCore: a framework for the development of textual domain specific languages , 2008, ICSE Companion '08.

[28]  R. K. Ro D G E R S A N D A N G E L A S Ow D E N,et al.  Testing Methodological Guidance on the Conduct of Narrative Synthesis in Systematic Reviews Effectiveness of Interventions to Promote Smoke Alarm Ownership and Function , 2008 .

[29]  Takashi Suehiro,et al.  A Software Platform for Component Based RT-System Development: OpenRTM-Aist , 2008, SIMPAR.

[30]  M. Asada,et al.  SimSpark – Concepts and Application in the RoboCup 3 D Soccer Simulation League , 2008 .

[31]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[32]  Alexei Makarenko,et al.  Model-based design: a report from the trenches of the DARPA Urban Challenge , 2009, Software & Systems Modeling.

[33]  Erwin Prassler,et al.  Software Engineering for Robotics , 2009 .

[34]  Christian Schlegel,et al.  Robotic software systems: From code-driven to model-driven designs , 2009, 2009 International Conference on Advanced Robotics.

[35]  Jennie Popay,et al.  Testing Methodological Guidance on the Conduct of Narrative Synthesis in Systematic Reviews , 2009 .

[36]  R. Joyce,et al.  1 Mesoamerica : A Working Model for Archaeology , 2003 .

[37]  C.J.H. Mann,et al.  A Practical Guide to SysML: The Systems Modeling Language , 2009 .

[38]  Erwin Prassler,et al.  Software engineering for robotics [From the Guest Editors] , 2009 .

[39]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[40]  Davide Brugali From the Editor-in-Chief: A New Research Community, a New Journal , 2010 .

[41]  Elisa Yumi Nakagawa,et al.  Software Engineering in the Embedded Software and Mobile Robot Software Development: A Systematic Mapping , 2010, SEKE.

[42]  Andreas Angerer,et al.  On reverse-engineering the KUKA Robot Language , 2010, ArXiv.

[43]  Tony Gorschek,et al.  A method for evaluating rigor and industrial relevance of technology evaluations , 2011, Empirical Software Engineering.

[44]  W. Eric Wong,et al.  Special section editorial - Software Engineering track of the 24th Annual Symposium on Applied Computing , 2011, Information and Software Technology.

[45]  John D. McGregor,et al.  A systematic mapping study of software product lines testing , 2011, Inf. Softw. Technol..

[46]  M. Sampson,et al.  Checking reference lists to find additional studies for systematic reviews. , 2011, The Cochrane database of systematic reviews.

[47]  Kai Petersen,et al.  Measuring and predicting software productivity: A systematic map and review , 2011, Inf. Softw. Technol..

[48]  Daniela Cruzes,et al.  Recommended Steps for Thematic Synthesis in Software Engineering , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[49]  Christian Schlegel,et al.  Model-driven engineering and run-time model-usage in service robotics , 2011, GPCE '11.

[50]  Mark Rouncefield,et al.  Model-driven engineering practices in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[51]  Per Runeson,et al.  Software product line testing - A systematic mapping study , 2011, Inf. Softw. Technol..

[52]  Daniela E. Damian,et al.  Transition to model-driven engineering: what is revolutionary, what remains the same? , 2012, MODELS'12.

[53]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[54]  Alexey Zakharov,et al.  A Reuse-Oriented Development Process for Component-Based Robotic Systems , 2012, SIMPAR.

[55]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[56]  Claudia Pons,et al.  A systematic review of applying modern software engineering techniques to developing robotic systems , 2012 .

[57]  Bruce A. MacDonald,et al.  RoboStudio: A visual programming environment for rapid authoring and customization of complex services on a personal service robot , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[58]  Simon Lacroix,et al.  Simulating Complex Robotic Scenarios with MORSE , 2012, SIMPAR.

[59]  Gail C. Murphy,et al.  An exploratory study of forces and frictions affecting large-scale model-driven development , 2012, MODELS'12.

[60]  Pearl Brereton,et al.  Systematic literature review: teaching novices programming using robots , 2011, IET Softw..

[61]  Guoqiang Hu,et al.  Cloud robotics: architecture, challenges and applications , 2012, IEEE Network.

[62]  Muhammad Ali Babar,et al.  Systematic reviews in software engineering: An empirical investigation , 2013, Inf. Softw. Technol..

[63]  Henry Muccini,et al.  What Industry Needs from Architectural Languages: A Survey , 2013, IEEE Transactions on Software Engineering.

[64]  Marian Petre,et al.  UML in practice , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[65]  Pearl Brereton,et al.  A systematic review of systematic review process research in software engineering , 2013, Inf. Softw. Technol..

[66]  Bernhard Rumpe,et al.  A new skill based robot programming language using UML/P Statecharts , 2013, 2013 IEEE International Conference on Robotics and Automation.

[67]  Louis Turnbull,et al.  Cloud robotics: Formation control of a multi robot system utilizing cloud infrastructure , 2013, 2013 Proceedings of IEEE Southeastcon.

[68]  Luigi Palopoli,et al.  A robotic vehicle testbench for the application of MBD-MDE development technologies , 2013, 2013 IEEE 18th Conference on Emerging Technologies & Factory Automation (ETFA).

[69]  Dayang N. A. Jawawi,et al.  Aspect-oriented model-driven code generation: A systematic mapping study , 2013, Inf. Softw. Technol..

[70]  Herman Bruyninckx,et al.  The BRICS component model: a model-based development paradigm for complex robotics software systems , 2013, SAC '13.

[71]  L. Connelly Grounded theory. , 2013, Medsurg nursing : official journal of the Academy of Medical-Surgical Nurses.

[72]  Mark Rouncefield,et al.  The State of Practice in Model-Driven Engineering , 2014, IEEE Software.

[73]  Claes Wohlin,et al.  Guidelines for snowballing in systematic literature studies and a replication in software engineering , 2014, EASE '14.

[74]  Sebastian Wrede,et al.  A Survey on Domain-Specific Languages in Robotics , 2014, SIMPAR.

[75]  Lefteris Angelis,et al.  On the use of software design models in software development practice: An empirical investigation , 2014, J. Syst. Softw..

[76]  Jörgen Hansson,et al.  Assessing the State-of-Practice of Model-Based Engineering in the Embedded Systems Domain , 2014, MoDELS.

[77]  Valeriy Vyatkin,et al.  Model-Driven Development of Control Software for Distributed Automation: A Survey and an Approach , 2014, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[78]  Xavier Franch,et al.  Systematic mapping study on software engineering for sustainability (SE4S) , 2014, EASE '14.

[79]  Frederik Hegger,et al.  RoboCup@Work: Competing for the Factory of the Future , 2014, RoboCup.

[80]  Antonio Vallecillo,et al.  On the Industrial Adoption of Model Driven Engineering. Is your company ready for MDE , 2015 .

[81]  Davide Brugali,et al.  Model-Driven Software Engineering in Robotics: Models Are Designed to Use the Relevant Things, Thereby Reducing the Complexity and Cost in the Field of Robotics , 2015, IEEE Robotics & Automation Magazine.

[82]  Sonia Chernova,et al.  Robot Web Tools: Efficient messaging for cloud robotics , 2015, 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[83]  J. Gray,et al.  Blockly Language Creation and Applications: Visual Programming for Media Computation and Bluetooth Robotics Control , 2015, SIGCSE.

[84]  Kai Petersen,et al.  Guidelines for conducting systematic mapping studies in software engineering: An update , 2015, Inf. Softw. Technol..

[85]  Benoît Combemale,et al.  MDE in Practice for Computational Science , 2015, ICCS.

[86]  Tarun Jaiswal,et al.  Fundamentals of Software Engineering , 2017, Lecture Notes in Computer Science.

[87]  Yvan Labiche,et al.  Automated state-based online testing real-time embedded software with RTEdge , 2015, 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[88]  Davide Di Ruscio,et al.  FLYAQ: Enabling Non-expert Users to Specify and Generate Missions of Autonomous Multicopters , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[89]  Bernhard Rumpe,et al.  Modeling robot and world interfaces for reusable tasks , 2015, 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[90]  Raffaello D'Andrea,et al.  Rapyuta: A Cloud Robotics Platform , 2015, IEEE Transactions on Automation Science and Engineering.

[91]  Marco Kuhrmann,et al.  On the Use of Safety Certification Practices in Autonomous Field Robot Software Development: A Systematic Mapping Study , 2015, PROFES.

[92]  Christian Schlegel,et al.  The SmartMDSD Toolchain: An Integrated MDSD Workflow and Integrated Development Environment (IDE) for Robotics Software , 2016 .

[93]  Patrizio Pelliccione,et al.  Descriptive vs prescriptive models in industry , 2016, MoDELS.

[94]  Muhammad Ali Babar,et al.  Software architectures for robotic systems: A systematic mapping study , 2016, J. Syst. Softw..

[95]  Sebastian Wrede,et al.  A Survey on Domain-specific Modeling and Languages in Robotics , 2016 .

[96]  FEDERICO CICCOZZI,et al.  Adopting MDE for Specifying and Executing Civilian Missions of Mobile Multi-Robot Systems , 2016, IEEE Access.

[97]  Antonio Vallecillo,et al.  The experiment model and validity frame in M&S , 2017, SpringSim.

[98]  Ivica Crnkovic,et al.  Model-Driven Engineering for Mission-Critical IoT Systems , 2017, IEEE Software.

[99]  Bernhard Rumpe,et al.  Modeling Robotics Tasks for Better Separation of Concerns, Platform-Independence, and Reuse , 2017, Aachener Informatik-Berichte, Software Engineering.

[100]  Simon Iosti,et al.  Designing Systems with Detection and Reconfiguration Capabilities: A Formal Approach , 2018, ISoLA.

[101]  Evaluating CoBlox: A Comparative Study of Robotics Programming Environments for Adult Novices , 2018, CHI Extended Abstracts.

[102]  Brian Fitzgerald,et al.  The ABC of Software Engineering Research , 2018, ACM Trans. Softw. Eng. Methodol..

[103]  Tiziana Margaria,et al.  Leveraging Applications of Formal Methods, Verification and Validation. Distributed Systems: 8th International Symposium, ISoLA 2018, Limassol, Cyprus, November 5-9, 2018, Proceedings, Part III , 2018, ISoLA.

[104]  Boyang Li,et al.  Evaluating CoBlox: A Comparative Study of Robotics Programming Environments for Adult Novices , 2018, CHI.

[105]  Clare Dixon,et al.  Formal Specification and Verification of Autonomous Robotic Systems , 2018, ACM Comput. Surv..

[106]  Olivier Barais,et al.  Modeling languages in Industry 4.0: an extended systematic mapping study , 2019, Software and Systems Modeling.

[107]  T. Bures,et al.  High-level mission specification for multiple robots , 2019, SLE.

[108]  Patrizio Pelliccione,et al.  PsALM: Specification of Dependable Robotic Missions , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion).

[109]  Patricia Lago,et al.  The Journal of Systems and Software , 2019 .

[110]  Ivica Crnkovic,et al.  Safety for mobile robotic systems: A systematic mapping study from a software engineering perspective , 2019, J. Syst. Softw..

[111]  Clare Dixon,et al.  Formal Specification and Verification of Autonomous Robotic Systems , 2018, ACM Comput. Surv..

[112]  Arosha K. Bandara,et al.  EUD-MARS: End-user development of model-driven adaptive robotics software systems , 2020, Sci. Comput. Program..

[113]  Patrizio Pelliccione,et al.  Robotics software engineering: a perspective from the service robotics domain , 2020, ESEC/SIGSOFT FSE.

[114]  Carlo Ghezzi,et al.  Specification Patterns for Robotic Missions , 2019, IEEE Transactions on Software Engineering.