A Survey on Domain-Specific Languages in Robotics

Similar documents
Modeling of Motion Primitive Architectures using Domain-Specific Languages

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

project in an industrial context

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

DSL Design. Overview of DSLE. DSL Design. DSL Desing. Domain specific languages

Introduction to OpenArchitectureWare

Model Driven Engineering (MDE)

Domain-Specific Languages Language Workbenches

Christian Doppler Laboratory

Introduction to Dependable Systems: Meta-modeling and modeldriven

An Evaluation of Domain-Specific Language Technologies for Code Generation

Eclipse technology in IFMS Interface Management System

DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation

... is a Programming Environment (PE)?... is Generic Language Technology (GLT)?

The etrice Eclipse Project Proposal

Language engineering and Domain Specific Languages

What are Requirements?

Dominique Blouin Etienne Borde

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

with openarchitectureware

A new international standard for data validation and processing

Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT

Kermeta tutorial. How to create a metamodel. François Tanguy, Didier Vojtisek. Abstract

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture

Michalis Famelis and Stephanie Santosa. May 18th, University of Toronto. Models in Software Engineering Workshop at ICSE

TDWI Data Governance Fundamentals: Managing Data as an Asset

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger

Domain Specific Languages. Requirements (Engineering)

Orccad, a Model Driven Architecture and Environment for Real-Time Control. Soraya Arias Florine Boudin Roger Pissard-Gibollet Daniel Simon

Software Language Engineering of Architectural Viewpoints

Introduction to MDE and Model Transformation

Xtext. Introduction and Real World Samples. Hendrik Bünder, itemis AG. itemis AG

BIG MODELS AN ALTERNATIVE APPROACH

Key Properties for Comparing Modeling Languages and Tools: Usability, Completeness and Scalability

A Multi-layered Domain-specific Language for Stencil Computations

Semantics-Based Integration of Embedded Systems Models

Automatized Generating of GUIs for Domain-Specific Languages

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

Dominique Blouin Etienne Borde

A B2B Search Engine. Abstract. Motivation. Challenges. Technical Report

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Semantic MediaWiki (SMW) for Scientific Literature Management

Ontology as Knowledge Base for Spatial Data Harmonization

A Model-Driven Framework for Domain Specific Process Design and Governance

Modeling pilot project at Ericsson Expert Analytics

Harmonizing Textual and Graphical Visualizations of Domain Specific Models

Language Oriented Modularity: From Theory to Practice

A Metamodel for Specifying Quality Models in Model- Driven Engineering

Data Quality Assessment Tool for health and social care. October 2018

Domain-Specific Languages for Digital Forensics

Framework for Constructing Context- Specific Migration Methods for Test Cases

Introduction to EGF. Benoît Langlois / Thales Global Services.

Model-Driven Language Engineering

Introduction to Model Driven Engineering using Eclipse. Frameworks

Designing a System Engineering Environment in a structured way

Topics/Assignments. Class 10: Big Picture. What s Coming Next? Perspectives. So Far Mostly Programmer Perspective. Where are We? Where are We Going?

Towards the integration of Overture and TASTE

New and Noteworthy. Peter Friese Bernd Kolb

On the link between Architectural Description Models and Modelica Analyses Models

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development

European Cyber Security Certification: ECSO Meta-Scheme Approach

Programming Modeling Two Worlds? Programmierung Modellierung Zwei Welten? und. and. Markus Voelter Independent/itemis

Semantic Exploitation of Engineering Models: An Application to Oilfield Models

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Flexible Deep Modeling with Melanee

SERG. Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT

A Domain-Specific Language for Modeling Web User Interactions with a Model Driven Approach

MDA Driven xuml Plug-in for JAVA

Static analysis and testing of executable DSL specification

MASTER. Integration of Xtext and GMF editors in Eclipse. Dudojevic, E. Award date: Link to publication

A Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach

Wikileaking Eclipse Modeling - Spilling the beans on how industry uses EMF based tooling successfully! Ronan Barrett, Ericsson

Transition from EBNF to Xtext

Summary of Bird and Simons Best Practices

An Introduction to MDE

Advanced Topics in Software Engineering (02265) Ekkart Kindler

ECLIPSE MODELING PROJECT

Introduction to software architecture Revision : 732

openarchitectureware 4.1 An introduction

PAPYRUS FUTURE. CEA Papyrus Team

The Eclipse Modeling Framework and MDA Status and Opportunities

Variability differences among products in PL. Variability in PLE. Language Workbenches. Language Workbenches. Product Line Engineering

Model Transformations for Embedded System Design and Virtual Platforms

A conceptual framework for building good DSLs. Markus Voelter independent/itemis

Requirements Validation and Negotiation

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Introducing MBT to Standardization. ETSI All rights reserved

Update on AADL Requirements Annex

Book. Signatures and grammars. Signatures and grammars. Syntaxes. The 4-layer architecture

Use of MS DSL Tools in the development process of a Domain-Specific Language

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Eclipse Modeling Framework (EMF) Paweł Żalejko

10 Thoughts 2 Demos * Discussions

The CQUIN Learning Network Annual Meeting

