SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Davide Di Ruscio 
Ivano Malavolta
Patrizio Pelliccione
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
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
Using robots for civilian missions [1]
Many civilian missions can be executed either by flying, 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 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
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
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
Application scenario[2]
The family of languages
Mission
Context
Map
MML 
BL
Behavior
BL models synthesis
Robots
configuration
Mission
Execution Engine
RL
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
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 influence the execution
of the mission
The focus is on spatial context
Robot language (RL)
Hardware and low-level configuration of each type of robot
Behaviour language (BL)
Atomic movements 
and actions performed
by each robot of the 
swarm
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
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
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&(ε,&ε)&
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)})&
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 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)
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

Más contenido relacionado

Similar a 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
 
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
 
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
 
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
 
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
 
robot-pplication-200916054307.pptx
robot-pplication-200916054307.pptxrobot-pplication-200916054307.pptx
robot-pplication-200916054307.pptxDSelvamarilakshmiAss
 

Similar a 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)
 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!
 
robot-pplication-200916054307.pptx
robot-pplication-200916054307.pptxrobot-pplication-200916054307.pptx
robot-pplication-200916054307.pptx
 

Más de 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 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
 

Más de 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
 

Último

COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 

Último (20)

COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 

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-Specific 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 –  significant risks (e.g., fire, 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 flying, 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 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
  • 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-specific 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 specific 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 configuration Mission Execution Engine RL
  • 10. 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
  • 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 influence the execution of the mission The focus is on spatial context
  • 13. Robot language (RL) Hardware and low-level configuration 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-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
  • 16. 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
  • 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&(ε,&ε)& 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)})& 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 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)
  • 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