Domain-Specific Language Modularization Scheme Applied to a Multi-Arm Robotics Use-Case

The development of robotics systems requires a coherent design, implementation, and integration of multiple domainspecific software artifacts that provide the application-specific capabilities. Model-driven software development (MDSD) provides an efficient methodology that enables the design, integration, and verification of robotics applications already at the level of multiple domain-specific models. While the application of MDSD for the engineering of robotics systems is conceptually promising, the interoperability, composability, and reusability of developed domain-specific languages and resulting models are challenging. In this article, we discuss the requirements for language modularization and composition from a robotics perspective and introduce a language composition approach for component-based robotics systems. We use a state-of-the-art language workbench, which supports reuse, extensibility, and refinement of domain-specific languages and code generators. We present and discuss a case study to evaluate the proposed extension and composition approach from a language developer’s perspective as well as from a language user’s perspective, i.e. the perspective of the roboticist supported by our set of domain-specific languages.

[1]  Herman Bruyninckx,et al.  A model-based approach to software deployment in robotics , 2013, 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[2]  Bernhard Rumpe,et al.  Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems , 2015, MORSE@STAF.

[3]  Ulrik Pagh Schultz,et al.  Generalized programming of modular robots through kinematic configurations , 2011, 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[4]  Ludovic Righetti,et al.  Operational Space Control of Constrained and Underactuated Systems , 2011, Robotics: Science and Systems.

[5]  Aniruddha S. Gokhale,et al.  Improving Domain-Specific Language Reuse with Software Product Line Techniques , 2009, IEEE Software.

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

[7]  Hsiu-Chin Lin,et al.  A Projected Inverse Dynamics Approach for Multi-Arm Cartesian Impedance Control , 2018, 2018 IEEE International Conference on Robotics and Automation (ICRA).

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

[9]  Azamat Shakhimardanov,et al.  Component-Based Robotic Engineering (Part II) , 2010, IEEE Robotics & Automation Magazine.

[10]  Markus Völter,et al.  Language and IDE Modularization and Composition with MPS , 2011, GTTSE.

[11]  Eelco Visser,et al.  Declarative Access Control for WebDSL: Combining Language Integration and Separation of Concerns , 2008, 2008 Eighth International Conference on Web Engineering.

[12]  Walter Cazzola,et al.  DSL evolution through composition , 2010, RAM-SE@ECOOP.

[13]  Andreas Pott,et al.  BRICS - Best practice in robotics , 2010, ISR/ROBOTIK.

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

[15]  Robert C. Martin,et al.  OO Design Quality Metrics , 1997 .

[16]  Herman Bruyninckx,et al.  The real-time motion control core of the Orocos project , 2003, 2003 IEEE International Conference on Robotics and Automation (Cat. No.03CH37422).

[17]  P. Chiacchio,et al.  Six-DOF Impedance Control of Dual-Arm Cooperative Manipulators , 2008, IEEE/ASME Transactions on Mechatronics.

[18]  Juan F. Inglés-Romero,et al.  Model-driven software systems engineering in robotics: Covering the complete life-cycle of a robot , 2015, it Inf. Technol..

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

[20]  Allison M. Okamura,et al.  An overview of dexterous manipulation , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).

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

[22]  Alexander Verl,et al.  BRIDE - A toolchain for framework-independent development of industrial service robot applications , 2014, ISR 2014.

[23]  Pedro J. Molina,et al.  Evaluating and comparing language workbenches , 2015 .

[24]  Daniel Leidner,et al.  Knowledge-enabled parameterization of whole-body control strategies for compliant service robots , 2016, Auton. Robots.

[25]  A. K. Ramadorai,et al.  A generic kinematics software package , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

[26]  Alin Albu-Schäffer,et al.  The KUKA-DLR Lightweight Robot arm - a new reference platform for robotics research and manufacturing , 2010, ISR/ROBOTIK.

[27]  Sebastian Wrede,et al.  Modularization of Domain-Specific Languages for Extensible Component-Based Robotic Systems , 2017, 2017 First IEEE International Conference on Robotic Computing (IRC).

[28]  Farhad Aghili,et al.  A unified approach for inverse and direct dynamics of constrained multibody systems based on linear projection operator: applications to control and simulation , 2005, IEEE Transactions on Robotics.

[29]  Sebastian Erdweg,et al.  Language composition untangled , 2012, LDTA.

[30]  Sebastian Wrede,et al.  A middleware for collaborative research in experimental robotics , 2011, 2011 IEEE/SICE International Symposium on System Integration (SII).

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

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

[33]  Davide Brugali,et al.  HyperFlex: a model driven toolchain for designing and configuring software control systems for autonomous robots , 2016 .

[34]  Francisco José Ortiz Zaragoza,et al.  V3CMM: a 3-view component meta-model for model-driven robotic software development , 2010 .

[35]  Sandra Hirche,et al.  Internal Force Analysis and Load Distribution for Cooperative Multi-Robot Manipulation , 2015, IEEE Transactions on Robotics.

[36]  Jochen J. Steil,et al.  Modeling of movement control architectures based on motion primitives using domain-specific languages , 2015, 2015 IEEE International Conference on Robotics and Automation (ICRA).

[37]  Gabor Karsai,et al.  Design Guidelines for Domain Specific Languages , 2014, ArXiv.

[38]  Sebastian Wrede,et al.  Software Abstractions for Simulation and Control of a Continuum Robot , 2012, SIMPAR.

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

[40]  Bernhard Rumpe,et al.  Towards Compositional Domain Specific Languages , 2013, MPM@MoDELS.

[41]  Charles Lesire,et al.  Mauve: a Component-based Modeling Framework for Real-time Analysis of Robotic Applications. , 2012 .

[42]  Christian Schlegel,et al.  Robotic Software Systems: From Code-Driven to Model-Driven Software Development , 2012 .

[43]  Valerio Ortenzi,et al.  An experimental study of robot control during environmental contacts based on projected operational space dynamics , 2014, 2014 IEEE-RAS International Conference on Humanoid Robots.

[44]  Giorgio Metta,et al.  YARP: Yet Another Robot Platform , 2006 .

[45]  Charles Simonyi,et al.  Intentional software , 2006, OOPSLA '06.

[46]  Zaur Molotnikov,et al.  Implementing modular domain specific languages and analyses , 2012, MoDeVVa '12.