SlideShare a Scribd company logo
1 of 25
Download to read offline
Davide Di Ruscio 
Ivano Malavolta
Patrizio Pelliccione
A family of Domain-Speciļ¬c Languages 
for specifying Civilian Missions 
of Multi-Robot Systems
Roadmap
Background
Challenges
The family of languages
Application to autonomous quadrotors
Conclusions and future work
Civilian missions today
ā€¢ā€Æ High costs
ā€“ā€Æ team training and transportation
ā€“ā€Æ operating costs
ā€¢ā€Æ Safety
ā€“ā€Æ signiļ¬cant risks (e.g., ļ¬re, earthquake, etc.)

ā€¢ā€Æ Timing and endurance
ā€“ā€Æ exhausting shifts
ā€“ā€Æ activities stopped at night
Using robots for civilian missions [1]
Many civilian missions can be executed either by ļ¬‚ying, ground or water robots
Multi-robots missions
Civilian missions can be executed by multiple robots

Ć ļƒ  lower mission completion time
Ć ļƒ ā€Æfault-tolerance w.r.t. mission goal fulļ¬llment 
Ć ļƒ ā€Æenables the use of highly-specialized robots


All the robots perform their actions to fulļ¬l the common goal of
the mission 


however...

common goal
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-speciļ¬c robots
ā€“ā€Æ no reuse
 These issues ask for 
ā€¢ā€Æ abstraction
ā€¢ā€Æ automation
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 speciļ¬c robot technologies
ā€¢ā€Æ enabling automation Ć ļƒ  autonomous robots

http://mdse-book.com
Application scenario[2]
The family of languages
Mission
Context
Map
MML 
BL
Behavior
BL models synthesis
Robots
conļ¬guration
Mission
Execution Engine
RL
Principles


Mask complexity 

Ć ļƒ  usable by non-technical experts

Ć ļƒ  domain-speciļ¬c concepts

Independence w.r.t. the types of robots

Reuse of models

Robots must be autonomous
Monitoring mission language (MML)
Mission layer: sequence of tasks executed by a swarm of robots
extensible
Monitoring mission language (MML)
Context layer: geographical areas that can inļ¬‚uence the execution
of the mission
The focus is on spatial context
Robot language (RL)
Hardware and low-level conļ¬guration of each type of robot
Behaviour language (BL)
Atomic movements 
and actions performed
by each robot of the 
swarm
Involved stakeholders
Operator

in-the-ļ¬eld stakeholder specifying the mission

Robot engineer
ā€“ā€Æ models a speciļ¬c 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
Extension for autonomous quadrotors
Special kind of helicopter with:
ā€¢ā€Æ high stability
ā€¢ā€Æ omni-directional
ā€¢ā€Æ smaller ļ¬xed-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
Languages extensions








 

unchanged







 

MML 
BL
RL
Example (1)
MML model (in the tool)
PG1
NF1
NF2
R1
home
Example (2)
Robot model (Parrot)
Example (3)
Behavioural model
Drone&
D1&
Drone&
D2&
Drone&
D3&
Start&(Īµ,&Īµ)& Start&(Īµ,&Īµ)& Start&(Īµ,&Īµ)&
TakeOļ¬€&(Īµ,&Īµ)& TakeOļ¬€&(Īµ,&Īµ)& TakeOļ¬€&(Īµ,&Īµ)&
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)})&
0
GoTo&(Īµ,&Īµ)&
Land&(Īµ,&Īµ)&
Stop&(Īµ,&Īµ)&
GoTo(Īµ,&{Photo,&&
BroadCast&(D1.PG1.Done)})&
PG1 PG1
R1
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
Conclusions
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 ļ¬rst-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)
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
+ 39 380 70 21 600
Ivano Malavolta | 
Gran Sasso Science Institute
iivanoo
ivano.malavolta@gssi.infn.it
www.di.univaq.it/malavolta
Contact

More Related Content

Similar to A family of Domain-Specific Languages for specifying Civilian Missions of Multi-Robot Systems

