A Survey on the Design Space of End-User-Oriented Languages for Specifying Robotic Missions
Total Page:16
File Type:pdf, Size:1020Kb
International Journal of Software and Systems Modeling (SoSyM) manuscript No. (will be inserted by the editor) A Survey on the Design Space of End-User-Oriented Languages for Specifying Robotic Missions Swaib Dragule Thorsten Berger Claudio Menghi Patrizio Pelliccione · · · Received: date / Accepted: date Abstract Mobile robots are becoming increasingly im- of the current state-of-the-art of such languages and portant in society. Fulfilling complex missions in differ- their environments. In this paper, we contribute in this ent contexts and environments, robots are promising direction. We present a survey of 30 mission specifica- instruments to support our everyday live. As such, the tion environments for mobile robots that come with task of defining the robot’s mission is moving from a visual and end-user-oriented language. We explore professional developers and roboticists to the end-users. the design space of these languages and their environ- However, with the current state-of-the-art, defining ments, identify their concepts, and organize them as missions is non-trivial and typically requires dedicated features in a feature model. We believe that our results programming skills. Since end-users usually lack such are valuable to practitioners and researchers designing skills, many commercial robots are nowadays equipped the next generation of mission specification languages with environments and domain-specific languages tai- in the vibrant domain of mobile robots. lored for end-users. As such, the software support for Keywords specification environments language defining missions is becoming an increasingly relevant · concepts visual languages robotic missions empirical criterion when buying or choosing robots. Improving · · · study these environments and languages for specifying mis- sions towards simplicity and flexibility is crucial. To this end, we need to improve our empirical understanding 1 Introduction S. Dragule Department of Computer Science and Engineering Over the last decades, robots became increasingly present Chalmers University of Gothenburg, Sweden in our everyday life. Autonomous service robots replace Departmentj of Computer Science, Makerere University, Kampala, Uganda humans in repetitive, laborious, or dangerous activities, E-mail: [email protected] often by interacting with humans or other robots. Ac- 1 T. Berger cording to a 2019 press release at the International Fed- Center of Computer Science eration of Robotics, the sales of robots for professional Ruhr University Bochum, Germany; use, such as autonomous guided vehicles, inspection, Department of Computer Science and Engineering and maintenance robots increased by 32%. Personal Chalmers University of Gothenburg, Sweden E-mail: [email protected] service robots are expected to exceed 22.1 million units in 2019 and 61.1 million units in 2022, while the sales for C. Menghi Interdisciplinary Centre for Security, Reliability and Trust agricultural robots are projected to grow by 50% each University of Luxembourg, Luxembourg year. E-mail: [email protected] Different techniques have been proposed for en- P. Pelliccione gineering the various aspects of robotic behavior [37, DISIM, University of L’Aquila, Italy; 39,27,32,25,26,108,92], such as interoperability at the Department of Computer Science and Engineering Chalmers University of Gothenburg, Sweden 1 j https://ifr.org/ifr-press-releases/news/service- E-mail: [email protected] robots-global-sales-value-reaches-12.9-billion-usd 2 Swaib Dragule et al. human-robot (or human-swarm) level [53,43] and at that form a mission. We study the environments’ and the software-component level in middlewares [78], or their languages’ main characteristics and capabilities, multi-robot target detection and tracking [92]. which we model as features in a feature model [50, Engineering robotics control software is challeng- 82]—a common method to analyze and document a ing [37]. Specifying the behavior of a robot, typically particular domain [24,30,109,58,59]. called the robot’s mission, is far from trivial. Specifically, We formulated two main research questions: a mission is a description of the high-level behavior a RQ1: What visual, end-user-oriented mission specifica- robot must perform [39,71,37,27]. As such, a mission co- tion environments have been presented for mobile robots? ordinates the so-called skills of robots, which represent We systematically and extensively identified such envi- lower-level behaviors. ronments from various sources, including the Google Developing missions requires substantial exper- search engine and the research literature. tise [15,3]. For instance, logical languages, such as LTL, RQ2: What is the design space in terms of common CTL, or other intricate, logic-based formalisms to spec- and variable characteristics (features) that distinguish the ify missions, are complex for users with low expertise environments? Our focus was on understanding the in formal and logical languages [65,71,70]. concepts that these environments and their languages Nowadays, the task of defining missions is mov- offer, which end-users utilize to specify the missions of ing from the robotic manufacturer to the end-users, mobile robots. We conducted a feature-based analysis who are far from being experts in robotics. Robots are resulting in a feature model detailing our results in also evolving from single-purpose machines to general, terms of features organized in a hierarchy. multi-purpose, and configurable devices. As such, the With our analysis we identified a total of 30 en- software support provided for defining missions is be- vironments and designed a feature model with 137 coming a more important feature in the selection of a features, reflecting mandatory features (those found in robot by end-users. For example, before buying a robot, all environments) and optional ones (those found in in addition to the actuation and sensing abilities of the only some environments). These features illustrate the mobile robot, end-users and developers may want to design space covering those environments’ capabilities, understand which types of missions can be delegated general language characteristics, and, most importantly, to the robot and which software support is provided the language concepts utilized by end-users. We also for mission specification. present and discuss the representation of these features Over the last two decades, a range of more end- in the individual environments and languages. We show user-oriented programming environments appeared. how our survey is useful for end-users, robot manu- They allow specifying robot missions in a more user- facturers, and language engineers by reporting a set friendly way, alleviating the need for intricate program- of use-case scenarios and explaining how the results ming skills, which end-users are usually lacking [113, of this survey can be used within these scenarios. We 11,71,37]. Researchers and practitioners have invested believe that our work is valuable to end-users, practi- substantial effort into achieving end-user-oriented pro- tioners, researchers, and tool builders in developing the gramming environments for robots [113,10,11,18,83]. next generation of mission specification languages and In fact, almost every commercial mobile robot nowa- environments, and to support users in the selection of days comes with a mission-specification environment for the most appropriate robot(s) based on their needs. programming the behavior. Most of these environments rely on dedicated domain-specific languages (DSLs) that end-users can utilize to specify missions. 2 Background and Motivation This paper aims to improve our empirical under- standing of the current state-of-the-art in mission speci- To convey a first understanding of mission specification, fication. Specifically, the focus is on end-user-oriented we now introduce some key terminology as well as languages providing a visual syntax. In our survey, we provide a small example of a mission defined in we identify open-source and commercial environments a dedicated DSL of one of our subject environments, that allow end-user-oriented robotic mission specifica- illustrating its advantage over writing the mission in a tion. While robot programming environments consider general-purpose (off-the-shelf) programming language. all programmable aspects of the robot system, we focus A mission is a description of the high-level behavior on environments in which robot missions are created, a robot must perform. A mission represents the logic designed, or particularized. We consider a mission that coordinates the lower-level functionalities of robots, specification environment as a collection of tools that also known as tasks or skills. While this coordination facilitates the definition and stipulation of robot tasks logic can be written in any programming language, A Survey on the Design Space of End-User-Oriented Languages for Specifying Robotic Missions 3 Fig. 2 Simulation of the line-following Lego EV3 robot 3 Methodology Fig. 1 Block-based mission of a robot patrolling a perimeter wall, expressed in Open Roberta We now explain our methodology for identifying end- user-oriented mission specification environments (Sec. 3.1) and for classifying and analyzing their features (Sec. 3.2). expressing it in a DSL avoids writing boilerplate code, focusing on the language concepts relevant for defining the mission, as well as comprehending the mission for 3.1 Identification of Environments (RQ1) later maintenance and evolution. Expressing