a family of domain-specific languages for specifying civilian missions of multi-robot systems

25
Davide Di Ruscio Ivano Malavolta Patrizio Pelliccione A family of Domain-Specific Languages for specifying Civilian Missions of Multi-Robot Systems

Upload: ivano-malavolta

Post on 08-Sep-2014

316 views

Category:

Technology


1 download

DESCRIPTION

21st July 2014. My presentation at MORSE 2014 (http://st.inf.tu-dresden.de/MORSE14) about a family of Domain-Specific Languages for specifying Civilian Missions of Multi-Robot Systems.

TRANSCRIPT

Page 1: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Davide Di Ruscio Ivano Malavolta

Patrizio Pelliccione

A family of Domain-Specific Languages for specifying Civilian Missions

of Multi-Robot Systems

Page 2: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Roadmap

Background

Challenges

The family of languages

Application to autonomous quadrotors

Conclusions and future work

Page 3: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Civilian missions today

•  High costs –  team training and transportation

–  operating costs

•  Safety

–  significant risks (e.g., fire, earthquake, etc.)

•  Timing and endurance

–  exhausting shifts

–  activities stopped at night

Page 4: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Using robots for civilian missions [1]

Many civilian missions can be executed either by flying, ground or water robots

Page 5: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Multi-robots missions

Civilian missions can be executed by multiple robots à lower mission completion time à fault-tolerance w.r.t. mission goal fulfillment à enables the use of highly-specialized robots All the robots perform their actions to fulfil the common goal of

the mission

however...

common goal

Page 6: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Challenges

•  On-site operators must be expert of all the types of used robots –  in terms of dynamics, hardware capabilities, etc.

•  On-site operators have to simultaneously control a large number of robots during the mission execution

•  Robots provide very low-level APIs and very basic primitives –  error-prone development

–  task-specific robots

–  no reuse These issues ask for •  abstraction •  automation

Page 7: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

MDE for multi-robot missions

MDE allows all stakeholders to focus on models of the mission with concepts that are:

•  closer to the application domain

•  independent from the specific robot technologies

•  enabling automation à autonomous robots

http://mdse-book.com

Page 8: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Application scenario[2]

Page 9: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

The family of languages

Mission

Context

Map

MML

BL

Behavior

BL models synthesis

Robots configuration

Mission Execution Engine RL

Page 10: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Principles

Mask complexity à usable by non-technical experts

à domain-specific concepts

Independence w.r.t. the types of robots

Reuse of models

Robots must be autonomous

Page 11: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Monitoring mission language (MML)

Mission layer: sequence of tasks executed by a swarm of robots

extensible

Page 12: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Monitoring mission language (MML)

Context layer: geographical areas that can influence the execution of the mission

The focus is on spatial context

Page 13: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Robot language (RL)

Hardware and low-level configuration of each type of robot

Page 14: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Behaviour language (BL)

Atomic movements

and actions performed

by each robot of the

swarm

Page 15: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Involved stakeholders

Operator in-the-field stakeholder specifying the mission

Robot engineer –  models a specific kind of robot

–  develops the controller that instructs the robot on how to perform BL basic operations

Platform extender –  extends the MML metamodel with new kinds of tasks

–  develops a synthesizer for transforming each new task to its corresponding BL operations

MML

RL + controller

MML + synthesizer

Page 16: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Extension for autonomous quadrotors

Special kind of helicopter with:

•  high stability

•  omni-directional

•  smaller fixed-pitch rotors

à safer than classical helicopters

•  simple to design and construct

•  relatively inexpensive

image from http://goo.gl/FJFS5l

Issues •  require a trained pilot to operate them •  restricted to line-of-sight range

Page 17: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Languages extensions

unchanged

MML

BL

RL

Page 18: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Example (1)

MML model (in the tool)

PG1

NF1

NF2

R1

home

Page 19: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Example (2)

Robot model (Parrot)

Page 20: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Example (3)

Behavioural model

Drone&D1&

Drone&D2&

Drone&D3&

Start&(ε,&ε)& Start&(ε,&ε)& Start&(ε,&ε)&

TakeOff&(ε,&ε)& TakeOff&(ε,&ε)& TakeOff&(ε,&ε)&

GoTo&(ε,&ε)&GoTo&(ε,&ε)& GoTo&(ε,&ε)&

GoTo&(ε,&{Photo})&GoTo&(ε,&{Photo})& GoTo&(ε,&{Photo})&

GoTo&(ε,{Photo,BroadCast(D3.R1.Done)})&

GoTo&(ε,&ε)&

Land&(ε,&ε)&

Stop&(ε,&ε)&

GoTo&(ε,&ε)&

Land&(ε,&ε)&

Stop&(ε,&ε)&

0GoTo&(ε,&{Photo,&&BroadCast&(D2.PG1.Done)})&

0GoTo&(ε,&ε)&

Land&(ε,&ε)&

Stop&(ε,&ε)&

GoTo(ε,&{Photo,&&BroadCast&(D1.PG1.Done)})&

PG1 PG1 R1

Page 21: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Tool support

Editor for MML models

M2M transformation +

models validation

Layer of controllers that interpret BL models at run-time

HTML5, CSS3, JavaScript

Java + OCL

Java + ROS + Rosbridge

Drone driver

any

Page 22: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Conclusions

Page 23: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

Future work

Extend the languages with timing constraints Design a generic software architecture for

–  mission editors, model transformations –  run-time engine for executing the mission

Safety and security as first-class elements both at mission design-time and run-time A more systematic language extension mechanism (like in [3]) Exercise the family of languages with other kinds of robot (e.g., underwater missions)

Page 24: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

References

[1] Skrzypietz, T.: Unmanned Aircraft Systems for Civilian Missions. BIGS policy paper. Brandenburgisches Institut fur Gesellschaft und Sicherheit. BIGS (2012) [2] Di Ruscio, D., Malavolta, I., Pelliccione, P.: Engineering a platform for mission planning of autonomous and resilient quadrotors. In: Fifth International Workshop, on Software Engineering for Resilient Systems , Springer Berlin Heidelberg (2013) 33–47 [3] Di Ruscio, D., Malavolta, I., Muccini, H., Pelliccione, P., Pierantonio, A.: Developing Next Generation ADLs Through MDE Techniques. In: Procs. ICSE’10, ACM (2010) 85–94

Page 25: A family of Domain-Specific Languages  for specifying Civilian Missions  of Multi-Robot Systems

+ 39 380 70 21 600

Ivano Malavolta | Gran Sasso Science Institute

iivanoo

[email protected]

www.di.univaq.it/malavolta

Contact