SlideShare a Scribd company logo
1 of 27
Download to read offline
Federico Ciccozzi1, Davide Di Ruscio2, Ivano Malavolta3,
Patrizio Pelliccione4, Jana Tumova5
1Malardalen University (Sweden)
2University of L’Aquila (Italy)
3Vrije Universiteit Amsterdam (The Netherlands)
4Chalmers University of Technology | GU (Sweden)
5KTH Royal Institute of Technology (Sweden)
Engineering the software
of robotic systems - FLYAQ
UNIVERSITY OF L’AQUILA
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
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
What is a drone?
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Application scenario
Mission
to monitor the CO2 level in a geographical area by monitoring
it along a grid composed of cells of size 12x12 meters
Contextual entities
obstacles
emergency areas
no fly zones
home
NO FLY ZONE
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Mission
modeling
Mission
Context
Map
MML
BL
Behavior specification
Detailed flight plan synthesis
Robot type
models
Mission
Execution
Engine
this layer is extensible
RL
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Mask complexity
• usable by non-technical experts
• domain-specific concepts
• separation of concerns
Independence w.r.t. the types of robots
• behaviour generation capability
Reuse
• context models
• robot models
Robots must be autonomous
Principles Mission
Context
Map
MML
BL
Behaviorspecification
Detailed flight plan synthesis
Robot type
models
Mission
Execution
EngineRL
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Modeling languages Mission
Context
Map
MML
BL
Behaviorspecification
Detailed flight plan synthesis
Robot type
models
Mission
Execution
EngineRL
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
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 + software controller
MML + synthesizer
Involved stakeholders
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Mission layer
sequence of tasks executed by a team of robots
Extension point
Monitoring mission language (MML)
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Photogrid task
• identifies a virtual grid within an area
• each cell of the grid has a size of n meters
• each drone flies over each cell of the grid at an altitude of z
meters and takes a picture of the ground
Example of extension
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Example (1) MML model (in the tool)
NF1
NF2
home
RT
PGT
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Example (2)
Robot model (Parrot)
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
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
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Web UI
Mission Design
and
Behaviour
Synthesis
request MML &
drones configurations
1
2 MML concepts & drones
3 mission design
4 submit MML models
6 BL model and analysis results
5
behaviour analysis
and synthesis
7 start mission
Mission Execution
Engine
Mission modeling workflow
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Mission execution
Mission Execution
Engine
6 send status*
(continuous flow)
start mission
setup drone
controllers
* steps executed in parallel
Monitoring
Engine
tasks execution
commands*
feedback*
feedback*
25
1
3
4 C1
D1
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
s1
0 TakeOff(p1.z) s1
Mission entering
s2s'''2
Goto(c1)
s''2
Goto(c2)
s'2
Goto(p1)Goto(home1)Land
s1
f land1
Mission leaving
s'1 Goto(c2) s''1 Goto(p1) v1
v1
1
Goto(q1) / DoPhoto(…)
v2
1v16
1
…
NoOp
Mission tasks execution
Goto(q16) / DoPhoto(…)
NoOp
r1
NoOp
Goto(c1)
v17
1
Flight plan synthesis
MML
Each MML task is constrained
by:
• geometry
• behavioural strategy
• actions
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
q4= p2
q1= p1
q3
q14
q5
q6
q15
q16
q2
q13
q12
q11
q7
q8
q9
q10
p3
p4
c1
c2
p1
Synthesis method on the example
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, and Patrizio Pelliccione. Adopting mde for specifying and executing
civilian missions of mobile multi-robot systems. IEEE Access, PP(99):1–1, 2016.
Darko Bozhinoski, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Massimo Tivoli (2015). FLYAQ: Enabling Non-Expert
Users to Specify and Generate Missions of Autonomous Multicopters. In 30th IEEE/ACM International Conference on
Automated Software Engineering (ASE 2015).
Darko Bozhinoski, Ivano Malavolta, Antonio Bucchiarone, Annapaola Marconi (2015). Sustainable Safety in Mobile Multi-Robot
Systems via Collective Adaptation. In Ninth IEEE International Conference on Self-Adaptive and Self-Organizing Systems,
SASO 2015, Cambridge, Massachusetts, USA, September 21-25, 2015,
Darko Bozhinoski (2015). Managing Safety and Adaptability in Mobile Multi-Robot Systems. In Proceedings of the 11th
International ACM SIGSOFT Conference on Quality of Software Architectures, pp. 135–140.
Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione (2014). A family of Domain-Specific Languages for specifying Civilian
Missions of Multi-Robot Systems. In Proceedings of the 1st International Workshop on Model-Driven Robot Software
Engineering (MORSE), pp. 13–26.
Davide Di Ruscio and Ivano Malavolta and Patrizio Pelliccione (2014). The Role of Parts in the System Behaviour. In Software
Engineering for Resilient Systems - 6th International Workshop, SERENE 2014, Budapest, Hungary, October 15-16, 2014.
Proceedings, pp. 24–39.
Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione (2013). Engineering a Platform for Mission Planning of Autonomous and
Resilient Quadrotors. In Software Engineering for Resilient Systems - Fifth International Workshop, SERENE 2013, pp. 33–47.
References
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Backup slides
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Tool support
…
ROS
HTTPS and web
sockets
Web interface
Editor for MML
models
M2M transformation
+ models validation
+ mission workflow
manager
Layer of controllers that interpret BL
models at run-time
HTML5, CSS3,
JavaScript Java + OCL + Rosbridge
Any technology supported by ROS
Drone driver
any
C1
C2
C3
…
Any
protocol
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
point
line polygon
volume
Geometries supported by MML
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
sweep(d) – full coverage of an area discretized by a grid
whose cells dimension is d
search(target, d) – visit performed on a d-sized grid
towards the discovery of target (e.g., represented by a PNG
image)
track(m, m’, d) – it is like sweep(d) where m and m’are
the visit restart and stop messages, respectively
Actions:
• taking a picture
• making a video
• detecting the presence of CO2
• etc.
Strategies supported by MML
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Let’s go back to the example…
NF1
NF2
home
RT
PGT
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Context = ( (NF1,NF2), (OB) )
PGT = ( (p1,p2,p3,p4,p1), sweep(10), (doPhoto(2480 3508), i) )
Swarm ={ (d1, {PGT}), (d2, {PGT}), (d3, {RT}) }
Task dependency graph
( (t0, PGT, RT, t3), ∅ ∪ { (t0, {PGT, RT}) } ∪ { ({PGT, RT}, t3) } )
t0
PGT RT
t3
Synthesis method on the example
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
• Safety
• avoidance of collisions (P1), and of traversing no-fly zones
(P2)
• no concurrency issues (P3)
• P1&P2
• correct and complete specification
• thanks to specific auxiliary functions
• volume partitioning algorithms
• visibility graph
• coverage path planning
• P3
• partitioning in independent areas
• no message lost
• sound mechanisms for sequencing, join, and fork
• a drone cannot be involved in concurrent tasks
Properties of the synthesized BL model
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
EXPERIMENTATION
models@runtime to control the
mission execution and manage
adaptation
Support other types of robots
Mission Execution
Engine
navigation
commands
(MAVLink)
telemetry
(MAVLink)
C1
MAV
Proxy
Drone
Kit
Arducopter
physics
simulator
physics data
Google Earth
drones positions at run-time
Future
work
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
BL model automatic synthesis
BL
Mission entering
Mission leaving
Mission tasks
execution
…
…
dn
…
d2
…
d1
State transition
State
Synchronization and communication message
Flight plan synthesis
MML

More Related Content

Similar to Engineering the software of robotic systems - 2 - Drones [ICSE 2017 - technical briefing]

Deep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & FutureDeep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & FutureRouyun Pan
 
ScadaLab Project
ScadaLab Project ScadaLab Project
ScadaLab Project JMBALBOA
 
Use of Unmanned Aerial Systems for Hydrological Monitoring
Use of Unmanned Aerial Systems for Hydrological MonitoringUse of Unmanned Aerial Systems for Hydrological Monitoring
Use of Unmanned Aerial Systems for Hydrological MonitoringSalvatore Manfreda
 
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
 
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarityInteractions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarityUniversité de Technologie de Compiègne
 
Exploring the national role and position of international technology diffusio...
Exploring the national role and position of international technology diffusio...Exploring the national role and position of international technology diffusio...
Exploring the national role and position of international technology diffusio...Lawrenzo H.C. Huang
 
La red de telescopios robóticos BOOTES y el proyecto GLORIA
La red de telescopios robóticos BOOTES y el proyecto GLORIALa red de telescopios robóticos BOOTES y el proyecto GLORIA
La red de telescopios robóticos BOOTES y el proyecto GLORIAcampusmilenio
 
2014 electronic imaging
2014 electronic imaging2014 electronic imaging
2014 electronic imagingEngku Fahmi
 
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016Universitat Politècnica de Catalunya
 
Healthy Nutrition Under Asp-Prolog
Healthy Nutrition Under Asp-PrologHealthy Nutrition Under Asp-Prolog
Healthy Nutrition Under Asp-PrologIJCNCJournal
 
3rd 3DDRESD: DRESD status @ July 2008
3rd 3DDRESD: DRESD status @ July 20083rd 3DDRESD: DRESD status @ July 2008
3rd 3DDRESD: DRESD status @ July 2008Marco Santambrogio
 
IPIN'14: Foot-Mounted Inertial Navigation Made Easy
IPIN'14: Foot-Mounted Inertial Navigation Made EasyIPIN'14: Foot-Mounted Inertial Navigation Made Easy
IPIN'14: Foot-Mounted Inertial Navigation Made Easyoblu.io
 
YOLO BASED SHIP IMAGE DETECTION AND CLASSIFICATION
YOLO BASED SHIP IMAGE DETECTION AND CLASSIFICATIONYOLO BASED SHIP IMAGE DETECTION AND CLASSIFICATION
YOLO BASED SHIP IMAGE DETECTION AND CLASSIFICATIONIRJET Journal
 
Tracing Tuples Across Dimensions: A Comparison of Scatterplots and Parallel C...
Tracing Tuples Across Dimensions: A Comparison of Scatterplots and Parallel C...Tracing Tuples Across Dimensions: A Comparison of Scatterplots and Parallel C...
Tracing Tuples Across Dimensions: A Comparison of Scatterplots and Parallel C...Kimberly Aguada
 
Remote Telepresence for Exploring Virtual Worlds
Remote Telepresence for Exploring Virtual WorldsRemote Telepresence for Exploring Virtual Worlds
Remote Telepresence for Exploring Virtual WorldsLarry Smarr
 
Remote Telepresence for Exploring Virtual Worlds
Remote Telepresence for Exploring Virtual WorldsRemote Telepresence for Exploring Virtual Worlds
Remote Telepresence for Exploring Virtual WorldsLarry Smarr
 

Similar to Engineering the software of robotic systems - 2 - Drones [ICSE 2017 - technical briefing] (20)

Deep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & FutureDeep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & Future
 
Prototyping Tools and Techniques with Reference to Design and Construction of...
Prototyping Tools and Techniques with Reference to Design and Construction of...Prototyping Tools and Techniques with Reference to Design and Construction of...
Prototyping Tools and Techniques with Reference to Design and Construction of...
 
ScadaLab Project
ScadaLab Project ScadaLab Project
ScadaLab Project
 
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-CentersTowards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
 
Use of Unmanned Aerial Systems for Hydrological Monitoring
Use of Unmanned Aerial Systems for Hydrological MonitoringUse of Unmanned Aerial Systems for Hydrological Monitoring
Use of Unmanned Aerial Systems for Hydrological Monitoring
 
Iciap 2
Iciap 2Iciap 2
Iciap 2
 
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...
 
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarityInteractions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
 
Exploring the national role and position of international technology diffusio...
Exploring the national role and position of international technology diffusio...Exploring the national role and position of international technology diffusio...
Exploring the national role and position of international technology diffusio...
 
La red de telescopios robóticos BOOTES y el proyecto GLORIA
La red de telescopios robóticos BOOTES y el proyecto GLORIALa red de telescopios robóticos BOOTES y el proyecto GLORIA
La red de telescopios robóticos BOOTES y el proyecto GLORIA
 
2014 electronic imaging
2014 electronic imaging2014 electronic imaging
2014 electronic imaging
 
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
Deep Learning for Computer Vision (1/4): Image Analytics @ laSalle 2016
 
Healthy Nutrition Under Asp-Prolog
Healthy Nutrition Under Asp-PrologHealthy Nutrition Under Asp-Prolog
Healthy Nutrition Under Asp-Prolog
 
3rd 3DDRESD: DRESD status @ July 2008
3rd 3DDRESD: DRESD status @ July 20083rd 3DDRESD: DRESD status @ July 2008
3rd 3DDRESD: DRESD status @ July 2008
 
IPIN'14: Foot-Mounted Inertial Navigation Made Easy
IPIN'14: Foot-Mounted Inertial Navigation Made EasyIPIN'14: Foot-Mounted Inertial Navigation Made Easy
IPIN'14: Foot-Mounted Inertial Navigation Made Easy
 
YOLO BASED SHIP IMAGE DETECTION AND CLASSIFICATION
YOLO BASED SHIP IMAGE DETECTION AND CLASSIFICATIONYOLO BASED SHIP IMAGE DETECTION AND CLASSIFICATION
YOLO BASED SHIP IMAGE DETECTION AND CLASSIFICATION
 
Tracing Tuples Across Dimensions: A Comparison of Scatterplots and Parallel C...
Tracing Tuples Across Dimensions: A Comparison of Scatterplots and Parallel C...Tracing Tuples Across Dimensions: A Comparison of Scatterplots and Parallel C...
Tracing Tuples Across Dimensions: A Comparison of Scatterplots and Parallel C...
 
Remote Telepresence for Exploring Virtual Worlds
Remote Telepresence for Exploring Virtual WorldsRemote Telepresence for Exploring Virtual Worlds
Remote Telepresence for Exploring Virtual Worlds
 
Remote Telepresence for Exploring Virtual Worlds
Remote Telepresence for Exploring Virtual WorldsRemote Telepresence for Exploring Virtual Worlds
Remote Telepresence for Exploring Virtual Worlds
 
Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014
 

More from 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
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionIvano Malavolta
 

More from Ivano Malavolta (20)

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
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perception
 

Recently uploaded

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 

Recently uploaded (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 

Engineering the software of robotic systems - 2 - Drones [ICSE 2017 - technical briefing]

  • 1. Federico Ciccozzi1, Davide Di Ruscio2, Ivano Malavolta3, Patrizio Pelliccione4, Jana Tumova5 1Malardalen University (Sweden) 2University of L’Aquila (Italy) 3Vrije Universiteit Amsterdam (The Netherlands) 4Chalmers University of Technology | GU (Sweden) 5KTH Royal Institute of Technology (Sweden) Engineering the software of robotic systems - FLYAQ UNIVERSITY OF L’AQUILA
  • 2. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 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 What is a drone?
  • 3. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Application scenario Mission to monitor the CO2 level in a geographical area by monitoring it along a grid composed of cells of size 12x12 meters Contextual entities obstacles emergency areas no fly zones home NO FLY ZONE
  • 4. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Mission modeling Mission Context Map MML BL Behavior specification Detailed flight plan synthesis Robot type models Mission Execution Engine this layer is extensible RL
  • 5. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Mask complexity • usable by non-technical experts • domain-specific concepts • separation of concerns Independence w.r.t. the types of robots • behaviour generation capability Reuse • context models • robot models Robots must be autonomous Principles Mission Context Map MML BL Behaviorspecification Detailed flight plan synthesis Robot type models Mission Execution EngineRL
  • 6. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Modeling languages Mission Context Map MML BL Behaviorspecification Detailed flight plan synthesis Robot type models Mission Execution EngineRL
  • 7. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 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 + software controller MML + synthesizer Involved stakeholders
  • 8. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Mission layer sequence of tasks executed by a team of robots Extension point Monitoring mission language (MML)
  • 9. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Photogrid task • identifies a virtual grid within an area • each cell of the grid has a size of n meters • each drone flies over each cell of the grid at an altitude of z meters and takes a picture of the ground Example of extension
  • 10. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Example (1) MML model (in the tool) NF1 NF2 home RT PGT
  • 11. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Example (2) Robot model (Parrot)
  • 12. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 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
  • 13. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Web UI Mission Design and Behaviour Synthesis request MML & drones configurations 1 2 MML concepts & drones 3 mission design 4 submit MML models 6 BL model and analysis results 5 behaviour analysis and synthesis 7 start mission Mission Execution Engine Mission modeling workflow
  • 14. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Mission execution Mission Execution Engine 6 send status* (continuous flow) start mission setup drone controllers * steps executed in parallel Monitoring Engine tasks execution commands* feedback* feedback* 25 1 3 4 C1 D1
  • 15. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
  • 16. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova s1 0 TakeOff(p1.z) s1 Mission entering s2s'''2 Goto(c1) s''2 Goto(c2) s'2 Goto(p1)Goto(home1)Land s1 f land1 Mission leaving s'1 Goto(c2) s''1 Goto(p1) v1 v1 1 Goto(q1) / DoPhoto(…) v2 1v16 1 … NoOp Mission tasks execution Goto(q16) / DoPhoto(…) NoOp r1 NoOp Goto(c1) v17 1 Flight plan synthesis MML Each MML task is constrained by: • geometry • behavioural strategy • actions
  • 17. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova q4= p2 q1= p1 q3 q14 q5 q6 q15 q16 q2 q13 q12 q11 q7 q8 q9 q10 p3 p4 c1 c2 p1 Synthesis method on the example
  • 18. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, and Patrizio Pelliccione. Adopting mde for specifying and executing civilian missions of mobile multi-robot systems. IEEE Access, PP(99):1–1, 2016. Darko Bozhinoski, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Massimo Tivoli (2015). FLYAQ: Enabling Non-Expert Users to Specify and Generate Missions of Autonomous Multicopters. In 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015). Darko Bozhinoski, Ivano Malavolta, Antonio Bucchiarone, Annapaola Marconi (2015). Sustainable Safety in Mobile Multi-Robot Systems via Collective Adaptation. In Ninth IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2015, Cambridge, Massachusetts, USA, September 21-25, 2015, Darko Bozhinoski (2015). Managing Safety and Adaptability in Mobile Multi-Robot Systems. In Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures, pp. 135–140. Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione (2014). A family of Domain-Specific Languages for specifying Civilian Missions of Multi-Robot Systems. In Proceedings of the 1st International Workshop on Model-Driven Robot Software Engineering (MORSE), pp. 13–26. Davide Di Ruscio and Ivano Malavolta and Patrizio Pelliccione (2014). The Role of Parts in the System Behaviour. In Software Engineering for Resilient Systems - 6th International Workshop, SERENE 2014, Budapest, Hungary, October 15-16, 2014. Proceedings, pp. 24–39. Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione (2013). Engineering a Platform for Mission Planning of Autonomous and Resilient Quadrotors. In Software Engineering for Resilient Systems - Fifth International Workshop, SERENE 2013, pp. 33–47. References
  • 19. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Backup slides
  • 20. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Tool support … ROS HTTPS and web sockets Web interface Editor for MML models M2M transformation + models validation + mission workflow manager Layer of controllers that interpret BL models at run-time HTML5, CSS3, JavaScript Java + OCL + Rosbridge Any technology supported by ROS Drone driver any C1 C2 C3 … Any protocol
  • 21. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova point line polygon volume Geometries supported by MML
  • 22. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova sweep(d) – full coverage of an area discretized by a grid whose cells dimension is d search(target, d) – visit performed on a d-sized grid towards the discovery of target (e.g., represented by a PNG image) track(m, m’, d) – it is like sweep(d) where m and m’are the visit restart and stop messages, respectively Actions: • taking a picture • making a video • detecting the presence of CO2 • etc. Strategies supported by MML
  • 23. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Let’s go back to the example… NF1 NF2 home RT PGT
  • 24. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Context = ( (NF1,NF2), (OB) ) PGT = ( (p1,p2,p3,p4,p1), sweep(10), (doPhoto(2480 3508), i) ) Swarm ={ (d1, {PGT}), (d2, {PGT}), (d3, {RT}) } Task dependency graph ( (t0, PGT, RT, t3), ∅ ∪ { (t0, {PGT, RT}) } ∪ { ({PGT, RT}, t3) } ) t0 PGT RT t3 Synthesis method on the example
  • 25. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova • Safety • avoidance of collisions (P1), and of traversing no-fly zones (P2) • no concurrency issues (P3) • P1&P2 • correct and complete specification • thanks to specific auxiliary functions • volume partitioning algorithms • visibility graph • coverage path planning • P3 • partitioning in independent areas • no message lost • sound mechanisms for sequencing, join, and fork • a drone cannot be involved in concurrent tasks Properties of the synthesized BL model
  • 26. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova EXPERIMENTATION models@runtime to control the mission execution and manage adaptation Support other types of robots Mission Execution Engine navigation commands (MAVLink) telemetry (MAVLink) C1 MAV Proxy Drone Kit Arducopter physics simulator physics data Google Earth drones positions at run-time Future work
  • 27. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova BL model automatic synthesis BL Mission entering Mission leaving Mission tasks execution … … dn … d2 … d1 State transition State Synchronization and communication message Flight plan synthesis MML