Agricultural robot sprayer: Evaluation of user interfaces in field experiments
Agricultural robot sprayer: Evaluation of user interfaces in field experimentsAgricultural robot sprayer: Evaluation of user interfaces in field experiments
Agricultural robot sprayer: Evaluation of user interfaces in field experimentsGeorge Adamides
Ā 
Robot programming
Robot programmingRobot programming
Robot programmingGopal Saini
Ā 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC StudioBenoit Combemale
Ā 
Reverse-Engineering Reusable Language Modules from Legacy DSLs
Reverse-Engineering Reusable Language Modules from Legacy DSLsReverse-Engineering Reusable Language Modules from Legacy DSLs
Reverse-Engineering Reusable Language Modules from Legacy DSLsDavid MƩndez-AcuƱa
Ā 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!melbats
Ā 
Industrial Robotics Chap 01 Fundamentals
Industrial  Robotics  Chap 01  FundamentalsIndustrial  Robotics  Chap 01  Fundamentals
Industrial Robotics Chap 01 FundamentalsKevin Carvalho
Ā 
Simulation of robotic positions and programming
Simulation of robotic positions and programmingSimulation of robotic positions and programming
Simulation of robotic positions and programmingRachit Laharia
Ā 
Lecture1
Lecture1Lecture1
Lecture1Fan Hong
Ā 
Going to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific LanguagesGoing to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific LanguagesGuillaume Laforge
Ā 
20161014IROS_WS
20161014IROS_WS20161014IROS_WS
20161014IROS_WSKomei Sugiura
Ā 
Robo unit4- Robot Programming.pptx
Robo unit4- Robot Programming.pptxRobo unit4- Robot Programming.pptx
Robo unit4- Robot Programming.pptxPriya429658
Ā 
Robot programming , accuracy ,repeatability and application
Robot programming , accuracy ,repeatability  and applicationRobot programming , accuracy ,repeatability  and application
Robot programming , accuracy ,repeatability and applicationvishaldattKohir1
Ā 
PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Lan...
PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Lan...PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Lan...
PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Lan...Tom Mens
Ā 
Unit IV Solved Question Bank- Robotics Engineering
Unit IV  Solved Question Bank-  Robotics EngineeringUnit IV  Solved Question Bank-  Robotics Engineering
Unit IV Solved Question Bank- Robotics EngineeringSanjay Singh
Ā 
Robotic technology
Robotic technologyRobotic technology
Robotic technologyvivekyadav478
Ā 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Benoit Combemale
Ā 
Unit IV.pptx Robot programming and Languages
Unit IV.pptx Robot programming and LanguagesUnit IV.pptx Robot programming and Languages
Unit IV.pptx Robot programming and LanguagesBalamech4
Ā 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!Ed Seidewitz
Ā 

Similar to A family of Domain-Specific Languages for specifying Civilian Missions of Multi-Robot Systems (20)

Agricultural robot sprayer: Evaluation of user interfaces in field experiments
Agricultural robot sprayer: Evaluation of user interfaces in field experimentsAgricultural robot sprayer: Evaluation of user interfaces in field experiments
Agricultural robot sprayer: Evaluation of user interfaces in field experiments
Ā 
Robot programming
Robot programmingRobot programming
Robot programming
Ā 
Sync considered unethical
Sync considered unethicalSync considered unethical
Sync considered unethical
Ā 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC Studio
Ā 
Reverse-Engineering Reusable Language Modules from Legacy DSLs
Reverse-Engineering Reusable Language Modules from Legacy DSLsReverse-Engineering Reusable Language Modules from Legacy DSLs
Reverse-Engineering Reusable Language Modules from Legacy DSLs
Ā 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
Ā 
Industrial Robotics Chap 01 Fundamentals
Industrial  Robotics  Chap 01  FundamentalsIndustrial  Robotics  Chap 01  Fundamentals
Industrial Robotics Chap 01 Fundamentals
Ā 
Simulation of robotic positions and programming
Simulation of robotic positions and programmingSimulation of robotic positions and programming
Simulation of robotic positions and programming
Ā 
Lecture1
Lecture1Lecture1
Lecture1
Ā 
Robocup2006
Robocup2006Robocup2006
Robocup2006
Ā 
Going to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific LanguagesGoing to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific Languages
Ā 
20161014IROS_WS
20161014IROS_WS20161014IROS_WS
20161014IROS_WS
Ā 
Robo unit4- Robot Programming.pptx
Robo unit4- Robot Programming.pptxRobo unit4- Robot Programming.pptx
Robo unit4- Robot Programming.pptx
Ā 
Robot programming , accuracy ,repeatability and application
Robot programming , accuracy ,repeatability  and applicationRobot programming , accuracy ,repeatability  and application
Robot programming , accuracy ,repeatability and application
Ā 
PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Lan...
PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Lan...PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Lan...
PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Lan...
Ā 
Unit IV Solved Question Bank- Robotics Engineering
Unit IV  Solved Question Bank-  Robotics EngineeringUnit IV  Solved Question Bank-  Robotics Engineering
Unit IV Solved Question Bank- Robotics Engineering
Ā 
Robotic technology
Robotic technologyRobotic technology
Robotic technology
Ā 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Ā 
Unit IV.pptx Robot programming and Languages
Unit IV.pptx Robot programming and LanguagesUnit IV.pptx Robot programming and Languages
Unit IV.pptx Robot programming and Languages
Ā 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!
Ā 

More from Ivano Malavolta

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
Ā 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experienceIvano Malavolta
Ā 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
Ā 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
Ā 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
Ā 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
Ā 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
Ā 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Ivano Malavolta
Ā 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Ivano Malavolta
Ā 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
Ā 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Ivano Malavolta
Ā 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Ivano Malavolta
Ā 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
Ā 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
Ā 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile developmentIvano Malavolta
Ā 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
Ā 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
Ā 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
Ā 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
Ā 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
Ā 