Supporting Documentation and Evolution of Crosscutting Concerns in Business Processes

Domain-Specific Languages for Wireless Sensor Networks

Comparison and merge use-cases from practice with EMF Compare

Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group

UX Consulting: A Look into the Design and Usability Center at Bentley

Transcription:

A Survey on Domain-Specific Languages in Robotics Arne Nordmann Nico Hochgeschwender Sebastian Wrede October 21st 2014 0 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Motivation Motivation Goal: Structure, consolidate and harmonize domain-specific language developments in robotics. Targeted to: 1 DSL Users: domain experts, looking for method and tool support provide means to assess availability and usability of DSLs 2 DSL Developers: robotics system developers and integrators provide an overview on state of the art, common solutions and best practices foster scientific exchange and community building inside the domain 1 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Outline Outline 1 Prerequisites 2 Analysis Some facts and figures 3 Discussion Relevant aspects of DSLs 4 Robotics DSL Zoo 5 Conclusion 2 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Prerequisites Prerequisites 2 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Prerequisites Domain-Specific Languages programming language or executable specification language that offers, through appropriate notations and abstractions, expressive power focused on, and usually restricted to, a particular problem domain... abstractions natural/suitable for the stakeholders who specify that particular concern. meta model (DSL) instance of domain model domain model code generation real-world systems solution 3 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Prerequisites Survey Process 1 Scanned 6 robotics conferences for the keywords domain-specific language, domain-specific modeling language, generative programming, specification language, description language, and code generation. 2 Scanned 2 software conferences for the keywords robot and robotics. 3 Raw list of 210 unique publications 4 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Prerequisites Survey Process 1 Scanned 6 robotics conferences for the keywords domain-specific language, domain-specific modeling language, generative programming, specification language, description language, and code generation. 2 Scanned 2 software conferences for the keywords robot and robotics. 3 Raw list of 210 unique publications 4 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Prerequisites Domain Analysis and Example Problem: Limit the scope of the survey 1 Precision Placement Test (PPT) from RoboCup@Work 1 2 3 4 5 6 7 8 9 Robot Structures Coordinate Representation and Transformation Perception Reasoning and Planning Manipulation and Grasping Coordination Motion Control Architecture (Software) Components 5 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Prerequisites Filtering Filtered 210 publications: 1 Targets relevant concern of robotics 2 Technical aspects 1 must provide a language definition or meta-model 2 must be textual (internal or external) or graphical languages 3 must provide an example of their concrete syntax (notation) 4 should explain how a mapping to a target technology is achieved 41 publications left after filtering 6 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Prerequisites Filtering Filtered 210 publications: 1 Targets relevant concern of robotics 2 Technical aspects 1 must provide a language definition or meta-model 2 must be textual (internal or external) or graphical languages 3 must provide an example of their concrete syntax (notation) 4 should explain how a mapping to a target technology is achieved 41 publications left after filtering 6 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Analysis Analysis Some facts and figures 6 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Analysis Analysis: Publications per Year 1 Numbers clearly support a positive trend of DSLs in robotics 2 Numerous publications per year since 2010 (DSLRob start) 7 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Analysis Analysis: DSLs per Subdomain 1 Numbers vary significantly between subdomains 2 Task-level coordination well-explored (20) 3 Robot Structure and Motion Control 10 4 Manipulation and Grasping none Indicator for maturity of the domain? 8 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Analysis Analysis: DSLs per Tool 1 Eclipse Modeling Project (including EMF, GMF, xtext, xpand,... ) leading by far Is Eclipse Modeling Project a potential integration point for robotics DSLs? 9 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion Discussion Relevant aspects of DSLs from developer and user perspective 9 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion Accessibility and Documentation Documentation necessary for re-use of DSLs, scientific exchange and community building. 1 Technical accessibility Download of DSL Download of language models Download of tools 2 Licensing 3 Documentation of DSL usage, examples, tutorials,... Best Practice: Documentation of meta-model (Ecore, EBNF,... ), intended use-case (tutorial?), open-source download. 10 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion Accessibility and Documentation Documentation necessary for re-use of DSLs, scientific exchange and community building. 1 Technical accessibility Download of DSL Download of language models Download of tools 2 Licensing 3 Documentation of DSL usage, examples, tutorials,... Best Practice: Documentation of meta-model (Ecore, EBNF,... ), intended use-case (tutorial?), open-source download. 10 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion Artifacts and Use-Case 1 DSLs of same sub-domain usually generate similar artifacts 2 Primary target: generation of executable code, but also documentation and visualization 3 Most DSLs used to generate one artifact type (e.g. C++ code) Generation becomes more powerful when parallel M2M/M2T generators are supported, e.g. Computational code and glue code For different software platforms For different programming languages meta model (DSL) domain model instance of domain model code generation real-world systems solution Best Practice: Support for parallel generators (M2M and M2T) eases DSL re-use. 11 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion Artifacts and Use-Case 1 DSLs of same sub-domain usually generate similar artifacts 2 Primary target: generation of executable code, but also documentation and visualization 3 Most DSLs used to generate one artifact type (e.g. C++ code) Generation becomes more powerful when parallel M2M/M2T generators are supported, e.g. Computational code and glue code For different software platforms For different programming languages meta model (DSL) domain model instance of domain model code generation real-world systems solution Best Practice: Support for parallel generators (M2M and M2T) eases DSL re-use. 11 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion Platform Coupling All tools and software libraries required to use the DSL or the generated artifacts. 1 Interpreted / executed DSLs: Always coupled with (DSL-specific) interpreter 2 DSLs for code generation: 1 Proprietary (KRL, RAPID,... ) strongly tied to one platform 2 Tied to a certain software library stack or tool 3 General purpose language code without dependencies Best Practice: Less platform dependencies ease DSL re-use. 12 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion Platform Coupling All tools and software libraries required to use the DSL or the generated artifacts. 1 Interpreted / executed DSLs: Always coupled with (DSL-specific) interpreter 2 DSLs for code generation: 1 Proprietary (KRL, RAPID,... ) strongly tied to one platform 2 Tied to a certain software library stack or tool 3 General purpose language code without dependencies Best Practice: Less platform dependencies ease DSL re-use. 12 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion Evaluation Quality/usability of the DSL or its generated artifacts. 1 Qualitative evaluation Discussion within a use-case (simulation or hardware) Suitability, portability,... Surprising number of publications evaluated on hardware (even on different robot platforms) 2 Quantitative evaluation Efficiency (benchmarking, computation time,... ) Scalability (compilation time, system size,... ) Productivity (change requests, dev time,... ) Reliability (errors/defects per time,... ) Best Practice: Qualitative evaluation in multiple use-cases and quantitative evaluation. 13 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion Evaluation Quality/usability of the DSL or its generated artifacts. 1 Qualitative evaluation Discussion within a use-case (simulation or hardware) Suitability, portability,... Surprising number of publications evaluated on hardware (even on different robot platforms) 2 Quantitative evaluation Efficiency (benchmarking, computation time,... ) Scalability (compilation time, system size,... ) Productivity (change requests, dev time,... ) Reliability (errors/defects per time,... ) Best Practice: Qualitative evaluation in multiple use-cases and quantitative evaluation. 13 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion DSL Development Process Process of identification and formalization of domain-specific abstractions 1 Adds credibility to the DSL 2 Only little information available Domain analysis? Ontology? Formalism? Software examples? Handbooks? Best Practice: Link/describe sources of your DSL: domain analysis, ontology, formalism,... 14 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Discussion DSL Development Process Process of identification and formalization of domain-specific abstractions 1 Adds credibility to the DSL 2 Only little information available Domain analysis? Ontology? Formalism? Software examples? Handbooks? Best Practice: Link/describe sources of your DSL: domain analysis, ontology, formalism,... 14 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Robotics DSL Zoo Robotics DSL Zoo Online resource for DSLs in robotics 14 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Robotics DSL Zoo Robotics DSL Zoo Online resource to structure, consolidate and harmonize DSL developments in robotics. 1 Provide a DSL map for (potential) DSL users 2 Foster scientific exchange and community building Structure: DSL Collection, inspired by the EMFText Concrete Syntax Zoo 1 Annotated bibliography, inspired by Van Deursen et al. 2 http://cor-lab.org/robotics-dsl-zoo 1 http://www.emftext.org/index.php/emftext Concrete Syntax Zoo 2 A. van Deursen, P. Klint, and J. Visser: Domain-Specific Languages: An Annotated Bibliography, 2000. 15 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Conclusion Conclusion 1 DSLs are on the rise in robotics! Yay! 2 Community building started, but still lack of accessibility, documentation and exchange Technical accessibility (download) Meta-model documentation and download Use-Cases and tutorials 3 Robotics DSL Zoo is our idea to...... structure, consolidate and harmonize domain-specific language developments in robotics... provide a DSL map for (potential) DSL users... foster scientific exchange and community building 16 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Conclusion Conclusion 1 DSLs are on the rise in robotics! Yay! 2 Community building started, but still lack of accessibility, documentation and exchange Technical accessibility (download) Meta-model documentation and download Use-Cases and tutorials 3 Robotics DSL Zoo is our idea to...... structure, consolidate and harmonize domain-specific language developments in robotics... provide a DSL map for (potential) DSL users... foster scientific exchange and community building 16 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Conclusion Conclusion 1 DSLs are on the rise in robotics! Yay! 2 Community building started, but still lack of accessibility, documentation and exchange Technical accessibility (download) Meta-model documentation and download Use-Cases and tutorials 3 Robotics DSL Zoo is our idea to...... structure, consolidate and harmonize domain-specific language developments in robotics... provide a DSL map for (potential) DSL users... foster scientific exchange and community building 16 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics

Conclusion Thank you for your attention! Arne Nordmann, Sebastian Wrede, Bielefeld University {anordman, swrede}@cor-lab.uni-bielefeld.de Nico Hochgeschwender, Bonn-Rhein-Sieg University nico.hochgeschwender@h-brs.de http://cor-lab.org/robotics-dsl-zoo 16 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific Languages in Robotics