A Survey on Domain-Specific Languages in Robotics

The design, simulation and programming of robotics systems is challenging as expertise from multiple domains needs to be integrated conceptually and technically. Domain-specific modeling promises an efficient and flexible concept for developing robotics applications that copes with this challenge. It allows to raise the level of abstraction through the use of specific concepts that are closer to the respective domain concerns and easier to understand and validate. Furthermore, it focuses on increasing the level of automation, e.g. through code generation, to bridge the gap between the modeling and the implementation levels and to improve the efficiency and quality of the software development process. Within this contribution, we survey the literature available on domain-specific (modeling) languages in robotics required to realize a state-of-the-art real-world example from the [email protected] competition. We classify 41 publications in the field as reference for potential DSL users. Furthermore, we analyze these contributions from a DSL-engineering viewpoint and discuss quantitative and qualitative aspects such as the methods and tools used for DSL implementation as well as their documentation status and platform integration. Finally, we conclude with some recommendations for discussion in the robotics programming and simulation community based on the insights gained with this survey.

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

[2]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[3]  Joris De Schutter,et al.  Geometric Relations Between Rigid Bodies (Part 1): Semantics for Standardization , 2013, IEEE Robotics & Automation Magazine.

[4]  Joris De Schutter,et al.  Geometric Relations Between Rigid Bodies (Part 2): From Semantics to Software , 2013, IEEE Robotics & Automation Magazine.

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

[6]  Ulrik Pagh Schultz,et al.  Model-based kinematics generation for modular mechatronic toolkits , 2010, GPCE '10.

[7]  Tewfik Ziadi,et al.  RobotML, a Domain-Specific Language to Design, Simulate and Deploy Robotic Applications , 2012, SIMPAR.

[8]  J. Buchli,et al.  Model based code generation for kinematics and dynamics computations in robot controllers , 2012 .

[9]  Herman Bruyninckx,et al.  Towards a Domain Specific Language for a Scene Graph based Robotic World Model , 2014, ArXiv.

[10]  Darwin G. Caldwell,et al.  Code generation of algebraic quantities for robot controllers , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[11]  Andreas Angerer,et al.  A Graphical Language for Real-Time Critical Robot Commands , 2013, ArXiv.

[12]  Bran Selic,et al.  The UML – MARTE Standardized Profile , 2008 .

[13]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[14]  Matthias Jüngel,et al.  XABSL - A Pragmatic Approach to Behavior Engineering , 2006, 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[15]  Bernhard Rumpe,et al.  A Case Study on Model-Based Development of Robotic Systems using MontiArc with Embedded Automata , 2014, MBEES.

[16]  Turhan Özgür Comparison of Microsoft DSL Tools and Eclipse Modeling Frameworks for Domain-Specific Modeling in the context of Model-Driven Development , 2007 .

[17]  Ulrike Thomas,et al.  Error-tolerant execution of complex robot tasks based on skill primitives , 2003, 2003 IEEE International Conference on Robotics and Automation (Cat. No.03CH37422).

[18]  Joris De Schutter,et al.  Reusable hybrid force-velocity controlled motion specifications with executable Domain Specific Languages , 2011, 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[19]  Piotr Trojanek Model-driven engineering approach to design and implementation of robot control system , 2013, ArXiv.

[20]  Herman Bruyninckx,et al.  Domain Specific Language for Geometric Relations between Rigid Bodies targeted to robotic applications , 2013, ArXiv.

[21]  Sebastian Wrede,et al.  A Domain-Specific Language for Rich Motor Skill Architectures , 2013, ArXiv.

[22]  Joris De Schutter,et al.  Rapid application development of constrained-based task modelling and execution using domain specific languages , 2013, 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[23]  Geoffrey Biggs,et al.  A Survey of Robot Programming Systems , 2010 .

[24]  Eelco Visser,et al.  DSL Engineering - Designing, Implementing and Using Domain-Specific Languages , 2013 .

[25]  Darwin G. Caldwell,et al.  A Domain Specific Language for kinematic models and fast implementations of robot dynamics algorithms , 2013, ArXiv.

[26]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language Toolkit , 2009 .

[27]  Gerhard K. Kraetzschmar,et al.  A Platform-independent Programming Environment for Robot Control , 2010, ArXiv.

[28]  Pablo Bustos,et al.  Improving the lifecycle of robotics components using Domain-Specific Languages , 2013, ArXiv.

[29]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit , 2009 .