More from Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Ā 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
Ā 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
Ā 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
Ā 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Ā 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
Ā 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Ā 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Ā 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Ā 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Ā 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Ā 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Ā 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Ā 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
Ā 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
Ā 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
Ā 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
Ā 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
Ā 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
Ā 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
Ā 

Recently uploaded

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
Ā 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
Ā 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
Ā 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
Ā 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
Ā 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
Ā 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
Ā 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
Ā 
"Subclassing and Composition ā€“ A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition ā€“ A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition ā€“ A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition ā€“ A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
Ā 
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...Patryk Bandurski
Ā 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervƩ Boutemy
Ā 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
Ā 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
Ā 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo GarcĆ­a Lavilla
Ā 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
Ā 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
Ā 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
Ā 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
Ā 

Recently uploaded (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
Ā 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Ā 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Ā 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Ā 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Ā 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
Ā 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
Ā 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Ā 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
Ā 
"Subclassing and Composition ā€“ A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition ā€“ A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition ā€“ A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition ā€“ A Pythonic Tour of Trade-Offs", Hynek Schlawack
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Ā 
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Ā 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Ā 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Ā 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Ā 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Ā 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Ā 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
Ā 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Ā 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Ā 

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

  • 1. Davide Di Ruscio Ivano Malavolta Patrizio Pelliccione A family of Domain-Speciļ¬c Languages for specifying Civilian Missions of Multi-Robot Systems
  • 2. Roadmap Background Challenges The family of languages Application to autonomous quadrotors Conclusions and future work
  • 3. Civilian missions today ā€¢ā€Æ High costs ā€“ā€Æ team training and transportation ā€“ā€Æ operating costs ā€¢ā€Æ Safety ā€“ā€Æ signiļ¬cant risks (e.g., ļ¬re, earthquake, etc.) ā€¢ā€Æ Timing and endurance ā€“ā€Æ exhausting shifts ā€“ā€Æ activities stopped at night
  • 4. Using robots for civilian missions [1] Many civilian missions can be executed either by ļ¬‚ying, ground or water robots
  • 5. Multi-robots missions Civilian missions can be executed by multiple robots Ć ļƒ  lower mission completion time Ć ļƒ ā€Æfault-tolerance w.r.t. mission goal fulļ¬llment Ć ļƒ ā€Æenables the use of highly-specialized robots All the robots perform their actions to fulļ¬l the common goal of the mission however... common goal
  • 6. 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-speciļ¬c robots ā€“ā€Æ no reuse These issues ask for ā€¢ā€Æ abstraction ā€¢ā€Æ automation
  • 7. 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 speciļ¬c robot technologies ā€¢ā€Æ enabling automation Ć ļƒ  autonomous robots http://mdse-book.com
  • 9. The family of languages Mission Context Map MML BL Behavior BL models synthesis Robots conļ¬guration Mission Execution Engine RL
  • 10. Principles Mask complexity Ć ļƒ  usable by non-technical experts Ć ļƒ  domain-speciļ¬c concepts Independence w.r.t. the types of robots Reuse of models Robots must be autonomous
  • 11. Monitoring mission language (MML) Mission layer: sequence of tasks executed by a swarm of robots extensible
  • 12. Monitoring mission language (MML) Context layer: geographical areas that can inļ¬‚uence the execution of the mission The focus is on spatial context
  • 13. Robot language (RL) Hardware and low-level conļ¬guration of each type of robot
  • 14. Behaviour language (BL) Atomic movements and actions performed by each robot of the swarm
  • 15. Involved stakeholders Operator in-the-ļ¬eld stakeholder specifying the mission Robot engineer ā€“ā€Æ models a speciļ¬c 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
  • 16. Extension for autonomous quadrotors Special kind of helicopter with: ā€¢ā€Æ high stability ā€¢ā€Æ omni-directional ā€¢ā€Æ smaller ļ¬xed-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
  • 18. Example (1) MML model (in the tool) PG1 NF1 NF2 R1 home
  • 20. Example (3) Behavioural model Drone& D1& Drone& D2& Drone& D3& Start&(Īµ,&Īµ)& Start&(Īµ,&Īµ)& Start&(Īµ,&Īµ)& TakeOļ¬€&(Īµ,&Īµ)& TakeOļ¬€&(Īµ,&Īµ)& TakeOļ¬€&(Īµ,&Īµ)& 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)})& 0 GoTo&(Īµ,&Īµ)& Land&(Īµ,&Īµ)& Stop&(Īµ,&Īµ)& GoTo(Īµ,&{Photo,&& BroadCast&(D1.PG1.Done)})& PG1 PG1 R1
  • 21. 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
  • 23. 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 ļ¬rst-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)
  • 24. 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
  • 25. + 39 380 70 21 600 Ivano Malavolta | Gran Sasso Science Institute iivanoo ivano.malavolta@gssi.infn.it www.di.univaq.it/malavolta Contact